KR20010041282A - 정보 처리 장치 및 방법, 및 프로그램 저장 매체 - Google Patents

정보 처리 장치 및 방법, 및 프로그램 저장 매체 Download PDF

Info

Publication number
KR20010041282A
KR20010041282A KR1020007009381A KR20007009381A KR20010041282A KR 20010041282 A KR20010041282 A KR 20010041282A KR 1020007009381 A KR1020007009381 A KR 1020007009381A KR 20007009381 A KR20007009381 A KR 20007009381A KR 20010041282 A KR20010041282 A KR 20010041282A
Authority
KR
South Korea
Prior art keywords
content
data
information
cpu
stored
Prior art date
Application number
KR1020007009381A
Other languages
English (en)
Other versions
KR100654879B1 (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 KR20010041282A publication Critical patent/KR20010041282A/ko
Application granted granted Critical
Publication of KR100654879B1 publication Critical patent/KR100654879B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • 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
    • 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/00173Circuits 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 wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
    • 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/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00666Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of erasing or nullifying data, e.g. data being overwritten with a random string
    • 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/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00753Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags
    • G11B20/00768Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags wherein copy control information is used, e.g. for indicating whether a content may be copied freely, no more, once, or never, by setting CGMS, SCMS, or CCI flags
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/0084Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific time or date
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

콘텐츠 데이터 베이스(114)는, 콘텐츠를 식별하는 식별 정보와, 식별 정보에 대응하여, 콘텐츠가 복제될 때의 시각 정보를 기억한다. 녹음 프로그램(113)은, 복제하려고 하는 콘텐츠의 식별 정보를 취득하여, 취득된 식별 정보와, 콘텐츠 데이터 베이스(114)에 기억되어 있는 시각 정보에 대응하여, 콘텐츠를 복제한다. 이것에 의해 사용자의 이익을 크게 손상시키지 않고, 대량의 복제를 실질적으로 금지한다.

Description

정보 처리 장치 및 방법, 및 프로그램 저장 매체{INFORMATION PROCESSING DEVICE AND METHOD, AND PROGRAM STORAGE MEDIUM}
저작권이 설정되어 있는 AV 콘텐츠 (예를 들면, 음악이나 화상)의 복제를 제한하는 방법으로서, SCMS(Serial Copy Management System), CGMS(Copy Generation Management System) 등이 제안되어 있다.
이들 시스템에 있어서는, 도 1에 도시한 바와 같이, 저작권이 설정된 콘텐츠 A1 (제1세대)을 복제하고, 콘텐츠 A2 (제2세대)를 얻는 것은 (기록하는 것은) 가능하지만, 콘텐츠 A2 (제2세대) 자체를 더욱 복제하여, 콘텐츠 A3 (제3세대)을 얻는 것은 불가능하다.
〈발명의 개시〉
그러나, 이 경우, 도 1에 도시한 바와 같이, 콘텐츠 A1의 복제를 반복함으로써, 복수의 제2세대의 콘텐츠 A2를 얻을 수 있고, 콘텐츠 A1의 저작권이 충분히 보호되지 않는 과제가 있었다.
그래서, 콘텐츠 A1을 한번만 복제할 수가 있도록 한 방법으로서, UCS(Uni Copy System)가 제안되어 있지만, 이 경우, 사용자는, 개인의 사용의 범위에 있어서도, 한번밖에 복제할 수가 없어, 사용자에게 불이익을 제공하는 과제가 있었다.
본 발명은 이러한 상황에 감안하여 이루어진 것으로, 사용자의 이익을 크게 손상시키지 않고, 대량의 복제를 실질적으로 금지할 수가 있도록 하는 것이다.
본 발명에서는, 콘텐츠를 식별하는 식별 정보와, 식별 정보에 대응하여, 콘텐츠가 복제되었을 때의 시각 정보가 기억되고, 복제하려고 하는 콘텐츠의 식별 정보가 취득되고, 취득된 식별 정보와, 기억되어 있는 시각 정보에 대응하여, 콘텐츠가 복제된다.
즉, 본 발명에 따른 정보 처리 장치는, 콘텐츠를 식별하는 식별 정보와, 식별 정보에 대응하여, 콘텐츠가 복제되었을 때의 시각 정보를 기억하는 기억 수단과, 복제하려고 하는 콘텐츠의 식별 정보를 취득하는 취득 수단과, 취득 수단에 의해 취득된 식별 정보와, 기억 수단에 기억되어 있는 시각 정보에 대응하여, 콘텐츠를 복제하는 복제 수단을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 정보 처리 방법은, 콘텐츠를 식별하는 식별 정보와, 식별 정보에 대응하여, 콘텐츠가 복제되었을 때의 시각 정보를 기억하는 기억 스텝과, 복제하려고 하는 콘텐츠의 식별 정보를 취득하는 취득 스텝과, 취득 스텝에서 취득된 식별 정보와, 기억 스텝에서 기억된 시각 정보에 대응하여, 콘텐츠를 복제하는 복제 스텝을 포함하는 것을 특징으로 한다.
또한, 본 발명에 따른 프로그램 저장 매체의 프로그램은, 콘텐츠를 식별하는 식별 정보와, 식별 정보에 대응하여, 콘텐츠가 복제되었을 때의 시각 정보를 기억하는 기억 스텝과, 복제하려고 하는 콘텐츠의 식별 정보를 취득하는 취득 스텝과, 취득 스텝에서 취득된 식별 정보와, 기억 스텝에서 기억된 시각 정보에 대응하여, 콘텐츠를 복제하는 복제 스텝을 포함하는 것을 특징으로 한다.
본 발명은, 정보 처리 장치 및 방법, 및 프로그램 저장 매체에 관한 것으로,특히, 예를 들면, 콘텐츠의 복제를 적절하게 제한할 수 있도록 한 정보 처리 장치 및 방법, 및 프로그램 저장 매체에 관한 것이다.
도 1은 SCMS 및 CGMS를 설명하기 위한 도면.
도 2는 본 발명에 따른 음성 데이터 관리 시스템의 일 실시예를 나타내는 도면.
도 3은 상기 음성 데이터 관리 시스템에 있어서의 퍼스널 컴퓨터(1)의 구성을 설명하는 도면.
도 4는 상기 음성 데이터 관리 시스템에 있어서의 포터블 디바이스의 구성을 설명하는 도면.
도 5는 상기 퍼스널 컴퓨터(1)의 기능의 구성을 설명하는 블록도.
도 6은 상기 퍼스널 컴퓨터(1)에 있어서의 녹음 프로그램이 디스플레이에 표시시키는 윈도우의 예를 설명하는 도면.
도 7은 상기 퍼스널 컴퓨터(1)에 있어서 컴팩트 디스크로부터 HDD에 복사하는 경우의 처리를 설명하는 플로우차트.
도 8은 도 7에 도시한 플로우차트에 있어서의 스텝 S12의 기한 데이터 베이스 체크 처리를 설명하는 플로우차트.
도 9는 기한 데이터 베이스의 예를 나타내는 도면.
도 10은 워터마크를 설명하는 도면.
도 11은 곡 데이터 베이스의 예를 나타내는 도면.
도 12A, 도 12B 및 12C는 HDD로부터 포터블 디바이스 데이터를 이동하는 동작을 설명하는 플로우차트.
도 13은 도 12A에 도시한 플로우차트에 있어서의 스텝 S55의 선택곡의 재생 조건 등의 체크 처리를 설명하는 플로우차트.
도 14는 포터블 디바이스(6)가 관리하고 있는 재생 조건을 설명하는 도면.
도 15는 도 12A에 도시한 플로우차트에 있어서의 스텝 S58의 포맷 변환 처리의 상세를 설명하는 플로우차트.
도 16A, 도 16B 및 도 16C는 HDD(21)로부터 포터블 디바이스(6)로 데이터를 복사하는 경우의 동작을 설명하는 플로우차트.
도 17은 포터블 디바이스로부터 HDD로 데이터를 이동하는 경우의 동작을 설명하는 플로우차트.
도 18은 포터블 디바이스로부터 HDD로 데이터를 복사하는 경우의 동작을 설명하는 플로우차트.
도 19는 EMD 서버로부터 HDD로 데이터를 복사하는 경우의 처리를 설명하는 플로우차트.
도 20은 도 19에 도시한 플로우차트에 있어서의 스텝 S204의 과금에 관한 처리의 상세를 설명하는 플로우차트.
도 21은 과금 로그를 설명하는 도면.
도 22A 및 도 22B는 상기 퍼스널 컴퓨터(1)의 IEC60958 단자로부터 HDD로 데이터를 복사하는 경우의 처리를 설명하는 플로우차트.
도 23A 및 도 23B는 HDD로부터 IEC60958 단자로 데이터를 출력하는 경우의 동작을 설명하는 플로우차트.
도 24는 도 23A에 도시한 플로우차트에 있어서의 스텝 S275의 재생 조건 등의 체크 처리를 설명하는 플로우차트.
도 25A 및 도 25B는 HDD로부터 포터블 디바이스 경유로 데이터를 출력하는 경우의 동작을 설명하는 플로우차트.
도 26은 상기 퍼스널 컴퓨터(1)의 어댑터에 구비된 불휘발성 메모리의 기능을 설명하는 도면.
도 27은 상기 어댑터의 동작을 설명하는 플로우차트.
도 28은 상기 어댑터의 내부의 구성을 나타내는 도면.
도 29A 및 도 29B는 상기 불휘발성 메모리의 내부의 구성예를 나타내는 도면.
도 30은 상기 불휘발성 메모리의 내부의 구성예를 나타내는 도면.
〈도면의 주요 부분에 대한 부호의 설명〉
111: 콘텐츠 관리 프로그램
112: 표시 조작 지시 프로그램
113: 녹음 프로그램
114: 콘텐츠 데이터 베이스
115: 구입용 어플리케이션 프로그램
〈발명을 실시하기 위한 최량의 형태〉
이하, 본 발명을 실시하기 위한 최량의 형태에 대해, 도면을 참조하면서 상세히 설명한다.
도 2는, 본 발명에 따른 음성 데이터 관리 시스템의 일 실시예를 나타내는 도면이다. 퍼스널 컴퓨터(1)는, 근거리 통신망(LAN) 또는 인터넷 등으로 이루어지는네트워크(2)에 접속되어 있다. 퍼스널 컴퓨터(1)는, EMD(Elecrical Music Distribution) 서버(4-1 내지 4-3)로부터 수신하거나, 또는 후술하는 CD(Compact Disc)로부터 판독한 음악의 데이터 (이하, 콘텐츠라 칭한다)를, 소정의 압축 방식 [예를 들면, ATRAC3 (상표)]로 변환함과 함께 DES(Data Encryption Standard) 등의 암호화 방식으로 암호화하여 기록한다.
퍼스널 컴퓨터(1)는 암호화하여 기록하고 있는 콘텐츠에 대응하여, 콘텐츠의 이용 조건을 나타내는 이용 조건의 데이터를 기록한다. 이용 조건의 데이터는, 예를 들면, 그 이용 조건의 데이터에 대응하는 콘텐츠를 동시에 3대의 포터블 디바이스[Portable Device (PD라고도 칭한다): 6-1 내지 6-3]로 이용할 수 있는, 복사 [포터블 디바이스(6-1 내지 6-3)에 콘텐츠를 기억시켜도, 퍼스널 컴퓨터(1)가 기록하고 있는 콘텐츠는 사용할 수 있다. 포터블 디바이스(6-1 내지 6-3)에 콘텐츠를 기억시킬 수 있는 횟수는 제한되는 경우가 있다. 이 경우, 그 횟수는 증대되지 않는다. ] 할 수가 있는, 다른 퍼스널 컴퓨터(1)로 이동하는 [포터블 디바이스(6-1 내지 6-3)에 콘텐츠를 기억시킨 후, 퍼스널 컴퓨터(1)가 기록하고 있는 콘텐츠는 사용할 수 없게 된다. ) 것이 가능한 것을 등을 나타낸다. 이용 조건의 데이터의 상세는, 후술한다.
퍼스널 컴퓨터(1)는, 암호화하여 기록하고 있는 콘텐츠를, 콘텐츠에 관련된 데이터 (예를 들면, 곡명, 또는 재생 조건 등)와 함께, USB(Universal Sirial Bus) 케이블(7-1)을 통해, 접속되어 있는 포터블 디바이스(6-1)에 기억시킴과 함께 포터블 디바이스(6-1)에 기억시킨 것에 대응하여, 기억시킨 콘텐츠에 대응하는 이용 조건의 데이터를 갱신한다 (이하, 체크아웃이라 칭한다). 보다 상세하게는, 체크아웃했을 때, 퍼스널 컴퓨터(1)가 기록하고 있는, 그 콘텐츠에 대응하는 이용 조건의 데이터가 체크아웃할 수 있는 횟수는, 1감소된다. 체크아웃할 수 있는 횟수가 0일 때, 대응하는 콘텐츠는 체크아웃할 수 없다.
퍼스널 컴퓨터(1)는, 암호화하여 기록하고 있는 콘텐츠를, 콘텐츠에 관련된 데이터와 함께, USB 케이블(7-2)을 통해, 접속되어 있는 포터블 디바이스(6-2)에 기억시킴과 함께, 포터블 디바이스(6-2)에 기억시킨 것에 대응하여, 기억시킨 콘텐츠에 대응하는 이용 조건의 데이터를 갱신한다. 퍼스널 컴퓨터(1)는, 암호화하여 기록하고 있는 콘텐츠를, 콘텐츠에 관련된 데이터와 함께, USB 케이블(7-3)을 통해, 접속되어 있는 포터블 디바이스(6-3)에 기억시킴과 함께, 포터블 디바이스(6-3)에 기억시킨 것에 대응하여, 기억시킨 콘텐츠에 대응하는 이용 조건의 데이터를 갱신한다.
또한, 퍼스널 컴퓨터(1)는, USB 케이블(7-1)을 통해, 접속되어 있는 포터블 디바이스(6-1)에 퍼스널 컴퓨터(1)가 체크아웃한 콘텐츠를, 포터블 디바이스(6-1)에 소거시켜서 (또는, 사용할 수 없게 하여), 소거시킨 콘텐츠에 대응하는 이용 조건의 데이터를 갱신한다 (이하, 체크인이라 칭한다). 보다 상세하게는, 체크인했을 때, 퍼스널 컴퓨터(1)가 기록하고 있는, 대응하는 콘텐츠의 이용 조건의 데이터가 체크아웃할 수 있는 횟수는 1 증대된다.
퍼스널 컴퓨터(1)는, USB 케이블(7-2)을 통해, 접속되어 있는 포터블 디바이스(6-2)에 퍼스널 컴퓨터(1)가 체크아웃한 콘텐츠를, 포터블 디바이스(6-2)에 소거시켜서 (또는, 사용할 수 없게 하여서), 소거시킨 콘텐츠에 대응하는 이용 조건의 데이터를 갱신한다. 퍼스널 컴퓨터(1)는, USB 케이블(7-3)을 통해, 접속되어 있는 포터블 디바이스(6-3)에 퍼스널 컴퓨터(1)가 체크아웃한 콘텐츠를, 포터블 디바이스(6-3)에 소거시켜서 (또는, 사용할 수 없게 하여), 소거시킨 콘텐츠에 대응하는 이용 조건의 데이터를 갱신한다.
퍼스널 컴퓨터(1)는, 도시하지 않은 다른 퍼스널 컴퓨터(1)가 포터블 디바이스(6-1)에 체크아웃한 콘텐츠를 체크인할 수 없다. 퍼스널 컴퓨터(1)는, 다른 퍼스널 컴퓨터(1)가 포터블 디바이스(6-2)에 체크아웃한 콘텐츠를 체크인할 수 없다. 퍼스널 컴퓨터(1)는, 다른 퍼스널 컴퓨터(1)가 포터블 디바이스(6-3)에 체크아웃한 콘텐츠를 체크인할 수 없다.
EMD 등록 서버(3)는, 퍼스널 컴퓨터(1)가 EMD 서버(4-1 내지 4-3)로부터 콘텐츠의 취득을 개시할 때, 퍼스널 컴퓨터(1)의 요구에 대응하여, 네트워크(2)를 통해, 퍼스널 컴퓨터(1)와 EMD 서버(4-1 내지 4-3)와의 상호 인증에 필요한 인증 열쇠를 퍼스널 컴퓨터(1)에 송신함과 함께, EMD 서버(4-1 내지 4-3)에 접속하기 위한 프로그램을 퍼스널 컴퓨터(1)에 송신한다.
EMD 서버(4-1)는 퍼스널 컴퓨터(1)의 요구에 대응하여, 네트워크(2)를 통해, 콘텐츠에 관련된 데이터 (예를 들면, 곡명, 또는 재생 제한 등)와 함께, 퍼스널 컴퓨터(1)에 콘텐츠를 공급한다. EMD 서버(4-2)는, 퍼스널 컴퓨터(1)의 요구에 대응하여, 네트워크(2)를 통해, 콘텐츠에 관련된 데이터와 함께, 퍼스널 컴퓨터(1)에 콘텐츠를 공급한다. EMD 서버(4-3)는 퍼스널 컴퓨터(1)의 요구에 대응하여, 네트워크(2)를 통해 콘텐츠에 관련된 데이터와 함께, 퍼스널 컴퓨터(1)에 콘텐츠를 공급한다.
EMD 서버(4-1 내지 4-3)의 각각이 공급하는 콘텐츠는, 동일 또는 다른 압축의 방식으로 압축되어 있다. EMD 서버(4-1 내지 4-3)의 각각이 공급하는 콘텐츠는, 동일 또는 다른 암호화의 방식으로 암호화되어 있다.
WWW(World Wide Web) 서버(5-1)는, 퍼스널 컴퓨터(1)의 요구에 대응하여, 네트워크(2)를 통해, 콘텐츠를 판독한 CD (예를 들면, CD의 앨범명, 또는 CD의 판매 회사 등), 및 CD로부터 판독한 콘텐츠에 대응하는 데이터 (예를 들면, 곡명, 또는 작곡자명 등)를 퍼스널 컴퓨터(1)에 공급한다. WWW 서버(5-2)는, 퍼스널 컴퓨터(1)의 요구에 대응하여, 네트워크(2)를 통해 콘텐츠를 판독한 CD, 및 CD로부터 판독한 콘텐츠에 대응하는 데이터를 퍼스널 컴퓨터(1)에 공급한다.
포터블 디바이스(6-1)는, 퍼스널 컴퓨터(1)로부터 공급된 콘텐츠 (즉, 체크아웃된 콘텐츠)를, 콘텐츠에 관련된 데이터 (예를 들면, 곡명, 또는 재생 제한 등)와 함께 기억한다. 포터블 디바이스(6-1)는, 콘텐츠에 관련된 데이터에 기초하여, 기억하고 있는 콘텐츠를 재생하고, 도시하지 않은 헤드폰 등으로 출력한다.
예를 들면, 콘텐츠에 관련된 데이터로서 기억되어 있는, 재생 제한으로서의 재생 횟수를 초과하여 재생하려고 하였을 때, 포터블 디바이스(6-1)는, 대응하는 콘텐츠의 재생을 정지한다. 콘텐츠에 관련된 데이터로서 기억되어 있는 재생 제한으로서의, 재생 기한을 넘긴 후에 재생하려고 하였을 때, 포터블 디바이스(6-1)는 대응하는 콘텐츠의 재생을 정지한다.
사용자는, 콘텐츠를 기억한 포터블 디바이스(6-1)를 퍼스널 컴퓨터(1)로부터 꺼내서 갖고 다니고, 기억하고 있는 콘텐츠를 재생시켜서, 콘텐츠에 대응하는 음악등을 헤드폰 등으로 들을 수 있다.
포터블 디바이스(6-2)는, 퍼스널 컴퓨터(1)로부터 공급된 콘텐츠를, 콘텐츠에 관련된 데이터와 함께 기억한다. 포터블 디바이스(6-2)는, 콘텐츠에 관련된 데이터에 기초하여, 기억하고 있는 콘텐츠를 재생하고, 도시하지 않은 헤드폰 등으로 출력한다. 사용자는, 콘텐츠를 기억한 포터블 디바이스(6-2)를 퍼스널 컴퓨터(1)로부터 꺼내서 갖고 다니고, 기억하고 있는 콘텐츠를 재생시켜서, 콘텐츠에 대응하는 음악 등을 헤드폰 등으로 들을 수 있다.
포터블 디바이스(6-3)는, 퍼스널 컴퓨터(1)로부터 공급된 콘텐츠를, 콘텐츠에 관련된 데이터와 함께 기억한다. 포터블 디바이스(6-3)는, 콘텐츠에 관련된 데이터에 기초하여 기억하고 있는 콘텐츠를 재생하고, 도시하지 않은 헤드폰 등으로 출력한다. 사용자는, 콘텐츠를 기억한 포터블 디바이스(6-3)를 퍼스널 컴퓨터(1)로부터 꺼내서 갖고 다니고, 기억하고 있는 콘텐츠를 재생시켜서, 콘텐츠에 대응하는 음악 등을 헤드폰 등으로 들을 수 있다.
이하, 포터블 디바이스(6-1 내지 6-3)를 개개로 구별할 필요가 없을 때, 단순히 포터블 디바이스(6)라 칭한다.
도 3은, 퍼스널 컴퓨터(1)의 구성을 설명하는 도면이다. CPU(Central Processing Unit: 11)는, 각종 어플리케이션 프로그램 (상세에 대해서는 후술한다)나, OS(Operating System)를 실제로 실행한다. ROM(Read Only Memory: 12)은, 일반적으로는, CPU(11)가 사용하는 프로그램이나 연산용의 파라미터 중의 기본적으로 고정의 데이터를 저장한다. RAM(Random Access Memory: 13)은, CPU(11)의 실행에 있어서 사용하는 프로그램이나, 그 실행에 있어서 적절하게 변화하는 파라미터를 저장한다. 이들은 CPU 버스 등으로 구성되는 호스트 버스(14)에 의해 서로 접속되어 있다.
호스트 버스(14)는, 브릿지(15)를 통해, PCI(Peripheral Component Interconnect/Interface) 버스 등의 외부 버스(16)에 접속되어 있다.
키보드(18)는, CPU(11)에 각종의 지령을 입력할 때, 사용자에 의해 조작된다. 마우스(19)는, 디스플레이(20)의 화면 상의 포인트의 지시나 선택을 행할 때, 사용자에 의해 조작된다. 디스플레이(20)는, 액정 표시 장치 또는 CRT(Cathode Ray Tube) 등으로 이루어지고, 각종 정보를 텍스트나 이미지로 표시한다. HDD(Hard Disk Drive: 21)는, 하드디스크를 구동하고, 이들에 CPU(11)에 의해 실 행하는 프로그램이나 정보를 기록 또는 재생시킨다.
드라이브(22)는, 장착되어 있는 자기 디스크(41), 광 디스크(42: CD를 포함한다), 광자기 디스크(43), 또는 반도체 메모리(44)에 기록되어 있는 데이터 또는 프로그램을 판독하여, 그 데이터 또는 프로그램을, 인터페이스(17), 외부 버스(16), 브릿지(15), 및 호스트 버스(14)를 통해 접속되어 있는 RAM(13)으로 공급한다.
USB 포트(23-1)에는, USB 케이블(7-1)을 통해 포터블 디바이스(6-1)가 접속된다. USB 포트(23-1)는, 인터페이스(17), 외부 버스(16), 브릿지(15), 또는 호스트 버스(14)를 통해 HDD(21), CPU(11), 또는 RAM(13)으로부터 공급된 데이터 [예를 들면, 콘텐츠 또는 포터블 디바이스(6-1)의 커맨드 등을 포함한다]를 포터블 디바이스(6-1)로 출력한다.
USB 포트(23-2)에는, USB 케이블(7-2)을 통해, 포터블 디바이스(6-2)가 접속된다. USB 포트(23-2)는 인터페이스(17), 외부 버스(16), 브릿지(15), 또는 호스트 버스(14)를 통해 HDD(21), CPU(11), 또는 RAM(13)으로부터 공급된 데이터 [예를 들면, 콘텐츠 또는 포터블 디바이스(6-2)의 커맨드 등을 포함한다]를 포터블 디바이스(6-2)로 출력한다.
USB 포트(23-3)에는, USB 케이블(7-3)을 통해 포터블 디바이스(6-3)가 접속된다. USB 포트(23-3)는 인터페이스(17), 외부 버스(16), 브릿지(15), 또는 호스트 버스(14)를 통해 HDD(21), CPU(11), 또는 RAM(13)으로부터 공급된 데이터 [예를 들면, 콘텐츠 또는 포터블 디바이스(6-3)의 커맨드 등을 포함한다)를 포터블 디바이스(6-3)로 출력한다.
IEC (Internationl Electrotechnical Comnission) 60958 단자를 갖는 음성 입출력 인터페이스(4)는 디지털 음성 입출력, 혹은 아날로그 음성 입출력의 인터페이스 처리를 실행한다. 스피커(45)는 음성 입출력 인터페이스(24)로부터 공급된 음성 신호를 기초로, 콘텐츠에 대응하는 소정의 음성을 출력한다.
이들 키보드(18) 내지 음성 입출력 인터페이스(24)는, 인터페이스(17)에 접속되어 있고, 인터페이스(17)는 외부 버스(16), 브릿지(15), 및 호스트 버스(14)를 통해 CPU(11)에 접속되어 있다.
통신부(25)는 네트워크(2)가 접속되고, CPU(11), 또는 HDD(21)로부터 공급된 데이터 (예를 들면, 등록의 요구, 또는 콘텐츠의 송신 요구 등)를, 소정의 방식의 패킷에 저장하여, 네트워크(2)를 통해 송신함과 함께, 네트워크(2)를 통해, 수신한 패킷에 저장되어 있는 데이터 (예를 들면, 인증 열쇠, 또는 콘텐츠 등)를 CPU(11), RAM(13), 또는 HDD(21)로 출력한다.
반도체 IC로서, 일체적으로 형성되고, 퍼스널 컴퓨터(1)에 장착되는 어댑터(26)의 CPU(32)는 외부 버스(16), 브릿지(15), 및 호스트 버스(14)를 통해 퍼스널 컴퓨터(1)의 CPU(11)와 협동하고, 각종의 처리를 실행한다. RAM(33)은, CPU(32)가 각종의 처리를 실행하기 위해 필요한 데이터나 프로그램을 기억한다. 불휘발성 메모리(34)는, 퍼스널 컴퓨터(1)의 전원이 오프된 후에도 보유할 필요가 있는 데이터를 기억한다. ROM(36)에는, 퍼스널 컴퓨터(1)로부터, 암호화되어 있는 프로그램이 전송되어 왔을 때, 그것을 복호하는 프로그램이 기억되어 있다. RTC(Real Time Clock: 35)는 계시 동작을 실행하고, 시각 정보를 제공한다.
통신부(25) 및 어댑터(26)는 외부 버스(16), 브릿지(15), 및 호스트 버스(14)를 통해 CPU(11)에 접속되어 있다.
이하, USB 포트(23-1 내지 23-3)를 개개로 구별할 필요가 없을 때, 단순히, USB 포트(23)라 칭한다. 이하, USB 케이블(7-1 내지 7-3)을 개개로 구별할 필요가 없을 때, 단순히 USB 케이블(7)이라 칭한다.
다음에, 포터블 디바이스(6)의 구성을 도 4를 참조하여 설명한다. 전원 회로(52)는 건전지(51)로부터 공급되는 전원 전압을 소정 전압의 내부 전력으로 변환하여, CPU(53) 내지 표시부(67)에 공급함으로써, 포터블 디바이스(6) 전체를 구동시킨다.
USB 컨트롤러(57)는, USB 커넥터(56)를 통해 퍼스널 컴퓨터(1)와 USB 케이블(7)을 통해 접속된 경우, 퍼스널 컴퓨터(1)로부터 전송된 콘텐츠를, 내부 버스(58)를 통해 CPU(53)에 공급한다.
콘텐츠는, 1패킷당 64바이트의 데이터로 구성되며, 12Mbit/sec의 전송레이트로 퍼스널 컴퓨터(1)로부터 전송된다.
포터블 디바이스(6)에 전송되는 콘텐츠는, 헤더 및 음성 데이터 (콘텐츠의 실체인, 음성 신호에 대응한 데이터)로 구성되고, 헤더에는 파일명, 헤더 사이즈, 콘텐츠 열쇠, 파일 사이즈, 코덱 ID, 파일 정보 등이 저장되어 있음과 함께, 재생 제한 처리에 필요한 재생 제한 데이터, 개시 일시, 종료 일시, 횟수 제한, 및 재생 횟수 카운터 등이 저장되어 있다. 음성 데이터는 ATRAC3 등의 부호화 방식으로 부호화되고, 암호화되어 있는, 소정의 곡의 음성 신호에 대응하는 데이터이다.
헤더 사이즈는 헤더의 데이터 길이 (예를 들면, 33 바이트등)를 나타내고, 파일 사이즈는 음성 데이터의 데이터 길이 (예를 들면, 33,636, 138 바이트 등)를 나타낸다.
콘텐츠 열쇠는, 암호화되어 있는 음성 데이터를 복호하기 위한 열쇠이고, 퍼스널 컴퓨터(1)와 포터블 디바이스(6)와의 상호 인증의 처리로 생성된 세션 열쇠 (일시 열쇠)를 기초로 암호화된 상태에서, 퍼스널 컴퓨터(1)로부터 포터블 디바이스(6)로 송신된다.
포터블 디바이스(6)가 USB 케이블(7)을 통해 퍼스널 컴퓨터(1)의 USB 포트(23)에 접속되었을 때, 포터블 디바이스(6)와 퍼스널 컴퓨터(1)는, 상호 인증의 처리를 실행한다. 이 상호 인증의 처리는, 예를 들면, 챌린지 응답 방식의 인증의 처리이다. 덧붙여서 말하면, 포터블 디바이스(6)의 DSP(59)는, 챌린지 응답 방식의 인증의 처리를 행할 때, 암호 해독 (복호)의 처리를 실행한다.
챌린지 응답 방식이란, 예를 들면, 퍼스널 컴퓨터(1)가 생성하는 어떤 값(챌린지)에 대하여, 포터블 디바이스(6)가 퍼스널 컴퓨터(1)와 공유하고 있는 비밀 열쇠를 사용하여 생성한 값 (응답)으로 응답하는 방식이다. 챌린지 응답 방식의 상호 인증의 처리에 있어서는, 퍼스널 컴퓨터(1)가 생성하는 값은 인증의 처리마다 매회 변화하기 때문에, 예를 들면, 포터블 디바이스(6)가 출력한, 비밀 열쇠를 사용하여 생성된 값이 판독되어, 소위, 크래커의 공격을 받더라도, 다음의 상호 인증의 처리에서는, 상호 인증에 사용되는 값이 다르기 때문에, 퍼스널 컴퓨터(1)는 부정을 검출할 수 있다.
코덱 ID는, 음성 데이터의 부호화 방식에 대응한 ID이며, 예를 들면, 코덱 ID"1"는 ATRAC3에 대응하고, 코덱 ID"0"은, MP3[MPEG(Moving Picture Experts Group) Audio Layer-3]에 대응한다.
파일명은, 콘텐츠에 대응하는 퍼스널 컴퓨터(1)가 기록하고 있는 콘텐츠 파일 (후술한다)을 ASCII(American National Standard Code for Information lnterchange) 코드로 변환한 데이터이고, 파일 정보는 콘텐츠에 대응하는 곡명, 아티스트명, 작사자명, 또는 작곡자명 등을 ASCII 코드로 변환한 데이터이다.
재생 제한 데이터는, 콘텐츠의 재생이 가능한 기간 (즉, 개시 일시 또는 종료 일시) 또는 횟수 제한 (재생 횟수의 제한)이 설정되어 있는지의 여부를 나타내는 데이터이다. 재생 제한 데이터에는, 횟수 제한이 설정되어 있을 때, "1"이 할당되고, 재생이 가능한 기간이 설정되어 있을 때, "2"가 할당되고, 횟수 제한 및 재생이 가능한 기간이 어느 것이나 설정되어 있지 않을 때 (소위, 반환 불가 매입으로 구입될 때), "O"이 할당된다.
개시 일시 및 종료 일시는, 재생 제한 데이터가 "2"일 때, 재생 가능 기간의 범위를 나타내는 데이터이다. 예를 들면, 개시 일시가 "00040F"이고, 종료 일시가 "00070F"일 때, 대응하는 콘텐츠는 2000년 4월 15일부터 2000년 7월 15일까지, 재생이 가능하다.
마찬가지로, 횟수 제한 및 재생 횟수 카운터는, 재생 제한 데이터가 "1" 또는 "2"일 때, 횟수 제한은 그 콘텐츠에 대응하여 미리 설정된 재생 가능한 횟수이고, 재생 횟수 카운터는 그 콘텐츠의 재생의 처리를 실행했을 때 CPU(53)에 의해 갱신되는, 콘텐츠가 재생된 횟수를 나타낸다. 예를 들면, 횟수 제한이 "02"일 때, 그 콘텐츠의 재생 가능한 횟수는 2회이며, 재생 횟수 카운터가 "01"일 때, 그 콘텐츠가 재생된 횟수는 1회이다.
예를 들면, 재생 제한 데이터가 "2"이고, 개시 일시가 "00040F"이고, 종료일시가 "00070F"이며, 재생 제한 데이터가 "2"일 때, 포터블 디바이스(6)는 대응하는 콘텐츠를, 2000년 4월 15일부터 2000년 7월 15일까지의 기간에 있어서, 1일 2회 씩 반복하여 재생할 수 있다.
예를 들면, 재생 제한 데이터가 "1"이고, 개시 일시가 "O000O0"이고, 종료일시가 "O00000"이며, 재생 제한 데이터가 "0a"이며, 재생 횟수 카운터가 "05"일 때, 대응하는 콘텐츠는 재생 가능한 기간의 제한이 없이, 재생 가능한 횟수가 10회이며, 재생된 횟수가 5회이다.
포터블 디바이스(6)가, 퍼스널 컴퓨터(1)로부터 콘텐츠와 함께 콘텐츠의 기록 명령을 수신한 경우, ROM(55)으로부터 RAM(54)에 판독한 메인 프로그램을 실행하는 CPU(53)는, 기입 명령을 수취하고, 플래시 메모리 컨트롤러(60)를 제어하여, 퍼스널 컴퓨터(1)로부터 수신한 콘텐츠를 플래시 메모리(61)에 기입시킨다.
플래시 메모리(61)는, 약 64MByte의 기억 용량을 지니고, 콘텐츠 (음성 데이터)를 기억한다. 또한, 플래시 메모리(61)에는, 소정의 압축 방식으로 압축되어 있는 음성 데이터를 신장하기 위한 재생용 코드가 미리 저장되어 있다.
또, 플래시 메모리(61)는, 포터블 디바이스(6)에 착탈 가능하게 할 수 있다.
사용자에 의한, 도시하지 않은 재생/정지 버튼의 누름 조작에 대응한 재생 명령이 조작 키 컨트롤러(62)를 통해 CPU(53)에 공급되면, CPU(53)는 플래시 메모리 컨트롤러(60)에, 플래시 메모리(61)로부터, 재생용 코드와 음성 데이터를 판독시켜, DSP(59)로 전송시킨다.
DSP(59)는, 플래시 메모리(61)로부터 전송된 재생용 코드에 기초하여 음성 데이터를 CRC(Cyclic Redundancy Check) 방식으로 오류 검출을 한 후, 재생하여, 재생한 데이터 (도 4 중에 있어서 D1로 나타낸다)를 디지털/아날로그 변환 회로(63)에 공급한다.
DSP(59)는, 내부에 설치된 도시하지 않은 발신 회로와 함께 일체로 구성되고, 외부 부착된 수정으로 이루어지는 발신자(59A)로부터의 마스터 클럭 MCLK를 기초로, 음성 데이터를 재생함과 함께, 마스터 클럭 MCLK, 마스터 클럭 MCLK를 기초로 내부의 발진 회로에서 생성된 소정의 주파수의 비트 클럭 BCLK, 및 프레임 단위의 L 채널 클럭 LCLK, 및 R 채널 클럭 RCLK로 이루어지는 동작 클럭 LRCLK를 디지털 아날로그 변환 회로(63)에 공급한다.
DSP(59)는, 음성 데이터를 재생할 때, 재생용 코드에 따라서 상술하는 동작 클럭을 디지털 아날로그 변환 회로(63)에 공급하여, 음성 데이터를 재생하지 않을 때, 재생용 코드에 따라서 동작 클럭의 공급을 정지하여, 디지털 아날로그 변환 회로(63)를 정지시켜, 포터블 디바이스(6) 전체의 소비 전력량을 저감한다.
마찬가지로, CPU(53) 및 USB 컨트롤러(57)도, 수정으로 이루어지는 발진자(53A 또는 57A)가 각각 외부 부착되고, 발진자(53A 또는 57A)로부터 각각 공급되는 마스터 클럭 MCLK에 기초하여 소정의 처리를 실행한다.
이와 같이 구성함으로써, 포터블 디바이스(6)는 CPU(53), DSP(59), USB 컨트롤러(57) 등의 각 회로 블록에 대해 클럭 공급을 행하기 위한 클럭 발생 모듈이 불필요해져, 회로 구성을 간소화함과 함께 소형화할 수가 있다.
디지털 아날로그 변환 회로(63)는, 재생한 음성 데이터를 아날로그의 음성 신호로 변환하여, 이것을 증폭 회로(64)에 공급한다. 증폭 회로(64)는 음성 신호를 증폭하여, 헤드폰잭(65)을 통해, 도시하지 않은 헤드폰에 음성 신호를 공급한다.
이와 같이, 포터블 디바이스(6)는, 도시하지 않은 재생/정지 버튼을 눌러 조작되었을 때, CPU(53)의 제어에 기초하여 플래시 메모리(61)에 기억되어 있는 음성 데이터를 재생함과 함께, 재생 중에 재생/정지 버튼을 눌러 조작되었을 때, 음성 데이터의 재생을 정지한다.
포터블 디바이스(6)는, 정지 후에 재차 재생/정지 버튼을 눌러 조작되었을 때, CPU(53)의 제어에 기초하여 정지한 위치로부터 음성 데이터의 재생을 재개한다. 재생/정지 버튼이 누름 조작에 의해 재생을 정지하여 조작이 가해지지 않고 수초 동안 경과했을 때, 포터블 디바이스(6)는 자동적으로 전원을 오프하여 소비 전력을 저감한다.
또한, 포터블 디바이스(6)는, 전원이 오프가 된 후에 재생/정지 버튼을 눌러 조작되었을 때, 전회의 정지한 위치로부터 음성 데이터를 재생하지 않고, 1곡목으로부터 재생한다.
또한, 포터블 디바이스(6)의 CPU(53)는 LCD 컨트롤러(68)를 제어하고, 표시부(67)에, 재생 모드의 상태 (예를 들면, 리피트 재생, 전주 재생 등), 이퀄라이저 조정 (즉, 음성 신호의 주파수 대역에 대응한 이득의 조정), 곡 번호, 연주 시간, 재생, 정지, 앞으로 감기, 되감기 등의 상태, 음량 및 건전지(51)의 잔량 등의 정보를 표시시킨다.
또한, 포터블 디바이스(6)는 EEPROM(68)에, 플래시 메모리(80)에 기입되어 있는 콘텐츠의 수, 각각의 콘텐츠가 기입되어 있는 플래시 메모리(61)의 블록 위치 및 기타 여러가지 메모리 축적 정보 등의 소위 FAT(File Allocation Table)를 저장한다.
또한, 본 실시예에 있어서는, 음성 데이터는, 64KByte를 1블록으로서 취급하고, 1곡의 콘텐츠에 대응한 블록 위치가 FAT에 저장된다.
플래시 메모리(61)에 FAT가 저장되는 경우, 예를 들면, 1곡목의 콘텐츠가 CPU(53)의 제어에 의해 플래시 메모리(61)에 기입되면, 1곡목의 콘텐츠에 대응하는 블록 위치가 FAT로서 플래시 메모리(61)에 기입되고, 다음에, 2곡목의 콘텐츠가 플래시 메모리(61)에 기입되면, 2곡목의 콘텐츠에 대응하는 블록 위치가 FAT로서 플래시 메모리(61: 1곡목과 동일한 영역)에 기입된다.
이와 같이, FAT는 플래시 메모리(61)에의 콘텐츠의 기록 시마다 재기입되고, 또한, 데이터의 보호를 위해, 동일한 데이터가 예약용으로 2중으로 기입된다.
FAT가 플래시 메모리(61)에 기입되면, 1회의 콘텐츠의 기록에 대응하여, 플래시 메모리(61)의 동일한 영역이 2회 재기입되기 때문에, 적은 콘텐츠의 기록의 횟수로, 플래시 메모리(61)에 규정되어 있는 재기입 횟수에 도달되고, 플래시 메모리(61)의 재기록을 할 수 없게 된다.
그래서, 포터블 디바이스(6)는 FAT를 EEPROM(68)에 기억시키고, 1회의 콘텐츠의 기록에 대응하는 플래시 메모리(61)의 재기록의 빈도를 적게 하고 있다.
재기입 횟수가 많은 FAT를 EEPROM(68)에 기억시킴으로써, FAT를 플래시 메모리(61)에 기억시키는 경우에 비교하여, 포터블 디바이스(6)는, 콘텐츠의 기록이 가능한 횟수를 수배 이상으로 늘릴 수 있다. 또한, CPU(53)는 EEPROM(68)에 FAT를 추기하도록 기입시키므로, EEPROM(68)의 동일한 영역의 재기록의 빈도를 적게 하여, EEPROM(68)이 단기간에 재기입 불능이 되는 것을 방지한다.
포터블 디바이스(6)는, USB 케이블(7)을 통해 퍼스널 컴퓨터(1)에 접속되었을 때 (이하, 이것을 USB 접속이라 칭한다), USB 컨트롤러(57)로부터 CPU(53)에 공급되는 인터럽트 신호에 기초하여 USB 접속된 것을 인식한다.
포터블 디바이스(6)는 USB 접속된 것을 인식하면, 퍼스널 컴퓨터(1)로부터 USB 케이블(7)을 통해 규정 전류치의 외부 전력의 공급을 받음과 함께, 전원 회로(52)를 제어하여, 건전지(51)로부터의 전력의 공급을 정지시킨다.
CPU(53)는, USB 접속되었을 때, DSP(59)의 음성 데이터의 재생의 처리를 정지시킨다. 이에 따라, CPU(53)는, 퍼스널 컴퓨터(1)로부터 공급되는 외부 전력이 규정 전류치를 넘는 것을 방지하여, 규정 전류치의 외부 전력을 항상 받게 되도록 제어한다.
이와 같이 CPU(53)는 USB 접속되면, 건전지(51)로부터 공급되는 전력으로부터 퍼스널 컴퓨터(1)로부터 공급되는 전력으로 전환하기 때문에, 전력 단가가 싼 퍼스널 컴퓨터(1)로부터의 외부 전력이 사용되고, 전력 단가가 높은 건전지(51)의 소비 전력이 저감되고, 이렇게 해서 건전지(51)의 수명을 연장시킬 수 있다.
또, CPU(53)는, 퍼스널 컴퓨터(1)로부터 USB 케이블(7)을 통해 외부 전력의 공급을 받았을 때, DSP(59)의 재생 처리를 정지시킴으로써, DSP(59)로부터의 복사를 저감시키고, 그 결과로서 퍼스널 컴퓨터(1)를 포함하는 시스템 전체의 복사를 한층 더 저감시킨다.
도 5는 CPU(11)의 소정의 프로그램의 실행 등에 의해 실현되는, 퍼스널 컴퓨터(1)의 기능의 구성을 설명하는 블록도이다. 콘텐츠 관리 프로그램(111)은, EMD 선택 프로그램(131), 체크인/체크아웃 관리 프로그램(132), 암호 방식 변환 프로그램(133), 압축 방식 변환 프로그램(134), 암호화 프로그램(135), 이용 조건 변환 프로그램(136), 서명 관리 프로그램(137), 인증 프로그램(138), 복호 프로그램(139), PD용 드라이버(140), 구입용 드라이버(141), 및 구입용 드라이버(142) 등의 복수의 프로그램으로 구성되어 있다.
콘텐츠 관리 프로그램(111)은, 예를 들면, 셔플되어 있는 인스트럭션, 또는 암호화되어 있는 인스트럭션 등으로 기술되어, 그 처리 내용을 외부로부터 은폐하고, 그 처리 내용이 해독이 곤란하게 되 [예를 들면, 사용자가, 직접, 콘텐츠 관리프로그램(111)을 판독하여도, 인스트럭션을 특정할 수 없는 등]도록 구성되어 있다.
EMD 선택 프로그램(131)은, 콘텐츠 관리 프로그램(111)이 퍼스널 컴퓨터(1)에 인스톨될 때, 콘텐츠 관리 프로그램(111)에는 포함되지 않고, 후술하는 EMD의 등록의 처리에 있어서, 네트워크(2)를 통해, EMD 등록 서버(3)로부터 수신된다. EMD 선택 프로그램(131)은, EMD 서버(4-1 내지 4-3) 중 어느 하나와의 접속을 선택하여, 구입용 어플리케이션(115), 또는 구입용 드라이버(141 혹은 142)에, EMD 서버(4-1 내지 4-3) 중 어느 하나와의 통신 (예를 들면, 콘텐츠를 구입할 때의, 콘텐츠의 다운로드 등)을 실행시킨다.
체크인/체크아웃 관리 프로그램(132)은, 체크인 또는 체크아웃의 설정, 및 콘텐츠 데이터 베이스(114)에 기록되어 있는 이용 조건 파일(162-1 내지 162-N)에 기초하여, 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠를 포터블 디바이스(6-1 내지 6-3) 중 어느 하나에 체크아웃하거나, 또는 포터블 디바이스(6-1 내지 6-3)에 기억되어 있는 콘텐츠를 체크인한다.
체크인/체크아웃 관리 프로그램(132)은, 체크인 또는 체크아웃의 처리에 대응하여, 콘텐츠 데이터 베이스(114)에 기록되어 있는 이용 조건 파일(162-1 내지 162-N)에 저장되어 있는 이용 조건의 데이터를 갱신한다.
암호 방식 변환 프로그램(133)은, 네트워크(2)를 통해 구입용 어플리케이션 프로그램(115)이 EMD 서버(4-1)로부터 수신한 콘텐츠의 암호화의 방식, 구입용 드라이버(141)가 EMD 서버(4-2)로부터 수신한 콘텐츠의 암호화의 방식, 또는 구입용 드라이버(142)가 EMD 서버(4-3)로부터 수신한 콘텐츠의 암호화의 방식을, 콘텐츠 데이터 베이스(114)가 기록하고 있는 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠와 동일한 암호화의 방식으로 변환한다.
또한, 암호 방식 변환 프로그램(133)은, 포터블 디바이스(6-1 또는 6-3)에 콘텐츠를 체크아웃할 때, 체크아웃하는 콘텐츠를, 포터블 디바이스(6-1 또는 6-3)가 이용 가능한 암호화 방식으로 변환한다.
압축 방식 변환 프로그램(134)은, 네트워크(2)를 통해 구입용 어플리케이션 프로그램(115)이 EN4D 서버(4-1)로부터 수신한 콘텐츠의 압축 방식, 구입용 드라이버(141)가 EMD 서버(4-2)로부터 수신한 콘텐츠의 압축 방식, 또는 구입용 드라이버(142)가 EMD 서버(4-3)로부터 수신한 콘텐츠의 압축 방식을, 콘텐츠 데이터 베이스(114)가 기록하고 있는 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠와 동일한 압축의 방식으로 변환한다.
압축 방식 변환 프로그램(134)은, 예를 들면 CD로부터 판독되고, 녹음 프로그램(113)으로부터 공급된 콘텐츠 (압축되어 있지 않다)를, 콘텐츠 데이터 베이스(114)가 기록하고 있는 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠와 동일한 부호화의 방식으로 부호화한다.
또한, 압축 방식 변환 프로그램(134)은, 포터블 디바이스(6-1 또는 6-3)에 콘텐츠를 체크아웃할 때, 체크아웃하는 콘텐츠를, 포터블 디바이스(6-1 또는 6-3)가 이용 가능한 압축의 방식으로 변환한다.
암호화 프로그램(135)은, 예를 들면 CD로부터 판독되고, 녹음 프로그램(113)으로부터 공급된 콘텐츠 (암호화되어 있지 않다)를, 콘텐츠 데이터 베이스(114)가 기록하고 있는 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠와 동일한 암호화의 방식으로 암호화한다.
이용 조건 변환 프로그램(136)은, 네트워크(2)를 통해 구입용 어플리케이션 프로그램(115)이 EMD 서버(4-1)로부터 수신한 콘텐츠의 이용 조건을 나타내는 데이터 (소위, Usage Rule), 구입용 드라이버(141)가 EMD 서버(4-2)로부터 수신한 콘텐츠의 이용 조건을 나타내는 데이터, 또는 구입용 드라이버(142)가 EMD 서버(4-3)로부터 수신한 콘텐츠의 이용 조건을 나타내는 데이터를, 콘텐츠 데이터 베이스(114)가 기록하고 있는 이용 조건 파일(162-1 내지 162-N)에 저장되어 있는 이용 조건 데이터와 동일한 포맷으로 변환한다.
또한, 이용 조건 변환 프로그램(136)은, 포터블 디바이스(6-1 또는 6-3)에 콘텐츠를 체크아웃할 때, 체크아웃하는 콘텐츠에 대응하는 이용 조건의 데이터를, 포터블 디바이스(6-1 또는 6-3)가 이용 가능한 이용 조건의 데이터로 변환한다.
서명 관리 프로그램(137)은, 체크인 또는 체크아웃의 처리를 실행하기 전에, 콘텐츠 데이터 베이스(114)에 기록되어 있는 이용 조건 파일(162-1 내지 162-N)에 저장되어 있는 이용 조건의 데이터에 포함되어 있는 서명 (후술한다)을 기초로 하여, 이용 조건의 데이터의 개찬을 검출한다. 서명 관리 프로그램(137)은, 체크인 또는 체크아웃의 처리에 따른, 콘텐츠 데이터 베이스(114)에 기록되어 있는 이용 조건 파일(162-1 내지 162-N)에 저장되어 있는 이용 조건의 데이터를 갱신에 대응하여, 이용 조건의 데이터에 포함되는 서명을 갱신한다.
인증 프로그램(138)은, 콘텐츠 관리 프로그램(111)과 구입용 어플리케이션 프로그램(115)과의 상호 인증의 처리, 및 콘텐츠 관리 프로그램(111)과 구입용 드라이버(141)와의 상호 인증의 처리를 실행한다. 또한, 인증 프로그램(138)은, EMD 서버(4-1)와 구입용 어플리케이션 프로그램(115)과의 상호 인증 처리, EMD 서버(4-2)와 구입용 드라이버(141)와의 상호 인증의 처리, 및 EMD 서버(4-3)와 구입용 드라이버(142)와의 상호 인증의 처리로 이용되는 인증 열쇠를 기억하고 있다.
인증 프로그램(138)이 상호 인증의 처리로 이용하는 인증 열쇠는, 콘텐츠 관리 프로그램(111)이 퍼스널 컴퓨터(1)에 인스톨되었을 때, 인증 프로그램(138)에 기억되어 있지 않고, 표시 조작 지시 프로그램(112)에 의해 등록의 처리가 정상적으로 실행될 때, EMD 등록 서버(3)로부터 공급되고, 인증 프로그램(138)에 기억된다.
복호 프로그램(139)은, 콘텐츠 데이터 베이스(114)가 기록하고 있는 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠를 퍼스널 컴퓨터(1)가 재생될 때, 콘텐츠를 복호한다.
PD용 드라이버(140)는, 포터블 디바이스(6-2)에 소정의 콘텐츠를 체크아웃할 때, 또는 포터블 디바이스(6-2)로부터 소정의 콘텐츠를 체크인할 때, 포터블 디바이스(6-2)에 콘텐츠 또는 포터블 디바이스(6-2)에 소정의 처리를 실행시키는 커맨드를 공급한다.
PD용 드라이버(140)는, 포터블 디바이스(6-1)에 소정의 콘텐츠를 체크아웃할 때, 또는 포터블 디바이스(6-1)로부터 소정의 콘텐츠를 체크인할 때, 디바이스 드라이버(116-1)에 콘텐츠, 또는 디바이스 드라이버(116-1)에 소정의 처리를 실행시키는 커맨드를 공급한다.
PD용 드라이버(140)는, 포터블 디바이스(6-3)에 소정의 콘텐츠를 체크아웃할 때, 또는 포터블 디바이스(6-3)로부터 소정의 콘텐츠를 체크인할 때, 디바이스 드라이버(116-2)에 콘텐츠, 또는 디바이스 드라이버(116-2)에 소정의 처리를 실행시키는 커맨드를 공급한다.
구입용 드라이버(141)는, 소위, 플러그인 프로그램이며, 콘텐츠 관리 프로그램(111)과 함께 인스톨되고, EMD 등록 서버(3)로부터 네트워크(2)를 통해 공급되고, 또는 소정의 CD에 기록되어 공급된다. 구입용 드라이버(141)는, 퍼스널 컴퓨터(1)에 인스톨되었을 때, 콘텐츠 관리 프로그램(111)이 갖는 소정의 형식의 인터페이스를 통해, 콘텐츠 관리 프로그램(111)과 데이터를 송수신한다.
구입용 드라이버(141)는, 네트워크(2)를 통해, EMD 서버(4-2)에 소정의 콘텐츠의 송신을 요구함과 함께, EMD 서버(4-2)로부터 콘텐츠를 수신한다. 또한, 구입용 드라이버(141)는, EMD 서버(4-2)로부터 콘텐츠를 수신할 때, 과금의 처리를 실행한다.
구입용 드라이버(142)는, 콘텐츠 관리 프로그램(111)과 함께 인스톨되는 프로그램이며, 네트워크(2)를 통해 EMD 서버(4-3)에 소정의 콘텐츠의 송신을 요구함과 함께, EMD 서버(4-3)로부터 콘텐츠를 수신한다. 또한, 구입용 드라이버(142)는 EMD 서버(4-3)로부터 콘텐츠를 수신할 때, 과금의 처리를 실행한다.
표시 조작 지시 프로그램(112)은, 필터링 데이터 파일(181), 표시 데이터 파일(182), 화상 파일(183-1 내지 183-K), 또는 이력 데이터 파일(184)을 기초로, 디스플레이(20)에 소정의 윈도우의 화상을 표시시키고, 키보드(18) 또는 마우스(19)에의 조작을 기초로, 콘텐츠 관리 프로그램(111)에 체크인 또는 체크아웃 등의 처리의 실행을 지시한다.
필터링 데이터 파일(181)은, 콘텐츠 데이터 베이스(114)에 기록되어 있는 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠 각각에 비중을 두기 위한 데이터를 저장하여, HDD(21)에 기록되어 있다.
표시 데이터 파일(182)은, 콘텐츠 데이터 베이스(114)에 기록되어 있는 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠에 대응하는 데이터를 저장하고, HDD(21)에 기록되어 있다.
화상 파일(183-1 내지 183-K)은, 콘텐츠 데이터 베이스(114)에 기록되어 있는 콘텐츠 파일(161-1 내지 161-N)에 대응하는 화상, 또는 후술하는 패키지에 대응하는 화상을 저장하여, HDD(21)에 기록되어 있다.
이하, 화상 파일(183-1 내지 183-K)을 개개로 구별할 필요가 없을 때, 단순히, 화상 파일(183)이라 칭한다.
이력 데이터 파일(184)은, 콘텐츠 데이터 베이스(114)에 기록되어 있는 콘텐츠 파일(161-1 내지 161-N)에 저장되어 있는 콘텐츠가 체크아웃된 횟수, 체크인된 횟수, 그 날짜 등의 이력 데이터를 저장하여, HDD(21)에 기록되어 있다.
표시 조작 지시 프로그램(112)은, 등록의 처리일 때, 네트워크(2)를 통해 EMD 등록 서버(3)에, 미리 기억하고 있는 콘텐츠 관리 프로그램(111)의 ID를 송신함과 함께, EMD 등록 서버(3)로부터 인증용 열쇠 및 EMD 선택 프로그램(131)을 수신하고, 콘텐츠 관리 프로그램(111)에 인증용 열쇠 및 EMD 선택 프로그램(131)을 공급한다.
녹음 프로그램(113)은, 소정의 윈도우의 화상을 표시시켜서, 키보드(18) 또는 마우스(19)에의 조작을 기초로, 드라이브(22)에 장착된 광 디스크(42)인 CD로부터 콘텐츠의 녹음 시간 등의 데이터를 판독한다.
녹음 프로그램(113)은, CD에 기록되어 있는 콘텐츠의 녹음 시간 등을 기초로, 네트워크(2)를 통해 WWW 서버(5-1 또는 5-2)에 CD에 대응하는 데이터 (예를 들면, 앨범명, 또는 아티스트명 등) 또는 CD에 기록되어 있는 콘텐츠에 대응하는 데이터 (예를 들면, 곡명 등)의 송신을 요구함과 함께, WWW 서버(5-1 또는 5-2)로부터 CD에 대응하는 데이터 또는 CD에 기록되어 있는 콘텐츠에 대응하는 데이터를 수신한다.
녹음 프로그램(113)은, 수신한 CD에 대응하는 데이터 또는 CD에 기록되어 있는 콘텐츠에 대응하는 데이터를, 표시 조작 지시 프로그램(112)에 공급한다.
또한, 녹음의 지시가 입력되었을 때, 녹음 프로그램(113)은 드라이브(22)에 장착된 광 디스크(42)인 CD에서 콘텐츠를 판독하여, 콘텐츠 관리 프로그램(111)으로 출력한다.
콘텐츠 데이터 베이스(114)는, 콘텐츠 관리 프로그램(111)으로부터 공급된 소정의 방식으로 압축되고, 소정의 방식으로 암호화되어 있는 콘텐츠를, 콘텐츠 파일(161-1 내지 161-N) 중 어느 하나에 저장한다 [HDD(21)에 기록한다]. 콘텐츠 데이터 베이스(114)는 콘텐츠 파일(161-1 내지 161-N)에 각각 저장되어 있는 콘텐츠에 대응하는 이용 조건의 데이터를, 콘텐츠가 저장되어 있는 콘텐츠 파일(161-1 내지 161-N)에 각각 대응하는 이용 조건 파일(162-1 내지 162-N) 중 어느 하나에 저장한다 [HDD(21)에 기록한다].
콘텐츠 데이터(114)는, 콘텐츠 파일(161-1 내지 161-N) 또는 이용 조건 파일(162-1 내지 162-N)을 레코드로서 기록하여도 좋다.
예를 들면, 콘텐츠 파일(161-1)에 저장되어 있는 콘텐츠에 대응하는 이용 조건의 데이터는, 이용 조건 파일(162-1)에 저장되어 있다. 콘텐츠 파일(161-N)에 저장되어 있는 콘텐츠에 대응하는 이용 조건의 데이터는, 이용 조건 파일(162-N)에 저장되어 있다.
또, 이용 조건 파일(162-1 내지 162-N)에 기록되어 있는 데이터는, 후술하는 기한 데이터 베이스에 기록되어 있는 데이터, 또는 곡 데이터 베이스에 기록되어 있는 데이터에 대응한다. 즉, 콘텐츠 데이터 베이스(114)는, 후술하는 기한 데이터 베이스 및 곡 데이터 베이스를 포함하여, 구성되어 있다.
이하, 콘텐츠 파일(161-1 내지 161-N)을 개개로 구별할 필요가 없을 때, 단순히, 콘텐츠 파일(161)이라 칭한다. 이하, 이용 조건 파일(162-1 내지 162-N)을 개개로 구별할 필요가 없을 때, 단순히, 이용 조건 파일(162)이라 칭한다.
구입용 어플리케이션 프로그램(115)은, EMD 등록 서버(3)로부터 네트워크(2)를 통해 공급되거나, 또는 소정의 CD에 기록되어 공급된다. 구입용 어플리케이션 프로그램(115)은, 네트워크(2)를 통해, EMD 서버(4-1)에 소정의 콘텐츠의 송신을 요구함과 함께, EMD 서버(4-1)로부터 콘텐츠를 수신하여, 콘텐츠 관리 프로그램(111)에 공급한다. 또한, 구입용 어플리케이션 프로그램(115)은, EMD 서버(4-1)로부터 콘텐츠를 수신할 때, 과금의 처리를 실행한다.
다음에, 표시 데이터 파일(82)에 저장되어 있는 데이터와 콘텐츠 데이터 베이스에 저장되어 있는 콘텐츠 파일(161-1 내지 161-N)과의 대응에 대해 설명한다.
콘텐츠 파일(161-1 내지 161-N) 중 어느 하나에 저장되어 있는 콘텐츠는, 소정의 패키지에 속한다. 패키지는, 보다 상세하게는, 오리지널 패키지, 마이셀렉트 패키지, 또는 필터링 패키지 중 어느 하나이다.
오리지널 패키지는, 1 이상의 콘텐츠가 속하며, EMD 서버(4-1 내지 4-3)에 있어서의 콘텐츠의 분류 (예를 들면, 소위 앨범에 대응한다), 또는 한장의 CD에 대응한다. 콘텐츠는, 어느 하나의 오리지널 패키지에 속하며, 복수의 오리지널 패키지에 속할 수 없다. 또한, 콘텐츠가 속하는 오리지널 패키지는 변경할 수 없다. 사용자는, 오리지널 패키지에 대응하는 정보의 일부를 편집 (정보의 추가, 또는 추가한 정보의 변경)할 수가 있다.
마이셀렉트 패키지는, 사용자가 임의로 선택한 1 이상의 콘텐츠가 속한다. 마이셀렉트 패키지에 어느 한쪽의 콘텐츠가 속할지는, 사용자가 임의로 편집할 수가 있다. 콘텐츠는, 1 이상의 마이셀렉트 패키지에 동시에 속하는 것이 가능하다. 또한, 콘텐츠는, 어느 한쪽의 마이셀렉트 패키지에 속하지 않아도 된다.
필터링 패키지에는, 필터링 데이터 파일(181)에 저장되어 있는 필터링 데이터를 기초로 선택된 콘텐츠가 속한다. 필터링 데이터는, EMD 서버(4-1 내지 4-3) 또는 WWW 서버(5-1 혹은 5-2) 등으로부터 네트워크(2)를 통해 공급되고, 또는 소정의 CD에 기록되어 공급된다. 사용자는, 필터링 데이터 파일(181)에 저장되어 있는 필터링 데이터를 편집할 수가 있다.
필터링 데이터는, 소정의 콘텐츠를 선택하거나, 또는 콘텐츠에 대응하는 비중을 산출하는 기준이 된다. 예를 들면, 금주의 J-POP (일본의 팝음악) 베스트 텐에 대응하는 필터링 데이터를 이용하면, 퍼스널 컴퓨터(1)는, 금주의 일본의 팝음악 1위의 콘텐츠 내지 금주의 일본의 팝음악 10위의 콘텐츠를 특정할 수가 있다.
필터링 데이터 파일(181)은, 예를 들면, 과거 1월간에 체크아웃되어 있던 기간이 긴 순서로 콘텐츠를 선택하는 필터링 데이터, 과거 반년 사이에 체크아웃된 횟수가 많은 콘텐츠를 선택하는 필터링 데이터, 또는 곡명에 "사랑"의 문자가 포함되고 있는 콘텐츠를 선택하는 필터링 데이터 등을 포함하고 있다. 이와 같이 필터링 패키지의 콘텐츠는, 콘텐츠에 대응하는 콘텐츠용 표시 데이터[221: 콘텐츠용 표시 데이터(221)에 사용자가 설정한 데이터를 포함한다], 또는 이력 데이터(184) 등과, 필터링 데이터를 대응시켜 선택된다.
도 6은, WWW 서버(5-2)로부터 CD의 정보를 수신했을 때, 녹음 프로그램(113)이 디스플레이(20)에 표시시키는 윈도우를 설명하는 도면이다. WWW 서버(5-2)로부터 수신한 CD의 정보를 기초로, 녹음 프로그램(113)은, 필드(201)에, 예를 들면, "어싱크로나이즈드" 등의 CD의 타이틀을 표시한다. WWW 서버(5-2)로부터 수신한 CD의 정보를 기초로, 녹음 프로그램(113)은 필드(202)에, 예를 들면, "구와이" 등의 아티스트명을 표시한다.
WWW 서버(5-2)로부터 수신한 CD의 정보를 기초로, 녹음 프로그램(113)은 필드(203)의 곡명을 표시하는 부분에, 예를 들면, "히트", "플라넷", "블랙", "서울"등의 곡명을 표시한다. 마찬가지로, 녹음 프로그램(113)은, 필드(203)의 아티스트를 표시하는 부분에, 예를 들면, "구와이" 등의 아티스트명을 표시한다.
녹음 프로그램(113)이 소정의 CD의 정보를 수신한 후, 녹음 프로그램(113)은 HDD(21)의 소정의 디렉토리에 CD의 정보를 저장한다.
버튼(204) 등이 클릭되어, CD의 정보의 취득의 지시를 받았을 때, 녹음 프로그램(113)은, 처음에, HDD(21)의 소정의 디렉토리를 검색한다. 녹음 프로그램(113)은 그 디렉토리에 CD의 정보가 저장되어 있을 때, 도시하지 않은 다이얼로그 박스를 표시하여, 사용자에게 디렉토리에 저장되어 있는 CD의 정보를 이용하는지의 여부를 선택시킨다.
녹음 프로그램(113)이 표시시키는 윈도우에 배치되어 있는 콘텐츠의 녹음의 개시를 지시하는 버튼(206)이 클릭되었을 때, 녹음 프로그램(113)은, 드라이브(22)에 저장되어 있는 CD로부터 콘텐츠를 판독하여, CD로부터 판독한 콘텐츠를 CD의 정보와 함께 콘텐츠 관리 프로그램(111)에 공급한다. 콘텐츠 관리 프로그램(111)의 압축 방식 변환 프로그램(134)은, 녹음 프로그램(113)으로부터 공급된 콘텐츠를 소정의 압축의 방식으로 압축하여, 암호화 프로그램(135)은 압축된 콘텐츠를, 암호화한다. 또한, 이용 조건 변환 프로그램(136)은, 압축되고, 암호화된 콘텐츠에 대응하는 이용 조건의 데이터를 생성한다.
콘텐츠 관리 프로그램(111)은, 압축되고, 암호화된 콘텐츠를 이용 조건의 데이터와 함께, 콘텐츠 데이터 베이스(114)에 공급한다.
콘텐츠 데이터 베이스(114)는, 콘텐츠 관리 프로그램(111)으로부터 수신한 콘텐츠에 대응하는 콘텐츠 파일(161) 및 이용 조건 파일(162)을 생성하여, 콘텐츠 파일(161)에 콘텐츠를 저장함과 함께, 이용 조건 파일(162)에 이용 조건의 데이터를 저장한다.
콘텐츠 관리 프로그램(111)은, 콘텐츠 데이터 베이스(114)에 콘텐츠 및 콘텐츠에 대응하는 이용 조건의 데이터가 저장되었을 때, 녹음 프로그램(113)으로부터 수신한 CD의 정보 및 이용 조건의 데이터를 표시 조작 지시 프로그램(112)에 공급한다.
표시 조작 지시 프로그램(112)은, 녹음의 처리로 콘텐츠 데이터 베이스(114)에 저장된 콘텐츠에 대응하는 이용 조건의 데이터 및 CD의 정보를 기초로, 오리지널 패키지용 표시 데이터(201) 및 콘텐츠용 표시 데이터(221)를 생성한다.
녹음 프로그램(113)이 표시시키는 윈도우에는, 또한, CD로부터 판독한 콘텐츠를 콘텐츠 데이터 베이스(114)에 기록했을 때, 자동적으로, CD로부터 판독한 콘텐츠를 포터블 디바이스(6-1 내지 6-3) 중 어느 하나에 체크아웃시키는지 여부의 설정을 행하는 버튼(205)이 배치되어 있다.
예를 들면, 버튼(205)이 클릭되었을 때, 녹음 프로그램(113)은 포터블 디바이스(6-1 내지 6-3)의 리스트를 나타내는 풀다운 메뉴를 표시한다. 사용자가, 그 풀다운 메뉴로부터 포터블 디바이스(6-1 내지 6-3) 중 어느 하나를 선택했을 때, 퍼스널 컴퓨터(1)는, 선택된 포터블 디바이스(6-1 내지 6-3) 중 어느 하나에, 자동적으로, CD로부터 기록한 콘텐츠를 체크아웃한다. 사용자가, 그 풀다운 메뉴로부터 체크아웃하지 않는다"를 선택한 경우, 퍼스널 컴퓨터(1)는, CD로부터 콘텐츠를 기록했을 때, 체크아웃하지 않는다.
다음에, 도 7의 플로우차트를 참조하여, 녹음 프로그램(113)을 실행하는 CPU(11)에 의한, 드라이브(22)에 장착된 CD로부터 재생한 음악 데이터를 HDD(21)로 전송하고, 복사하는 경우의 처리에 대해 설명한다. 사용자가 키보드(18) 또는 마우스(19)를 조작하여, 인터페이스(17)를 통해 CPU(11)에 대해 드라이브(22)에 장착된 CD (도시하지 않음)로부터 재생된 음악 데이터를 HDD(21)로 전송하고, 복사하는 지령을 입력하면, CPU(11)는 스텝 S11에 있어서, 인터페이스(17)를 통해 디스플레이(2O)에 복사하는 곡을 선택하기 위한 GUI(Graphical User Interface)를 표시시킨다.
구체적으로는, 예를 들면, CPU(11)는 드라이브(22)에 장착된 CD의 TOC(Table 0f Contents)를 판독하고, 그 CD에 포함되는 곡의 정보를 얻어, 디스플레이(20)에 표시시킨다. 또는, CPU(11)는, CD에 포함되어 있는 각 곡마다의 ISRC(International Standard Recording Code)를 판독하고, 그 곡의 정보를 얻어, 디스플레이(20)에 표시시킨다. 혹은 또, CPU(11)는 네트워크(2)를 통해 WWW 서버(5-1 또는 5-2)를 액세스하고, TOC를 이용하여, 그 CD의 곡의 정보를 얻어, 대응하는 GUI를 디스플레이(20)에 표시시킨다. 사용자는, 디스플레이(20)의 GUI를 이용하여 키보드(18) 또는 마우스(19)를 조작하여, 복사하는 곡을 선택한다.
다음에, 스텝 S12에 있어서, CPU(11)는, HDD(21)에 저장되어 있는 기한 데이터 베이스 [도 5에 도시한 콘텐츠 데이터 베이스(114)의 이용 조건 파일(162-1 내지 162-N)에 대응한다]를 체크한다. 이 기한 데이터 베이스 체크 처리의 상세는, 도 8의 플로우차트에 나타나 있다.
스텝 S31에 있어서 CPU(11)는, 어댑터(26)의 CPU(32)와 협동하여, 기한 데이터 베이스 전체의 해시값을 계산하고, 스텝 S32에 있어서, 그 계산된 값과, 전회 보존하여 놓은 해시값과 비교한다.
또, 기한 데이터 베이스에 데이터가 아무것도 기록되어 있지 않을 때, CPU(11)는, 해시값을 계산하지 않다.
즉, HDD(21)에는, 기한 데이터 베이스가 형성되어 있고, 이 기한 데이터 베이스에는, 도 9에 도시한 바와 같이, HDD(21)에 기록되어 있는 음악 데이터 (콘텐츠)를 관리하는관리 정보로서, 과거에 기록된 적이 있는 곡의 ISRC와 복사 일시가 대응하여 기억되어 있다. 이 예에 있어서는, 아이템(1) 내지 아이템(3)의 3개의 아이템에 대해, 각각의 ISRC와 복사 일시가 기억되어 있다. 이 기한 데이터 베이스에 기록되어 있는 모든 곡의 ISRC와 복사 일시에 기초를 둔 기한 데이터 베이스 전체의 해시값이, 후술하는 바와 같이, 스텝 S38에 있어서, 어댑터(26)의 CPU(32)에 의해 인산되고, 불휘발성 메모리(34)에 기억되어 있다. 해치값은, 데이터에 대해 해시 함수를 적용하여 얻어진 값이다. 해시 함수는, 일반적으로 가변 길이가 긴 데이터를, 고정 길이가 짧은 값으로 올리는 일방향성의 함수이며, 해치값끼리의 충돌이 일어나기 어려운 성질을 갖고 있다. 해시 함수의 예로서는, SHA(Secure Hash Algorithm), MD(Message Digest: 5) 등이 있다. CPU(11)는, 스텝 S31에 있어서, CPU(32)가 실행한 것과 마찬가지로 해시 값을 계산한다. 그리고, 스텝 S32에 있어서, CPU(11)는, CPU(32)에, 불휘발성 메모리(34)에 기억되어 있는 해치값의 판독을 요구하고, 전송을 받은 해치값와, 스텝 S31에서, 지금 자기 자신이 계산한 해시값을 비교한다.
스텝 S33에 있어서, CPU(11)는, 스텝 S31에서 지금 계산한 해시값과, 불휘발성 메모리(34)에 기억되어 있는 전회의 기한 데이터 베이스의 해치값이 일치하는 지의 여부를 판정하고, 일치하고 있지 않은 경우에는, 기한 데이터 베이스가 개찬된 것이라고 판정하고, CPU(11)는, 스텝 S34에 있어서, 예를 들면, 「기한 데이터 페이지 개찬되었기 때문에, 복사를 할 수 없습니다」라고 한 메시지를 발생하여, 인터페이스(17)를 통해 디스플레이(20)로 출력하고, 표시시켜, 이후, 처리를 종료시킨다. 즉, 이 경우에는, CD에 기록되어 있는 음악 데이터를 재생하고, HDD(21)에 복사하는 처리가 금지된다.
스텝 S31에서 계산한 해치값과, 전회의 해치값이 일치하는 경우에는, 스텝 S 35로 진행하고, CPU(11)는, 스텝 S11에서 지정된 복사하는 곡으로서 선택된 곡 (선택곡)의 ISRC를 CD로부터 취득한다. CD에 ISRC가 기록되어 있지 않은 경우, CPU11는, 그 CD의 TOG의 데이터를 판독하여, 그 데이터에 해시 함수를 적용하는 등으로 하여, 예를 들면, 58비트 등의 적당한 길이의 데이터를 얻어, 이것을 ISRC를 대신하여 이용한다.
스텝 S36에 있어서, CPU(11)는, 스텝 S35에서 취득한 ISRC (즉, 선택곡)가 기한 데이터 베이스 (도 9)에 등록되어 있는지의 여부를 판정한다. ISRC가 기한 데이터 베이스에 등록되어 있지 않은 경우에는, 그 곡은 아직 HDD(21)에 기록되어 있지 않게 되므로, 스텝 S37로 진행하고, CPU(11)는, 그 곡의 ISRC와 현재의 일시를 기한 데이터 베이스에 등록한다. 또, CPU(11)는, 이 현재의 일시로서, CPU(32)로부터 전송을 받은, 어댑터(26)의 RTC(35)가 출력하는 값을 이용한다. 그리고, 스텝 S38에 있어서, CPU(11)는, 그 시점에서의 기한 데이터 베이스의 데이터를 판독하고, 어댑터(26)의 CPU(32)로 전송한다. CPU(32)는, 전송되어 온 데이터의 해치값을 계산하고, 불휘발성 메모리(34)에 보존되어 있다. 상술한 바와 같이, 이와 같이 하여 보존된 해시값이, 스텝 S32에 있어서, 전회 보존해 놓은 해치값으로서 이용된다.
다음에, 스텝 S39에 있어서, CPU(11)는, 선택곡이 기한 데이터 베이스에 등록되어 있지 않은 것을 나타내는 미등록의 플래그를 설정한다. 이 플래그는, 후술하는 도 7의 스텝 S13에 있어서, 선택곡이 기한 데이터 베이스에 등록되어 있는지 여부의 판정을 행할 때에 이용된다.
스텝 S36에 있어서, 선택곡의 ISRC가 기한 데이터 베이스에 등록되어 있다고 판정된 경우, 그 선택곡은, 적어도, HDD(21)에 등록된 적이 있는 곡이라고 말하게 된다. 그래서, 이 경우, 스텝 S40으로 진행하고, CPU(11)는, 기한 데이터 베이스에 등록되어 있는 그 선택곡의 등록 일시보다, 현재의 일시 [어댑터(26)의 RTC(35)가 출력한 현재의 일시)가 48시간 이상 경과하고 있는지의 여부를 판정한다. 현재 시각이, 등록 일시보다, 이미 48시간 이상 경과하고 있는 경우에는, HDD(21)에, 적어도 한번은 기록한 적이 있지만, 이미, 그 때부터 48시간 이상 경과하고 있으므로, 그 곡을 다시 복사시켰다고 해도, 그만큼 실해가 없으므로, 이 경우에는, HDD(21)에의 복사가 허용된다. 그래서, 스텝 S41로 진행하고, CPU(11)는 기한 데이터 베이스의 일시를, 과거의 등록 일시로부터 현재의 일시 [RTC(35)가 출력하는 일시]로 변경시킨다. 그리고, 스텝 S38로 되돌아가, CPU(11)는, 다시, 기한 데이터 베이스 전체의 해치값을 CPU(32)에 계산시켜서, 불휘발성 메모리(34)에 보존시킴 과 함께, 스텝 S39에 있어서, 그 곡에 대해 미등록의 플래그를 설정한다.
한편, 스텝 S40에 있어서, 현재 시각이 등록 일시보다, 아직 48시간 이상 경과하지 않다고 판정된 경우, 그 선택곡의 HDD(21)에의 복사가 금지된다. 그래서, 이 경우에는, 스텝 S42로 진행하고, CPU(11)는, 그 선택곡에 대응하여 등록 종료의 플래그를 설정한다.
이상과 같이 하여, 기한 데이터 베이스 체크 처리에 의해, 선택곡이 HDD(21)에 등록되어 있는지의 여부를 나타내는 플래그가 설정된다.
도 7로 되돌아가, 스텝 S13에 있어서 CPU(11)는, 선택곡이 기한 데이터 베이스에 등록 종료인지의 여부를, 상술한 플래그로부터 판정한다. 선택곡이 등록 종료인 경우에는, 스텝 S14로 진행하고, CPU(11)는, 디스플레이(20)에, 예를 들면, 「이 곡은 한번 복사되고 나서 아직 48시간 이상 경과되어 있지 않으므로, 복사할 수가 있지 않습니다」와 같은 메시지를 표시시킨다. 이에 따라, 사용자는, 그 곡을 HDD(21)에 복사할 수 없는 이유를 알 수 있다.
스텝 S13에 있어서, 선택한 곡이 기한 데이터 베이스에 등록되어 있지 않다고 판정된 경우, 스텝 S15로 진행하고, CPU(11)는, 드라이브(22)를 제어하고, 거기에 장착되어 있는 CD로부터 음악 데이터를 판독하게 한다. 이 음악 데이터에는, 도 10에 도시한 바와 같이, 소정의 위치에 워터 마크 코드가 삽입되어 있다. CPU(11)는, 스텝 S16에 있어서, 음악 데이터에 포함되어 있는 워터마크 코드를 추출하고, 그 워터 마크 코드가 복사 금지를 나타내고 있는지의 여부를 스텝 S17에 있어서 판정한다. 워터마크 코드가 복사 금지를 나타내고 있는 경우에는, 스텝 S 18로 진행하고, CPU(11)는, 인터페이스(17)를 통해 디스플레이(20)에, 예를 들면, 「복사는 금지되어 있습니다」와 같은 메시지를 표시시키고, 복사 처리를 종료시킨다.
이것에 대해, 스텝 S17에 있어서, 워터마크 복사 금지를 나타내고 있지 않다고 판정된 경우, 스텝 S19로 진행하고, CPU(11)는, 음악 데이터를, 예를 들면, ATRAC (Adaptive Transform Acoustic Coding: 3) (상표) 등의 방식으로, 소프트웨어 처리에 의해 압축시킨다. 스텝 S20에 있어서, CPU(11)는, 미리 설정되고, 메모리(13)에 기억되어 있는 암호 열쇠를 이용하여, 예를 들면, DES(Data Encryption Standard) 방식, FEAL(Fast Encriphermnent Algotithm) 방식 등의 암호화 방법에 의해, 음악 데이터를 1부호화한다. 암호 열쇠는, 이 밖에, 예를 들면, 소프트웨어에 의해 발생한 난수, 혹은 어댑터(26)의 CPU(32)에 의해 발생시킨 난수에 기초하여 생성한 것을 이용하는 것도 가능하다. 이와 같이, 퍼스널 컴퓨터(1)뿐만이 아니라, 그것에 수반하여 장착된 하드웨어로서의 어댑터(26)의 CPU(32)와, 협동하여 암호화 처리를 실행하도록 함으로써, 해독이 보다 곤란해지는 암호화를 행하는 것이 가능해진다.
다음에, 스텝 S21에 있어서, CPU(11)는, 암호화된 데이터를 HDD(21)로 전송하고, 1개의 파일 [콘텐츠 파일(161)로서]로서 파일명을 붙여 보존시킨다. 혹은또, 1개의 파일의 일부로서, 그 파일명의 위치 정보 (예를 들면, 선두로부터의 바이트수)를 제공하여 보존하도록 하여도 좋다.
이 보존 처리와, 상기한 압축 부호화 처리 및 암호화 처리는 별도로 행하도록 하여도 좋고, 동시에 평행적으로 행하도록 하여도 좋다.
또한, 스텝 S22에 있어서, CPU(11)는, 미리 정해져 있는 RAM(13)에 기억되어 있는 보존용 열쇠 (부정 판독에서는 판독이 곤란하게 되도록 기억되어 있다)를 사용하여, 상술한 DES 방식, FEAL 방식 등의 방식으로, 음악 데이터를 암호화한 암호열쇠를 암호화하고, HDD(21)의 곡 데이터 베이스 [도 5에 도시한 콘텐츠 데이터 베이스(114)의 이용 조건 파일(162-1 내지 162-N)에 대응한다]에 보존한다.
스텝 S 23에 있어서, CPU(11)는, 보존한 파일에 관한 정보, 암호화된 암호 열쇠, 그 곡의 정보, 사용자가 GUI를 통해 입력한 곡명의 정보의 요소를 조로 하여 HDD(21)의 곡 데이터 베이스에 등록한다. 그리고, 스텝 S24에 있어서, CPU(11)는 CPU(32)에, 곡 데이터 베이스 전체의 해치값을 계산시켜서, 불휘발성 메모리(34)에 보존시킨다.
이와 같이 하여, 예를 들면, 도 11에 도시한 바와 같은 곡 데이터 베이스가, HDD(21) 상에 등록된다. 이 예에 있어서는, 아이템(1) 내지 아이템(3)의 파일명, 암호화된 암호 열쇠, 곡명, 길이, 재생 조건 (개시 일시, 종료 일시, 횟수 제한), 재생 횟수 카운터, 재생 시 과금 조건, 복사 조건 (횟수), 복사 횟수 카운터, 및 복사 조건(SCMS)이 기록되어 있다.
복제되어 일정 기간이 경과하면, 다시 복제할 수가 있도록 하였기 때문에, 사용자의 개인의 사용 범위로 되는, 수회의 복제가 가능해진다. 한편,개인의 사용의 범위를 넘어, 예를 들면, 대량으로 복제하려고 하면, 막대한 시간이 필요로 되고, 현실적으로 불가능하게 된다. 또한, 예를 들면, 퍼스널 컴퓨터(1)가 고장나, HDD(21)에 기록되어 있던 콘텐츠가 소거된 경우에 있어서도, 일정 기간의 경과 후, 소거된 콘텐츠를 다시 복제하고, HDD(21)에 기록할 수가 있다.
또한, 예를 들면, 네트워크(2)를 통해 HDD(21)에 기록되어 있는 기한 데이터 베이스의 내용을 공유하는 것도 가능하다.
이상에 있어서는, ISRC에 대응하여 복제된 일시가 기억되어 있는 경우를 예 로서 설명하였지만, 콘텐츠나 CD를 식별하는 정보이면, 다른 것 (예를 들면, 곡명, 앨범명, 이들의 조합 등)을 이용하는 것도 가능하다.
다음에, 도 12A, 도 12B 및 도 12C에 도시한 플로우차트를 참조하여, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11) 및 메인 프로그램을 실행하는 CPU(53)에의한, HDD(21)로부터 포터블 디바이스(6)의 플래시 메모리(61) [예를 들면, 메모리스틱 (상표)]에, 음악 데이터를 이동하는 처리에 대해 설명한다. 스텝 S51에 있어서, CPU(11)는 곡 데이터 베이스 전체의 해치값을 계산하고, 스텝 S52에서, 전회 CPU(32)에 계산시키고, 불휘발성 메모리(34)에 보존하여 놓은 해치값과 비교한다. 양자가 일치하지 않은 경우, CPU(11)는, 스텝 S53으로 진행하고, 예를 들면, 「곡 데이터 베이스가 개찬될 우려가 있습니다」와 같은 메시지를 디스플레이(20)에 표시시킨 후, 처리를 종료시킨다. 이 경우의 처리는, 도 8의 스텝 S31 내지 스텝 S34의 처리와 마찬가지의 처리이다. 이 경우에 있어서는, HDD(21)로부터 포터블 디바이스(6)에의 음악 데이터의 이동이 실행되지 않게 된다.
다음에, 스텝 S54에 있어서, CPU(11)는, HDD(21)에 형성되어 있는 곡 데이터 베이스로부터, 거기에 등록되어 있는 곡의 정보를 판독하고, 디스플레이(20)에, 선택을 위한 GUI로서 표시시킨다. 사용자는, 이 선택을 위한 GUI에 기초하여, HDD(21)로부터 포터블 디바이스(6)로 이동시키는 곡을, 키보드(18) 또는 마우스(19)를 조작하여 선택한다. 다음에, 스텝 S55에 있어서, CPU(11)는, 스텝 S54에서 선택된 선택곡의 재생 조건, 복사 조건, 재생 시 과금 조건 등을 조사한다. 이 처리의 상세는, 도 13의 플로우차트를 참조하여 후술한다.
다음에, 스텝 S56에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)와 포터블 디바이스(6)의 CPU(53) 사이에서, 상호 인증 처리가 행해지고, 통신용 자물쇠가 공유된다.
예를 들면, 포터블 디바이스(6)의 플래시 메모리(61) [또는, EEPROM(68)]에는, 마스터 열쇠 KM이 미리 기억되어 있고, 퍼스널 컴퓨터(1)의 RAM(13)[또는, HDD(21)의 소정의 파일]에는, 개별 열쇠 KP와 ID가 미리 기억되어 있도록 한다. CPU(53)는 CPU(11)로부터, RAM(13)에 미리 기억되어 있는 ID의 공급을 받고, 그 ID와 자기 자신이 갖는 마스터 열쇠 KM에 해시 함수를 적용하여, RAM(13)에 기억되어 있는 퍼스널 컴퓨터(1)의 개별 열쇠와 동일한 열쇠를 생성한다. 이와 같이 함으로써, 퍼스널 컴퓨터(1)와 포터블 디바이스(6)의 양방에, 공통의 개별 열쇠가 공유되게 된다. 이 개별 열쇠를 이용하여 또한, 일시적인 통신용 열쇠를 생성할 수가 있다.
혹은 또, 퍼스널 컴퓨터(1)의 RAM(13)에 ID와 마스터 열쇠 KMP를 미리 기억시켜 놓음과 함께, 포터블 디바이스(6)의 플래시 메모리(61)에도 포터블 디바이스(6)의 ID와 마스터 열쇠 KMM을 기억시켜 놓는다. 그리고, 각각의 ID와 마스터 열쇠를 상호 다른쪽에 송신함으로써, 다른쪽은 한쪽으로부터 송신되어 온 ID와 마스터 열쇠에 해시 함수를 적용하여, 다른쪽의 개별 열쇠를 생성한다. 그리고, 그 개별 열쇠로부터, 일시적인 통신용 열쇠를 더욱 생성하도록 한다.
또, 인증 방법으로서는, 예를 들면, IOS(International Organization for Standardization) 9798-2를 이용할 수가 있다.
상호 인증이 정확하게 행해졌을 때, 처리는 종료되지만, 정확하게 행해질 때, 또한, 스텝 S57에 있어서, CPU(11)는 선택곡의 파일명을 곡 데이터 베이스로부터 판독하고, 그 파일명의 음악 데이터 (예를 들면, 도 7의 스텝 S20의 처리로 암호화되어 있다)를 HDD(21)로부터 판독한다. 스텝 S58에 있어서, CPU(11)는, 스텝 S57에서 판독한 디지털 음악 데이터의 압축 부호화 방식 (스텝 S19의 처리), 암호화 방식 (스텝 S20의 처리), 포맷 등을 포터블 디바이스(6)의 것으로 변환하는 처리를 실행한다. 이 변환 처리의 상세는, 도 15의 플로우차트를 참조하여 후술한다.
스텝 S59에 있어서, CPU(11)는 스텝 S58에서 변환한 음악 데이터를, 스텝 S56의 상호 인증 처리에 의해 공유한 통신용 열쇠로 암호화하고, 포터블 디바이스(6)에 USB 포트(23)를 통해 전송한다. 스텝 S60에 있어서, 포터블 디바이스(6)의 CPU(53)는, USB 커넥터(56)를 통해 이 전송되어 온 음악 데이터를 수신하면, 그 음악 데이터를, 그대로 플래시 메모리(61)에 기억시킨다.
스텝 S61에 있어서, CPU(11)는, 또한, 곡 데이터 베이스에 등록되어 있는 그 선택곡의 재생 조건 (개시 일시, 종료 일시, 횟수 제한 등)을, 포터블 디바이스(6)가 관리하고 있는 형식으로 변환한다. 스텝 S62에 있어서, CPU(11)는, 또한 선택곡의 곡 데이터 베이스 중에 등록되어 있는 복사 조건 중의 SCMS 정보를, 포터블 디바이스(6)의 관리하는 형식으로 변환한다. 그리고, 스텝 S63에 있어서, CPU(11)는, 스텝 S61에서 변환한 재생 조건과, 스텝 S62에서 변환한 SCMS 정보를, 포터블 디바이스(6)로 전송한다. 포터블 디바이스(6)의 CPU(53)는, 전송을 받은 재생 조건과 SCMS 정보를, 플래시 메모리(61)에 보존한다.
스텝 S64에 있어서, CPU(11)는 또한, 선택곡의 곡 데이터 베이스 중에 등록되어 있는 재생 조건, 재생 시 과금 조건, 복사 조건 등을, CPU(11)가 곡 데이터 베이스중에서 취급하고 있는 형식 그대로, 포터블 디바이스(6)로 전송하고, 플래시 메모리(61)에 보존시킨다.
스텝 S65에 있어서, CPU(11)는, 선택곡의 암호화되어 있는 암호 열쇠를 곡 데이터 베이스로부터 판독하고, 스텝 S66에 있어서, 그 암호 열쇠를 RAM(13)에 보존되어 있는 보존용 열쇠로 복호하고, 통신용 열쇠로 암호화한다. 그리고, 통신용열쇠로 암호화한 암호 열쇠를, CPU(11)는, 포터블 디바이스(6)로 전송한다.
포터블 디바이스(6)의 CPU(53)는, 스텝 S67에서, 퍼스널 컴퓨터(1)로부터 전송되어 온 암호 열쇠를 상호 인증 처리로 공유한 통신용 열쇠를 이용하여 복호하고, 자기 자신의 보존용 열쇠를 이용하여 암호화하고, 이미 보존한 데이터와 관련지어 만들어, 플래시 메모리(61)에 보존한다.
CPU(53)는, 암호 열쇠의 보존이 완료하면, 스텝 S68에 있어서, 퍼스널 컴퓨터(1)에 대해 암호 열쇠를 보존한 것을 통지한다. 퍼스널 컴퓨터(1)의 CPU(11)는, 포터블 디바이스(6)로부터 이 통지를 받으면, 스텝 S69에 있어서, HDD(21)로부터, 그 음악 데이터의 파일을 삭제함과 함께, 곡 데이터 베이스로부터 그 곡의 요소의 조를 삭제한다. 즉, 이에 따라, 복사가 아니라, 이동 (move)이 행해지게 된다. 그리고, 스텝 S70에 있어서, CPU(11)는, 어댑터(26)의 CPU(32)에, 곡 데이터 베이스의 데이터를 전송하고, 전체의 해시값을 게산시켜서, 불휘발성 메모리(34)에 보존시킨다. 이 해치값이, 상술한 스텝 S52에 있어서, 전회 보존해 놓은 해치값으로서 이용되게 된다.
다음에, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11)에 의한, 도 12A의 스텝 S55에 있어서의 선택곡의 재생 조건 등의 체크 처리에 대해 설명한다. 스텝 S81에 있어서, CPU(11)는, 곡 데이터 베이스로부터, 각종의 조건을 판독한다. CPU(11)는, 스텝 S82에 있어서, 스텝 S81에서 판독한 각종 조건 중, 복사 횟수가 복사 제한 횟수를 이미 넘고 있는지의 여부를 판정한다. 복사 횟수가, 복사 제한 횟수를 이미 넘고 있는 경우에는, 그 이상 복사를 허용하는 것은 아니므로, 스텝 S83으로 진행하고, CPU(11)는, 예를 들면, 「이미 복사 횟수가 복사 제한 횟수에 도달해 있습니다」와 같은 메시지를 디스플레이(20)에 표시시켜서, 처리를 종료시킨다. 스텝 S82에 있어서, 복사 횟수가 복사 제한 횟수를 넘고 있지 않다고 판정된 경우, 스텝 S84로 진행하고, 현재 일시가 재생 종료 일시를 넘고 있는지 여부의 판정이 행해진다. 현재 일시로서는, 어댑터(26)의 RTC(35)로부터 출력된 것이 이용된다. 이에 따라, 사용자가, 퍼스널 컴퓨터(1)의 현재 시각을 의도적으로 과거의 값으로 수정한 것이 이용되는 것 등이 방지된다. CPU(11)는, 이 현재 일시를 CPU(32)로부터 제공을 받아, 스텝 S84의 판단을 스스로 행하거나, 또는, 스텝 S81에서, 곡 데이터 베이스로부터 판독한 재생 조건을 어댑터(26)의 CPU(32)에 공급하고, CPU(32)에, 스텝 S84의 판정 처리를 실행시킨다.
현재 일시가 재생 종료 일시를 넘고 있는 경우, 스텝 S85로 진행하고, CPU(11)는, 선택곡을 HDD(21)로부터 소거함과 함께, 곡 데이터 베이스로부터, 그 선택곡의 정보를 소거한다. 스텝 S86에 있어서, CPU(11)는, CPU(32)에, 곡 데이터 베이스의 해치값을 계산시켜서, 그것을 불휘발성 메모리(34)에 보존시킨다. 이후, 처리는 종료된다. 따라서, 이 경우, 음악 데이터의 이동이 실행되지 않는다.
스텝 S84에 있어서, 현재 일시가, 재생 종료 일시를 넘고 있지 않다고 판정된 경우, 스텝 S87로 진행하고, CPU(11)는, 그 선택곡의 재생 시 과금 조건 (예를 들면, 재생 1회당 요금)이 곡 데이터 베이스 중에 등록되어 있는지의 여부를 판정한다. 재생 시 과금 조건이 등록되어 있는 경우에는, CPU(11)는, 스텝 S88에 있어서, 포터블 디바이스(6)와 통신하고, 포터블 디바이스(6)에 과금 기능이 존재하는지의 여부를 판정한다. 포터블 디바이스(6)에 과금 기능이 존재하지 않는 경우에는, 선택곡을 포터블 디바이스(6)에 전송하는 것은 아니므로, 스텝 S89에 있어서, CPU(11)는, 예를 들면, 「전송처가 과금 기능을 갖고 있지 않습니다」와 같은 메시지를 디스플레이(20)에 표시시켜, 음악 데이터의 이동 처리를 종료시킨다.
스텝 S87에 있어서 재생 시 과금 조건이 등록되어 있지 않다고 판정된 경우, 또는, 스텝 S88에 있어서, 포터블 디바이스(6)에 과금 기능이 존재한다고 판정된 경우, 스텝 S90으로 진행하고, CPU(11)는, 선택곡에 관해, 예를 들면, 재생 제한 횟수 등의 그 밖의 재생 조건이 등록되어 있는지의 여부를 판정한다. 그 밖의 재생 조건이 등록되어 있는 경우에는, 스텝 S91로 진행하고, CPU(11)는, 포터블 디바이스(6)에, 그 재생 조건을 지키는 기능이 존재하는지의 여부를 판정한다. 포터블 디바이스(6)가, 그 재생 조건을 지키는 기능을 갖고 있지 않는 경우에는, 스텝 S92로 진행하고, CPU(11)는, 예를 들면, 「전송처의 장치가 재생 조건을 지키는 기능을 갖고 있지 않습니다」와 같은 메시지를 디스플레이(20)에 표시시키고, 처리를 종료시킨다.
스텝 S90에 있어서, 재생 조건이 등록되어 있지 않다고 판정된 경우, 또는 스텝 S91에 있어서, 포터블 디바이스(6)가 재생 조건을 지키는 기능을 갖고 있다고 판정된 경우, 재생 조건 등의 체크 처리가 종료되고, 도 12A의 스텝 S56으로 되돌아간다.
도 14는, 포터블 디바이스(6)가 관리하고 있는 (지키는 것이 가능한) 재생 조건의 예를 나타내고 있다. 이 예에 있어서는, 아이템(1) 내지 아이템(3)의 각 곡에 대해, 재생 개시 일시와 재생 종료 일시가 등록되어 있지만, 재생 횟수는, 아이템(2)에 대해서만 등록되어 있고, 아이템(1)과 아이템(3)에 대해서는 등록되어 있지 않다. 따라서, 아이템(2)의 곡이 선택곡으로 된 경우, 재생 횟수의 재생 조건은 지키는 것이 가능하지만, 아이템(1) 또는 아이템(3)의 곡이 선택곡으로 된 경우, 재생 횟수의 조건은 지킬 수 없게 된다.
다음에, 도 15의 플로우차트를 참조하여, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11)에 의한, 도 12A의 스텝 S58에 있어서의 포맷 변환 처리의 상세에 대해 설명한다. 스텝 S101에 있어서, CPU(11)는, HDD(21)에 기록되어 있는 선택곡의포맷 (재생 조건, 사용 조건, 복사 조건 등)을 조사한다. 스텝 S102에 있어서, CPU(11)는 상대편의 기기 [지금의 경우, 포터블 디바이스(6)]로 설정하는 것이 가능한 조건을 조사한다. 즉, CPU(11)는, 포터블 디바이스(6)의 CPU(53)에 설정 가능한 조건을 조회하고, 그 회답을 얻는다. 스텝 S103에 있어서 CPU(11)는, 곡 데이터 베이스 중에 등록되어 있는 포맷의 조건 중, 상대편의 기기에 설정 가능한 조건을 스텝 S102에서 조사한 조건에 기초하여 결정한다.
스텝 S104에 있어서, CPU(11)는, 설정 가능한 조건이 존재하는지의 여부를 판정하고, 설정 가능한 조건이 존재하지 않는 경우에는, 스텝 S105로 진행하고, 음악 데이터를 포터블 디바이스(6)로 이동하는 처리를 금지한다. 즉, 이 경우에는, 곡 데이터 베이스 중에 등록되어 있는 조건을 포터블 디바이스(6)를 지킬 수 없으므로, 그와 같은 포터블 디바이스(6)에는, 음악 데이터를 이동하는 것이 금지되는 것이다.
스텝 S104에 있어서 설정 가능한 조건이 존재한다고 판정된 경우, 스텝 S 106으로 진행하고, CPU(11)는, 그 조건을 상대편의 기능 포맷의 조건으로 변환한다. 그리고, 스텝 S107에 있어서, 변환한 조건을 상대편의 기기로 설정한다. 그 결과, 포터블 디바이스(6)는 설정된 조건에 따라서 (그 조건을 지켜), 음악 데이터 재생하는 것이 가능해진다.
다음에, 도 16A, 도 16B 및 도 16C에 도시한 플로우차트를 참조하여, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11) 및 메인 프로그램을 실행하는 CPU(53)에 의한, HDD(21)로부터 포터블 디바이스(6)에 음악 데이터를 복사하는 경우의 처리에 대해 설명한다. 이 도 16A, 도 16B 및 도 16C의 스텝 S111 내지 스텝 S127의 처리는, 도 12A, 도 12B 및 도 12C의 HDD(21)로부터 포터블 디바이스(6)로 음악 데이터를 이동시키는 경우의 스텝 S51 내지 스텝 S67의 처리와 마찬가지의 처리이다. 즉, 이 경우에 있어서도, 곡 데이터 베이스의 개찬이 체크된 후, 선택곡의 재생 조건과의 체크 처리가 행해진다. 또한, 포터블 디바이스(6)와, 퍼스널 컴퓨터(1) 사이의 상호 인증 처리의 후, 음악 데이터가, 퍼스널 컴퓨터(1)의 HDD(21)로부터 포터블 디바이스(6)의 플래시 메모리(61)에 전송되고, 보존된다. 그 후, 스텝 S128에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 곡 데이터 베이스의 복사 횟수 카운터를 1만큼 인크리먼트한다. 그리고, 스텝 S129에 있어서, CPU(11)는 CPU(32)에, 곡 데이터 베이스 전체의 해치값을 계산시켜서, 그 값을 불휘발성 메모리(34)에 보존시킨다.
다음에, 도 17의 플로우차트를 참조하여, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11) 및 메인 프로그램을 실행하는 CPU(53)에 의한, 포터블 디바이스(6)로부터 HDD(21)에 음악 데이터를 이동하는 처리에 대해 설명한다. 스텝 S161에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 포터블 디바이스(6)의 CPU(53)에 대해 플래시 메모리(61)에 기억되어 있는 곡의 정보의 판독을 요구한다. CPU(53)는, 이 요구에 대응하여, 플래시 메모리(61)에 기억되어 있는 곡의 정보를 퍼스널 컴퓨터(1)로 송신한다. 퍼스널 컴퓨터(1)의 CPU(11)는, 이 정보에 기초하여, 디스플레이(20)에, 플래시 메모리(61)에 기억되어 있는 곡을 선택하기 위한 GUI를 표시시킨다. 사용자는, 키보드(18) 또는 마우스(19)를 조작하여, 그 GUI에 기초하여 포터블 디바이스(6)로부터 HDD(21)로 이동시키는 곡을 지정한다.
스텝 S162에 있어서, CPU(11)는, CPU(53) 사이에 있어서, 상호 인증 처리를 실행하고, 통신용 열쇠를 공유한다. 이 처리는, 도 12A의 스텝 S56에 있어서의 경우와 마찬가지의 처리이다.
다음에, 스텝 S163에 있어서, CPU(53)는, 플래시 메모리(61)에 기억되어 있는 암호화되어 있는 선택곡의 음악 데이터를 판독하고, 퍼스널 컴퓨터(1)로 전송한다. 퍼스널 컴퓨터(1)의 CPU(11)는, 스텝 S164에 있어서, 포터블 디바이스(6)로부터 전송되어 온 음악 데이터를, 1개의 파일로서 파일명을 붙여, HDD(21)에 보존한다. 이 보존은, 예를 들면, 1개의 파일의 일부로서, 파일명의 위치 정보 (예를 들면, 선두에서의 바이트수)를 제공하여 행하도록 하는 것도 가능하다.
스텝 S165에 있어서, CPU(53)는 플래시 메모리(61)에 기억되어 있는 선택곡의 암호화되어 있는 암호 열쇠를 판독하고, 그것을 자기 자신의 보존용 열쇠로 복호하고, 또한 통신용 열쇠로 암호화한 후, 퍼스널 컴퓨터(1)로 전송한다. 이 암호열쇠는, 예를 들면, 도 12C의 스텝 S67의 처리에서 플래시 메모리(61)에 보존되어 있던 것이다.
스텝 S166에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 포터블 디바이스(6)로부터 암호 열쇠의 전송을 받으면, 그것을 통신용 열쇠로 복호하고, 자기 자신의 보존용 열쇠로 암호화한다. 스텝 S167에서, CPU(11)는, 스텝 S164에서 보존한 음악 데이터의 파일의 파일명, 그 곡의 정보를 사용자가 GUI를 통해 입력한 곡명, 스텝 S166에서 암호화한 암호 열쇠 등을, HDD(21)의 곡 데이터 베이스에 등록한다. 그리고, 스텝 S168에 있어서, CPU(11)는, 그 곡 데이터 베이스 전체의 해치값을 CPU(32)에 계산시켜서, 불휘발성 메모리(34)에 보존시킨다.
스텝 S169에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 포터블 디바이스(6)에 대해 암호 열쇠가 보존된 것을 통지하고, 그 곡의 음악 데이터의 삭제를 요구한다. CPU(53)는, 퍼스널 컴퓨터(1)로부터, 그 곡의 음악 데이터의 삭제가 요구되어 왔을 때, 스텝 S170에 있어서, 플래시 메모리(61)에 기억되어 있는 그 곡의 음악 데이터를 삭제한다.
다음에, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11) 및 메인 프로그램을 실행하는 CPU(53)에 의한, 포터블 디바이스(6)로부터 HDD(21)로 음악 데이터를 복사하는 경우의 처리에 대해, 도 18의 플로우차트를 참조하여 설명한다. 이 도 18에 도시한 스텝 S181 내지 스텝 S188의 처리는, 도 17의 포터블 디바이스(6)로부터 HDD(21)로 음악 데이터를 이동시키는 경우의 처리에 있어서의 스텝 S161 내지 스텝 S168의 처리와 마찬가지의 처리이다. 즉, 복사 처리의 경우에는, 도 17의 스텝 S169, S170의 처리가 생략되는 점을 제외하고, 이동의 경우의 처리와 기본적으로 마찬가지의 처리가 되기 때문에, 그 설명은 생략한다.
다음에, 도 19의 플로우차트를 참조하여, EMD 서버(4) 및 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11)에 의한, EMD 서버(4)로부터 전송을 받은 음악 데이터를 HDD(21)로 복사하는 처리에 대해 설명한다. 스텝 S201에 있어서, CPU(11)는, 키보드(18) 또는 마우스(19)를 통해 사용자로부터 EMD 서버(4)에의 액세스가 지령되었을 때, 통신부(25)를 제어하고, 네트워크(2)를 통해 EMD 서버(4)를 액세스시킨다. EMD 서버(4)는, 이 액세스에 대응하여, 자기 자신이 보유하고 있는 곡의 곡 번호, 곡명, 각 정보 등의 정보를, 네트워크(2)를 통해 퍼스널 컴퓨터(1)로 전송한다. 퍼스널 컴퓨터(1)의 GPU(11)는, 통신부(25)를 통해, 이 정보를 취득했을 때, 그것을 인터페이스(17)를 통해 디스플레이(20)에 표시시킨다. 사용자는, 디스플레이(20)에 표시된 GUI를 이용하여, 스텝 S202에 있어서, 복사를 희망하는 곡을 지정한다. 이 지정 정보는, 네트워크(2)를 통해 EMD 서버(4)에 전송된다. 스텝 S203에 있어서, CPU(11)는 EMD 서버(4) 사이에 있어서, 네트워크(2)를 통해 상호 인증 처리를 실행하여, 통신용 열쇠를 공유한다.
퍼스널 컴퓨터(1)와 EMD 서버(4) 사이에서 행해지는 상호 인증 처리는, 예를 들면, ISO9798-3으로 규정되는 공개 열쇠와 비밀 열쇠를 이용하여 행하도록 할 수 있다. 이 경우, 퍼스널 컴퓨터(1)는, 자기 자신의 기밀 열쇠와 EMD 서버(4)의 공개열쇠를 미리 갖고 있고, EMD 서버(4)는 이미 자기 자신의 비밀 열쇠를 지니고, 상호 인증 처리가 행해진다. 퍼스널 컴퓨터(1)의 공개 열쇠는, EMD 서버(4)로부터 전송하거나, 혹은 퍼스널 컴퓨터(1)에 미리 배포되어 있는 증명서(certificate)를 퍼스널 컴퓨터(1)로부터 EMD 서버(4)로 전송하고, 그 증명서를 EMD 서버(4)가 확인하여, 공개 열쇠를 얻도록 하여도 좋다. 또한, 스텝 S204에 있어서, CPU(11)는, EMD 서버(4) 사이에서 과금에 관한 처리를 실행한다. 이 과금의 처리의 상세는, 도 20의 플로우차트를 참조하여 후술한다.
다음에, 스텝 S205에 있어서, EMD 서버(4)는, 퍼스널 컴퓨터(1)에 대해, 스텝 S202에서 지정된 곡의 암호화되어 있는 음악 데이터를 네트워크(2)를 통해 퍼스널 컴퓨터(1)로 전송한다. 이 때, 시각 정보도 적절하게 전송된다. 스텝 S206에 있어서, CPU(11)는 전송을 받은 음악 데이터를 파일명을 붙여 HDD(21)에 1개의 파일로서 보존한다. 스텝 S207에 있어서, EMD 서버(4)는, 또한, 그 곡의 암호 열쇠를 스텝 S203에서 퍼스널 컴퓨터(1)와 공유한 통신용 열쇠를 이용하여 암호화하고, 퍼스널 컴퓨터(1)로 전송한다.
CPU(11)는, 스텝 S208에 있어서, EMD 서버(4)로부터 전송을 받은 암호 열쇠를 단독으로, 또는 어댑터(26)의 CPU(32)와 공동하여 통신용 열쇠를 이용하여 복호하고, 복호하여 얻어진 암호 열쇠를 자기 자신의 보존용 열쇠로 암호화한다. 스텝 S209에 있어서, CPU(11)는 그 곡의 파일명, 곡의 정보, 사용자가 입력한 곡명, 암호화된 암호 열쇠를 조로 하여, HDD(21)의 곡 데이터 베이스에 등록한다. 또한, 스텝 S210에 있어서, CPU(11)는 그 곡 데이터 베이스 전체의 해시값을 CPU(32)에 계산시켜서, 불휘발성 메모리(34)에 보존시킨다.
또, 스텝 S205에 있어서 EMD 서버(4)는, 음악 데이터와 함께, 시각 데이터를 퍼스널 컴퓨터(1)로 송신한다. 이 시각 데이터는, 퍼스널 컴퓨터(1)로부터 어댑터(26)로 전송된다. 어댑터(26)의 CPU(32)는, 퍼스널 컴퓨터(1)로부터 전송되어 온 시각 데이터를 수신하면, 스텝 S211에 있어서, RTC(35)의 시각을 수정시킨다. 이와 같이 하여, 상호 인증의 결과, 올바른 장치라고 인식된 외부의 장치로부터 얻어진 시각 정보에 기초하여, 어댑터(26)의 RTC(35)의 시각 정보를 수정하도록 하였기 때문에, 어댑터(26)를 항상 올바른 시각 정보를 보유하는 것이 가능해진다.
다음에, 도 20의 플로우차트를 참조하여, EMD 서버(4) 및 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11)에 의한, 도 19의 스텝 S204에 있어서의 과금에 관한 처리의 상세에 대해 설명한다. 스텝 S221에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 스텝 S201에서 EMD 서버(4)로부터 전송되어 온 가격 정보 중으로부터, 스텝 S202에서 지정된 선택곡의 가격 정보를 판독하고, 이것을 HDD(21) 상의 과금 로그에 기입한다. 도 21은, 이러한 과금 로그의 예를 나타내고 있다. 이 예에 있어서는, 사용자는, 아이템(1) 내지 아이템(3)을, EMD 서버(4)로부터 복사하고 있고, 아이템(1)과 아이템(2)의 영역은 50엔으로 되고, 아이템(3)의 요금은 60엔으로 되어 있다. 그 시점에서의 과금 로그의 해치값도, CPU(32)에 의해 계산되고, 불휘발성 메모리(34)에 등록되어 있다.
다음에, 스텝 S222에 있어서, 퍼스널컴퓨터(1)의 CPU(11)는, 스텝 S221에서 기입한 과금 로그를 HDD(21)로부터 판독하고, 이것을 네트워크(2)를 통해 EMD 서버(4)로 전송한다. EMD 서버(4)는, 스텝 S223에 있어서, 퍼스널 컴퓨터(1)로부터 전송을 받은 과금 로그에 기초하는 과금 계산 처리를 실행한다. 즉, EMD 서버(4)는, 내장하는 데이터 베이스에, 퍼스널 컴퓨터(1)의 사용자로부터 전송되어 온 과금 로그를 추가 갱신한다. 그리고, 스텝 S224에 있어서, EMD 서버(4)는, 그 과금 로그에 대해 즉시 결재하는지의 여부를 판정하고, 즉시 결재하는 경우에는, 스텝 S225로 진행하여, EMD 서버(4)는 결재에 필요한 상품명, 금액 등을 결재 서버 (도시하지 않음)로 전송한다. 그리고, 스텝 S226에 있어서, 결재 서버는 퍼스널 컴퓨터(1)의 사용자에 대한 결재 처리를 실행한다. 스텝 S224에 있어서, 결재는 즉시는 행해지지 않는다고 판정된 경우, 스텝 S225와 S226의 처리는 스킵된다. 즉, 이 처리는, 예를 들면, 월에 1회 등, 정기적으로 그 후 실행된다.
다음에, 도 22A 및 도 22B에 도시한 플로우차트를 참조하여, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11)에 의한, 음성 입출력 인터페이스(24)의 IEC60958 단자로부터 입력된, 도시하지 않은 CD 플레이어 등으로부터의 재생 음악 데이터를, HDD(21)에 복사하는 경우의 처리에 대해 설명한다. 스텝 S241에 있어서, 사용자는, CD 플레이어의 IEC60958 출력 단자를, 퍼스널 컴퓨터(1)의 음성 입출력 인터페이스(24)의 IEC60958 단자에 접속한다. 스텝 S242에 있어서, 사용자는, 키보드(18) 또는 마우스(19)를 조작하고, CD 플레이어로부터 복사하는 곡의 곡명 (또는, 곡에 대응하는 번호)을 입력한다. 그리고, 스텝 S243에 있어서 사용자는, CD 플레이어의 버튼을 조작하고, CD 플레이어의 재생을 시작시킨다. CD 플레이어와 퍼스널 컴퓨터(1) 사이에서 제어 신호를 송수신하는 선이 접속되어 있는 경우에는, 퍼스널 컴퓨터(1)의 키보드(18) 또는 마우스(19)를 통해 재생 개시 지령을 입력함으로써, CD 플레이어에게 CD의 재생을 개시시키는 것도 가능하다.
CD 플레이어에 있어서, CD의 재생이 개시되면, 스텝 S244에 있어서, CD 플레이어로부터 출력된 음악 데이터가, IEC60958 단자를 통해 퍼스널 컴퓨터(1)로 전송되어 온다. 스텝 S245에 있어서, CPU(11)는, IEC60958 단자를 통해 입력되어 오는 데이터로부터, SCMS(Serial Copy Management System) 데이터를 판독한다. 이 SCMS 데이터에는 복사 금지, 복사 1회한 가능, 복사 프리 등의 복사 정보가 포함되어 있다. 그래서, 스텝 S246에 있어서, CPU(11)는, SCMS 데이터가 복사 금지를 나타내고 있는지의 여부를 판정하여, 복사 금지를 나타내고 있는 경우에는, 스텝 S247로 진행하고, CPU(11)는 디스플레이(20)에, 예를 들면, 「복사가 금지되어 있습니다」라고 한 메시지를 표시시켜, 복사 처리를 종료한다. 즉, 이 경우에는, HDD(21)에의 복사가 금지된다.
CPU(11)는, 스텝 S246에 있어서, 스텝 S245에서 판독한 SCMS 정보가 복사 금지를 나타내고 있지 않다고 판정한 경우, 스텝 S248로 진행하고, 워터 마크 코드를 판독하고, 그 워터 마크가 복사 금지를 나타내고 있는지의 여부를 스텝 S249에 있어서 판정한다. 워터마크가 복사 금지를 나타내고 있는 경우에는, 스텝 S247로 진행하고, 상술한 경우와 마찬가지로, 소정의 메시지가 표시되고, 복사 처리가 종료된다.
스텝 S249에 있어서, 워터 마크가 복사 금지를 나타내고 있지 않다고 판정된 경우, 스텝 S250으로 진행하고, 기한 데이터 베이스 체크 처리가 행해진다. 기한데이터 베이스 체크의 결과, 선택곡이 이미 등록되어 있으면, 스텝 S251, S252의 처리로, 처리가 종료된다. 이 처리는, 도 7의 스텝 S13, S14의 처리와 마찬가지의 처리이다.
선택곡이 아직 HDD(21)에 등록되어 있지 않은 곡이면, 스텝 S253 내지 S258로, 그 등록 처리가 실행된다. 이 스텝 S253 내지 스텝 S258의 처리는, 스텝 S 257에 있어서, IEC60958 단자로부터 공급되어 오는 SCMS 정보도 곡 데이터 베이스에 등록되는 점을 제외하고, 도 7의 스텝 S19 내지 스텝 S24의 처리와 마찬가지의 처리이기 때문에, 그 설명은 생략한다.
다음에, 도 23A 및 도 23B에 도시한 플로우차트를 참조하여, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11)에 의한, 음악 데이터를 HDD(21)로부터 IEC60958 단자로 출력 (재생)하는 경우의 처리에 대해 설명한다. 스텝 S271 내지 스텝 S273에 있어서, 도 16A의 스텝 S111 내지 S113에 있어서의 경우와 마찬가지로, 곡 데이터 베이스 전체의 해치값이 계산되고, 전회 보존해 놓은 해시값과 일치하는지의 여부가 판정되고, 곡 데이터 베이스의 개찬의 체크 처리가 행해진다. 곡 데이터 베이스의 개찬이 행해지고 있지 않다고 판정된 경우, 스텝 S274로 진행하고, CPU(11)는, HDD(21)의 곡 데이터 베이스를 액세스하고, 거기에 등록되어 있는 곡의 정보를 판독하고, 디스플레이(20)에 표시시킨다. 사용자는, 그 표시를 보고서, 키보드(18) 또는 마우스(19)를 적절하게 조작하여, 재생 출력하는 곡을 선택한다. 스텝 S275에 있어서, CPU(11)는, 선택곡의 재생 조건 등의 체크 처리를 실행한다. 이 재생 조건 등의 체크 처리의 상세는, 도 24의 플로우차트를 참조하여 후술한다.
다음에, 스텝 S276에 있어서, CPU(11)는, 스텝 S274에 있어서 선택된 곡의 암호 열쇠를 곡 데이터 베이스로부터 판독하고, 보존용 열쇠로 복호한다. 스텝 S277에 있어서, CPU(11)는, 선택곡의 SCMS 정보를 곡 데이터 베이스로부터 판독하여, IEC60958 단자로부터 출력하는 SCMS 정보를, SCMS 시스템의 규칙에 따라서 결정한다. 예를 들면, 재생 횟수에 제한이 있는 경우, 재생 횟수는 1만큼 인크리먼트되고, 새로운 SCMS 정보로 된다. 스텝 S278에 있어서, CPU(11)는 또한, 선택곡의 ISRC를 곡 데이터 베이스로부터 판독한다.
다음에, 스텝 S279에 있어서, CPU(11)는, 곡 데이터 베이스로부터 선택곡 파일명을 판독하고, 그 파일명을 기초로, 그 음악 데이터를 HDD(21)로부터 판독한다. CPU(11)는 또한, 그 음악 데이터에 대응하는 암호 열쇠를 곡 데이터 베이스로부터 판독하여, 보존용 열쇠로 복호하고, 복호한 암호 열쇠를 이용하여, 암호화되어 있는 음악 데이터를 복호한다. CPU(11)는, 또한, 그 음악 데이터의 압축 부호를 복호한다. 스텝 S280에 있어서, CPU(11)는 스텝 S279에서, 복호한 디지털 음악 데이터를, 스텝 S277에서 결정한 SCMS 정보, 및 스텝 S278에서 판독한 ISRC 정보와 함께, IEC60958의 규정에 따라서, IEC60958 단자로부터 출력한다. 또한, 디지털 음악 데이터를 아날로그화하고, 음성 입출력 인터페이스(24)의 아날로그 출력 단자로부터 출력한다.
스텝 S281에 있어서, CPU(11)는, 곡 데이터 베이스 중의 재생 횟수 카운터의 값을 1만큼 인크리먼트한다. 그리고, 스텝 S282에 있어서, 선택곡에 재생 시 과금 조건이 부가되어 있는지의 여부를 판정한다. 재생 시 과금 조건이 부가되어 있는 경우에는, 스텝 S283으로 진행하고, CPU(11)는, 대응하는 요금을 과금 로그에 기입하여, 스텝 S284에 있어서, 곡 데이터 베이스 전체의 해치값을 CPU(32)에 계산시키고, 불휘발성 메모리(34)에 기억시킨다. 스텝 S282에 있어서, 선택곡에 재생 시 과금 조건이 부가되어 있지 않다고 판정된 경우, 스텝 S283과 스텝 S284의 처리는 스킵된다.
다음에, 도 24의 플로우차트를 참조하여, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11)에 의한, 도 23A의 스텝 S275의 재생 조건 등의 체크 처리의 상세에 대해 설명한다. 스텝 S301에 있어서, CPU(11)는, 곡 데이터 베이스의 각종 조건을 판독한다. 스텝 S302에 있어서 CPU(11)는, 판독한 조건 중, 재생 횟수가 제한 횟수를 넘고 있는지의 여부를 판정하여, 넘고 있는 경우에는, 스텝 S303으로 진행하고, 선택곡을 HDD(21)로부터 삭제시킴과 함께, 곡 데이터 베이스로부터 선택곡의 정보를 삭제시킨다. 스텝 S304에 있어서, CPU(11)는 또한, 곡 데이터 베이스가 새로운 해치값을 CPU(32)에 계산시켜서, 그 해치값을 불휘발성 메모리(34)에 보존시킨다. 이 경우, 재생 출력은 금지된다.
스텝 S302에 있어서, 재생 횟수가 제한 횟수를 넘고 있지 않다고 판정된 경우, 스텝 S305로 진행하고, CPU(11)는, 재생 종료 일시가 현재 일시를 넘고 있는지의 여부를 판정한다. 재생 종료 일시가 현재 일시를 넘고 있는 경우에는, 상술한 경우와 마찬가지로 스텝 S303에 있어서, 선택곡을 HDD(21)로부터 삭제시킴과 함께, 곡 데이터 베이스로부터도 삭제시킨다. 그리고, 스텝 S304에 있어서, 새로운 곡 데이터 베이스의 해치값이 계산되고, 보존된다. 이 경우에도, 재생 출력은 금지된다.
스텝 S305에 있어서, 재생 종료 일시가 현재 일시를 넘고 있지 않다고 판정된 경우에는, 스텝 S306으로 진행하고, CPU(32)는, 그 선택곡에 대해 재생 시 과금 조건이 부가되어 있는지의 여부를 판정한다. 재생 시 과금 조건이 부가되어 있는 경우에는, 스텝 S307로 진행하고, CPU(11)는, 재생 시 과금 조건이 부가되어 있다는 메시지와 요금을, 디스플레이(20)에 표시시킨다. 스텝 S306에 있어서, 재생 시 과금 조건이 부가되어 있지 않다고 판정된 경우, 스텝 S307의 처리는 스킵된다.
다음에, 도 25A 및 도 25B에 도시한 플로우차트를 참조하여, 콘텐츠 관리 프로그램(111)을 실행하는 CPU(11) 및 메인 프로그램을 실행하는 CPU(53)에 의한, HDD(21)로부터 포터블 디바이스(6) 경유로 음악 데이터를 출력 (재생)하는 경우의 처리에 대해 설명한다. 스텝 S321 내지 스텝 S325에 있어서, 곡 데이터 베이스의개찬 체크와 선택곡의 지정, 및 선택곡의 재생 조건 등의 체크 처리가 행해진다. 그 처리는, 도 23A의 스텝 S271 내지 스텝 S275의 처리와 마찬가지의 처리이기 때문에, 그 설명은 생략한다.
스텝 S326에 있어서, 포터블 디바이스(6)와 퍼스널 컴퓨터(1) 사이에서 상호 인증 처리가 실행되고, 상호 사이에서, 통신용 열쇠가 공유된다. 스텝 S327에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 포터블 디바이스(6)에 대해, 지금부터 보내는 암호화 음성 데이터를 재생하도록 명령한다. 스텝 S328에 있어서, CPU(11)는, 스텝 S324에서 지정된 선택곡의 파일명을 곡 데이터 베이스로부터 판독하고, 그 파일명의 음악 데이터를 HDD(21)로부터 판독한다. CPU(11)는 스텝 S329에 있어서, 음악 데이터의 압축 부호화 방식, 암호화 방식, 포맷 등을 포터블 디바이스(6)의 방식의 것으로 변환하는 처리를 실행한다. 그리고, 스텝 S330에 있어서, CPU(11)는 스텝 S329에 있어서 변환한 음악 데이터를 통신용 열쇠로 암호화하여, 포터블 디바이스(6)로 전송한다.
스텝 S331에 있어서, 포터블 디바이스(6)의 CPU(53)는, 스텝 S327에 있어서, 퍼스널 컴퓨터(1)로부터 전송되어 온 명령에 대응하여, 전송을 받은 각 데이터를 통신용 열쇠로 복호하고, 재생 출력한다. 스텝 S332에 있어서, CPU(11)는 곡 데이터 베이스의 재생 횟수 카운터를 1만큼 인크리먼트한다. 또한, 스텝 S333에 있어서, CPU(11)는, 선택곡에 재생 시 과금 조건이 부가되어 있는지의 여부를 판정하여, 부가되어 있는 경우에는, 스텝 S334에 있어서, 그 요금을 과금 로그에 기입하고, 스텝 S335에 있어서, CPU(32)에, 곡 데이터 베이스 전체의 해치값을 새롭게 계산시켜, 보존시킨다. 선택곡에 재생 시 과금 조건이 부가되어 있지 않은 경우에는 스텝 S334, 스텝 S335의 처리는 스킵된다.
본 발명에 있어서는, 음악 데이터가 부정으로 복제되는 것을 방지하기 위해서, 각종 연구가 활발해지고 있다. 예를 들면, CPU(11)를 동작시키는 프로그램은, 그 실행 순서가 매회 변화하는, 소위 부정 사용 방지 소프트웨어(tamper resistant software)로 되어 있다.
또한, 상술한 바와 같이, CPU(11)의 기능의 일부는, 하드웨어로서의 어댑터(26)로 분담되고, 양자가 협동하여 각종의 처리를 실행하도록 이루어져 있다. 이에 따라, 보다 안전성을 높이는 것이 가능해져 있다.
예를 들면, 상술한 바와 같이, 곡 데이터 베이스의 해치값은, 곡 데이터 베이스 자체에 보존되는 것이 아니라, 어댑터(26)의 불휘발성 메모리(34)에 보존된다. 즉, 도 8의 스텝 S32, S33 등의 전회 보존해 놓은 해치값와의 비교 처리에 있어서, 비교 대상이 되는 과거의 해치값은, 불휘발성 메모리(34)에 기억되어 있도록 된다. 이에 따라, 예를 들면, HDD(21)에 보존되어 있는 음악 데이터를, 다른 기록 매체에 복사 또는 이동시키기 전에, HDD(21)의 기록 내용을 백업해 놓고, HDD(21)로부터, 거기에 보존되어 있는 음악 데이터를 다른 기록 매체에 복사 또는 이동한 후, HDD(21)에 백업해 놓은 데이터를 다시 리스토어하도록 함으로써, 실질적으로 재현 없이, 복사 또는 이동을 할 수 있게 되는 것이 방지된다.
예를 들면, 도 26에 도시한 바와 같이, HDD(21)에 곡 A, B가 보존되어 있는 경우, 불휘발성 메모리(34)에는, 곡 A와 곡 B의 정보에 대응하는 해치값이 보존되어 있다. 이 상태에서, HDD(21)의 기록 데이터를 다른 기록 매체(251)에 백업하였다고 한다. 그 후, HDD(21)에 보존되어 있는 곡 A와 곡 B 중, 곡 A를 다른 기록 매체(252)로 이동시킨 경우, 그 시점에서, HDD(21)에 기록되어 있는 곡은, 곡 B만으로 되기 때문에, 불휘발성 메모리(34)의 해치값도, 곡 B에 대응하는 해치값으로 변경된다.
따라서, 그 후, 기록 매체(251)에 백업해 놓은 HDD(21)의 내용을 HDD(21)에 리스토어하여, HDD(21)에, 다시 곡 A와 곡 B를 보존시켰다고 해도, 불휘발성 메모리(34)에는, 곡 B의 정보로부터 연산된 해치값이 기억되어 있고, 곡 A와 곡 B의 정보로부터 연산된 해시값은 기억되어 있지 않다. 이에 따라, 그 시점에 있어서, HDD(21)에 기억되어 있는 곡 A와 곡 B에 기초하는 해치값이, 불휘발성 메모리(34)에 기억되어 있는 과거의 해시값과 일치하지 않도록 되고, 곡 데이터 베이스가 개찬된 것이 검출된다. 그 결과, 이후, HDD(21)에 보존되어 있는 곡 A와 곡 B의 이용이 제한되게 된다.
또한, 상술한 바와 같이, 어댑터(26)는, RTC(35)를 내장하고 있고, 이 RTC(35)의 값은, 올바른 인증 결과가 얻어진 다른 장치 [예를 들면, EMD 서버(4)]로부터 전송되어 온 시각 데이터에 기초하여, 그 시각 정보를 수정한다. 그리고, 현재 일시로서는, 퍼스널 컴퓨터(1)가 관리할만한 것이 아니라, RTC(35)가 출력하는 것이 이용된다. 따라서, 사용자가, 퍼스널 컴퓨터(1)의 현재 시각을 고의로 과거의 시각으로 수정하고, 재생 조건으로서의 재생 종료 일시의 판정을 면할 수 없게 된다.
또한, 어댑터(26)는, 암호화되어 전송되어 온 프로그램을 ROM(36)에 미리 기억되어 있는 프로그램에 따라서 복호하고, 실행하도록 구성함으로써, 보다 안전성이 높여지고 있다. 다음에, 이 점에 대해, 도 27의 플로우차트를 참조하여 설명한다.
즉, 퍼스널 컴퓨터(1)는, 어댑터(26)에 대해, 소정의 처리를 실행시키고 싶을 때, 스텝 S351에 있어서, 어댑터(26)에 실행시켜야 되는 프로그램을 RAM(13)에 미리 기억되어 있는 암호 열쇠를 이용하여 암호화하여 어댑터(26)로 전송한다. 어댑터(26)의 ROM(36)에는, 퍼스널 컴퓨터(1)로부터 전송되어 온, 암호화되어 있는 프로그램을 복호하고, 실행하기 위한 프로그램이 미리 기억되어 있다. CPU(32)는, 이 ROM(36)에 기억되어 있는 프로그램에 따라서, 퍼스널 컴퓨터(1)로부터 전송되어 온 암호화되어 있는 프로그램을 스텝 S352에 있어서 복호한다. 그리고, 스텝 S 313에 있어서, CPU(32)는 복호한 프로그램을 RAM(33)으로 전개하고, 스텝 S354에 있어서, 그 프로그램을 실행한다.
예를 들면, 상술한 바와 같이, 퍼스널 컴퓨터(1)의 CPU(11)는, HDD(21)의 곡 데이터 베이스의 해치값을 어댑터(26)에 계산시킬 때, 곡 데이터 베이스의 데이터를 암호 열쇠로 암호화하여 어댑터(26)의 CPU(32)로 전송한다. CPU(32)는, 전송되어 온 곡 데이터 베이스의 데이터에 대해 해시 함수를 적응하고, 해치값을 계산한다. 그리고, 계산된 해치값을 불휘발성 메모리(34)에 기억시킨다. 혹은, 그 해치값을, CPU(32)는, 미리 기억되어 있는 과거의 해치값과 비교하여, 비교 결과를 퍼스널 컴퓨터(1)의 CPU(11)로 전송한다.
도 28은, 어댑터(26)의 내부의 보다 구체적인 구성을 나타내고 있다. 어댑터(26)는, 반도체 IC로서 형성된다. 어댑터(26)는, 도 3에 도시한 인터페이스(31), CPU(32), RAM(33), 불휘발성 메모리(34), RTC(35), ROM(36) 이외에, RAM(33)에 대한 기입과 판독을 제어하는 RAM 컨트롤러(261), 및 논리 회로(262)를 갖고 있다. 논리 회로(262)는, 예를 들면, 암호화되어 있는 음악 데이터를 해독한 후, 해독한 데이터를 어댑터(26)로부터 직접 출력하는 경우의 처리를 위해 이용된다.
이들 인터페이스(31) 내지 ROM(36), RAM 컨트롤러(261), 및 논리 회로(262)는, 반도체 IC 내에 일체적으로 조립되고, 외부로부터는 분해할 수 없도록 구성되어 있다.
수정 진동자(271)는, 어댑터(26)가 각종의 처리를 실행하는데 있어서, 기준이 되는 클럭을 생성할 때 이용된다. 발진 회로(272)는, RTC(35)를 동작시키기 위한 발진 회로이다. 배터리(273)는 발진 회로(272), 불휘발성 메모리(34), 및 RTC(35)에 대해 백업용의 전력을 공급하고 있다. 어댑터(26)의 그 밖의 회로에는, 퍼스널 컴퓨터(1)의 전원 공급 회로(281)로부터의 전력이 공급되어 있다.
불휘발성 메모리(34)는, 기입 소거 가능한 ROM에서 구성하는 것도 가능하지만, 배터리(273)로부터의 백업 전원으로 백업되는 RAM에서 구성하는 경우에는, 예를 들면, 도 29A 및 도 29B에 도시한 바와 같이, 불휘발성 메모리(34) 상에 보호 알루미늄층(291)을 형성하고, 또한, 그 보호 알루미늄층(291)과 동일 평면 상이 되도록, 불휘발성 메모리(34)에 배터리(273)로부터의 전력을 공급하는 전원 패턴(292)을 형성하도록 할 수가 있다. 이와 같이 하면, 예를 들면, 불휘발성 메모리(34)를 개찬하기 위해, 보호 알루미늄층(291)을 삭제하려고 하면, 동일 평면 상의 전원 패턴(292)도 삭제되어, 불휘발성 메모리(34)에 대한 전력의 공급이 끊어져서, 내부에 기억되어 있는 데이터가 소거되게 된다. 이와 같이 구성함으로써, 부정 사용 방지 특성을 보다 높일 수 있다.
또한, 도 30에 도시한 바와 같이, 불휘발성 메모리(34)에 대한 데이터의 기록 또는 판독을 위한 배선(301-1 내지 301-3)은, 대응하는 위치에서, 상하 (깊이) 방향으로 중첩하도록 형성되어 있다. 이에 따라, 보다 하층의 배선(301-3)으로부터 데이터를 판독하기 위해서는, 상측의 배선(301-1, 101-2)을 제거하지 않으면 안되고, 복수의 배선(301-1, 301-2, 301-3)으로부터 동시에 데이터를 판독할 수 없게 된다. 또한, 이 배선(301-1 내지 301-3)을 중첩하도록 형성하고, 직접 프로브하면, 그 부가 용량에 의해, 그 내용을 해석하는 것이 곤란하게 되도록 할 수 있다.
이상에 있어서는, 기록 매체로서, 포터블 디바이스(6)를 이용하는 경우를 예로서 설명하였지만, 본 발명은, 그 밖의 기록 매체에 데이터를 이전 또는 복사하는 경우에도 응용하는 것이 가능하다.
또한, 데이터는, 음악 데이터 이외에, 화상 데이터, 그 밖의 데이터로 하는 것도 가능하다.
〈발명의 효과〉
이상과 같이, 본 발명에 따르면, 다음과 같은 효과를 발휘할 수 있다.
(1) HDD(21)에 암호화하여 데이터를 기록함과 함께, 암호 열쇠도 보존용 열쇠로 암호화한 후에 HDD(21)에 기록하도록 하였기 때문에, HDD(21)에 기록되어 있는 음악 데이터를 복사하더라도, 이것을 복호할 수 없기 때문에, 복제가 대량으로 배포되는 것을 방지하는 것이 가능하다.
(2) 소정의 곡을 1회 복사했을 때, 일정 시간 (상기 예의 경우, 48시간) 동안, 그 곡을 복사할 수 없도록 하기 위해서, 그 곡과 녹음 일시를 곡 데이터 베이스 상에 등록하도록 하였기 때문에, 그 복사 횟수를 제한할 수가 있어, 복제를 대량으로 배포하는 것을 방지할 수가 있다.
또한 데이터 베이스를 갱신할 때마다, 데이터의 해시값을 계산하여 보존하도록 하였으므로, 데이터 베이스의 개찬을 방지하는 것이 용이해진다.
(3) 외부의 장치에 음악 데이터를 전달하면, HDD(21) 상의 음악 데이터를 소거하도록 하였기 때문에, HDD21내에 원래의 디지털 음악 데이터가 남지 않고, 그 복제를 대량으로 배포하는 것이 방지된다.
(4) HDD(21) 내에 곡 데이터 베이스를 설치하고, 전체의 해치값을 매회 체크하도록 하였으므로, HDD(21)의 내용을 이동 직전에 백업하고, 이동 직후에 백업한 데이터를 HDD(21)에 리스토어하도록 하였다고 해도, 이송처의 데이터를 확실하게 소거하는 것이 가능해진다.
(5) 퍼스널 컴퓨터(1)가 외부의 기기에 데이터를 전달할 때, 그 전에 상호 인증 처리를 행하도록 하였기 때문에, 부정 기기에 데이터를 전달하게 되는 것이 방지된다.
(6) 외부 기기로부터, 퍼스널 컴퓨터(1)에 대해 데이터를 전달하기 전에, 퍼스널 컴퓨터(1)의 소프트웨어가 정당한 것인지의 여부를 상호 인증에 의해 확인하도록 하였으므로, 부정 소프트웨어에 대해 음악 데이터를 전달하는 것이 방지된다.
(7) 곡의 동일성의 판정에 ISRC를 이용하고, ISRC가 취득할 수 없을 때에는, TOC를 이용하도록 하였으므로, ISRC를 취득할 수 없더라도, 곡의 동일성을 판정하는 것이 가능하게 된다.
(8) 퍼스널 컴퓨터(1)에 있어서의 소프트웨어 기능 중, 소정의 부분을 퍼스널 컴퓨터(1)에 외부 부착되는 어댑터(26)에 부담시키는 바와 같이 하였으므로, 퍼스널 컴퓨터(1)의 소프트웨어를 해석하는 것만으로는, 전체로서 어떠한 처리로 되어있는 것인지를 모르기 때문에, 소프트웨어를 개찬하여, 의도하는 기능을 갖게 하는 것이 곤란해진다.
또, 어댑터(26)가 실행하는 처리는, 보안 프로그램으로 CPU(11)가 실행하도록 하여도 좋다. 이 경우에 있어서, 퍼스널 컴퓨터(1)는, 어댑터(26)의 RTC(35)가 공급하는 현재 시각을 대신하여, 네트워크(2)에 접속되어 있는 특정한 서버 [예를 들면, EMD 등록 서버(3)]로부터 현재 시각의 데이터를 다운로드하여, 그 현재 시각을 기초로, 판정의 처리를 실행한다. 또한, 이 경우에 있어서, 퍼스널 컴퓨터(1)는, 소정의 시간 간격으로 현재 시각을 기억하여, 기억하고 있는 시각보다 이전의 시각이 설정되었을 때, 에러의 표시를 행하고, 시각의 설정을 접수하지 않도록 하여도 좋다.
상술한 일련의 처리는, 하드웨어에 의해 실행시키는 것도 가능하지만, 소프트웨어에 의해 실행시키는 것도 가능해진다. 일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 조립되어 있는 컴퓨터, 또는, 각종의 프로그램을 인스톨함으로써, 각종의 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터(1) 등에, 프로그램 저장 매체로부터 인스톨된다.
컴퓨터에 인스톨되고, 컴퓨터에 의해 실행 가능한 상태로 되는 프로그램을 저장하는 프로그램 저장 매체는, 도 3에 도시한 바와 같이, 자기 디스크(41) [플로피디스크를 포함한다], 디스크(42) [CD-ROM (Compact Disc-Read Only Memory], DVD(Digital Versatile Disc)를 포함한다], 광자기 디스크(43)[MD(Mini-Disc)]를 포함한다), 혹은 반도체 메모리(44) 등으로 이루어지는 패키지 미디어, 또는, 프로그램이 일시적 혹은 연속적으로 저장되는 ROM(12)이나, HDD(21) 등에 의해 구성된다. 프로그램 저장 매체로의 프로그램의 저장은, 필요에 따라서 통신부(25) 등의 인터페이스를 통해, 근거리 통신망(LAN) 또는 인터넷 등의 네트워크(2), 디지털 위성 방송이라고 하는, 유선 또는 무선의 통신 매체를 이용하여 행해진다.
또, 본 명세서에 있어서, 프로그램 저장 매체에 저장되는 프로그램을 기술하는 스텝은, 기재된 순서에 따라서 시계열적으로 행해지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 병렬적 혹은 개별로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에 있어서, 시스템은, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것이다.
본 발명에 따른 정보 처리 장치, 정보 처리 방법 및 프로그램 저장 매체에 따르면, 콘텐츠의 식별 정보에 대응시켜 복제되었을 때의 시간 정보를 기억하도록 하였기 때문에, 사용자의 이익을 크게 손상시키지 않고, 대량의 복제를 실질적으로 금지할 수가 있게 된다.

Claims (14)

  1. 콘텐츠를 식별하는 식별 정보와, 상기 식별 정보에 대응하여, 상기 콘텐츠가 복제되었을 때의 시각 정보를 기억하는 기억 수단과, 복제하려고 하는 콘텐츠의 식별 정보를 취득하는 취득 수단과, 상기 취득 수단에 의해 취득된 상기 식별 정보와, 상기 기억 수단에 기억되어 있는 상기 시각 정보에 대응하여, 상기 콘텐츠를 복제하는 복제 수단
    을 포함하는 것을 특징으로 하는 정보 처리 장치.
  2. 콘텐츠를 식별하는 식별 정보와, 상기 식별 정보에 대응하여, 상기 콘텐츠가 복제되었을 때의 시각 정보를 기억하는 기억 스텝과,
    복제하려고 하는 콘텐츠의 식별 정보를 취득하는 취득 스텝과,
    상기 취득 스텝에서 취득된 상기 식별 정보와, 상기 기억 스텝에서 기억된 상기 시각 정보에 대응하여, 상기 콘텐츠를 복제하는 복제 스텝
    을 포함하는 것을 특징으로 하는 정보 처리 방법.
  3. 콘텐츠를 식별하는 식별 정보와, 상기 식별 정보에 대응하여, 상기 콘텐츠가 복제되었을 때의 시각 정보를 기억하는 기억 스텝과,
    복제하려고 하는 콘텐츠의 식별 정보를 취득하는 취득 스텝과,
    상기 취득 스텝에서 취득된 상기 식별 정보와, 상기 기억 스텝에서 기억된 상기 시각 정보에 대응하여, 상기 콘텐츠를 복제하는 복제 스텝을 포함하는 것을 특징으로 하는 컴퓨터가 판독 가능한 프로그램이 저장되어 있는 프로그램 저장 매체.
  4. 제2항에 있어서,
    상기 콘텐츠는 정보 기억 매체로부터 재생되는 것을 특징으로 하는 정보 처리 방법.
  5. 제4항에 있어서,
    상기 정보 기억 매체는 음악 정보를 기억하는 컴팩트 디스크인 것을 특징으로 하는 정보 처리 방법.
  6. 제2항에 있어서,
    상기 콘텐츠를 식별하는 식별 정보는 ISRC(International Standard Recording Code)인 것을 특징으로 하는 정보 처리 방법.
  7. 제2항에 있어서,
    상기 콘텐츠를 식별하는 식별 정보는 TOC(Table 0f Contents)인 것을 특징으로 하는 정보 처리 방법.
  8. 제2항에 있어서,
    상기 기억 스텝에 있어서, 상기 콘텐츠를 식별하는 식별 정보로서 ISRC (lnternational Standard Recording Code)를 정보 기억 매체로부터 판독하도록 하고, 상기 정보 기억 매체에 ISRC가 기억되어 있지 않는 경우에는, TOC(Table 0f Contents)의 데이터를 상기 식별 정보로서 이용하는 것을 특징으로 하는 정보 처리 방법.
  9. 제2항에 있어서,
    상기 기억 스텝에 의해 상기 식별 정보와 상기 시각 정보가 대응하여 기한 데이터 베이스에 기억되는 것을 특징으로 하는 정보 처리 방법.
  10. 제9항에 있어서,
    기한 데이터 베이스 내의 데이터를 체크하는 체크 스텝을 더욱 포함하고, 상기 체크 스텝은 해시 함수를 이용하여 개찬이 검지되도록 이루어지는 것을 특징으로 하는 정보 처리 방법.
  11. 제2항에 있어서,
    상기 복제 스텝은, 또한, 상기 취득 스텝에 있어서 취득된 상기 콘텐츠의 상기 식별 정보가 과거에 상기 기억 스텝에 있어서 기억되어 있는 것이 검지되었을 때, 상기 기억된 콘텐츠의 시각 정보로부터 현재의 시각 정보를 비교하여, 소정 시간 이상 경과하고 있는지의 여부를 판정하는 판정 스텝을 포함하는 것을 특징으로 하는 정보 처리 방법.
  12. 제11항에 있어서,
    상기 판정 스텝에 있어서의 판정 결과, 상기 소정 시간 경과하지 않았다고 판단된 경우에는 복제를 금지하도록 하는 것을 특징으로 하는 정보 처리 방법.
  13. 제11항에 있어서,
    상기 판정 스텝에 있어서의 판정 결과, 상기 소정 시간 경과하지 않다고 판단된 경우에는, 상기 콘텐츠 내의 워터 마크를 검지하고, 상기 워터 마크에 기초하여 복제 처리를 행하는 것을 특징으로 하는 정보 처리 방법.
  14. 과거에 복제를 행한 콘텐츠를 식별하는 식별 코드와, 상기 콘텐츠가 복제된 시각 데이터가 대응지어 기억되는 데이터 베이스를 포함하는 정보 처리 장치에 이용되는 정보 처리 방법에 있어서,
    지금부터 복제를 행하고자 하는 콘텐츠의 식별 코드를 취득하는 취득 스텝과,
    상기 취득 스텝에서 취득된 상기 식별 코드가 상기 데이터 베이스에 이미 기억되어 있는지의 여부를 판단하는 판단 스텝과,
    상기 판단 스텝에 의해 상기 식별 코드가 상기 데이터 베이스에 이미 기억되어 있다고 판단될 때, 상기 데이터 베이스 내에 상기 식별 코드에 대응지어 기억되어 있는 시각 데이터와 현재의 시각 정보를 비교하는 비교 스텝과,
    상기 비교 스텝에 의해 상기 기억되어 있는 시각 데이터보다 현재의 시각이 소정 시간 이상 경과하고 있는지의 여부를 판정하는 판정 스텝을 포함하고,
    상기 판정 스텝의 결과, 소정 시간 이상 경과하지 않았다고 판단된 경우에는 상기 콘텐츠의 복제를 금지하도록 하는 것을 특징으로 하는 정보 처리 방법.
KR1020007009381A 1998-12-25 1999-12-24 정보 처리 장치 및 방법, 및 프로그램 저장 매체 KR100654879B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP1998-369414 1998-12-25
JP36941498 1998-12-25
JP1999-039222 1999-02-17
JP3922299 1999-02-17

Publications (2)

Publication Number Publication Date
KR20010041282A true KR20010041282A (ko) 2001-05-15
KR100654879B1 KR100654879B1 (ko) 2006-12-07

Family

ID=26378553

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020007009381A KR100654879B1 (ko) 1998-12-25 1999-12-24 정보 처리 장치 및 방법, 및 프로그램 저장 매체

Country Status (5)

Country Link
US (1) US7249106B1 (ko)
EP (1) EP1058257B1 (ko)
KR (1) KR100654879B1 (ko)
DE (1) DE69915041T2 (ko)
MY (1) MY124066A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020092206A (ko) * 2001-05-31 2002-12-11 마쯔시다덴기산교 가부시키가이샤 컨텐츠 분배 장치, 컨텐츠 분배 방법 및 컨텐츠 분배프로그램

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001093226A (ja) * 1999-09-21 2001-04-06 Sony Corp 情報通信システムおよび方法、ならびに、情報通信装置および方法
JP4881500B2 (ja) * 1999-12-09 2012-02-22 ソニー株式会社 情報処理装置および情報処理方法、コンテンツ提供装置およびコンテンツ提供方法、再生装置および再生方法、並びに記録媒体
US20050086518A1 (en) * 2000-03-15 2005-04-21 Kenichi Tanahashi Content-providing system
JP2002108710A (ja) * 2000-07-24 2002-04-12 Sony Corp 情報処理システム、情報処理方法、および情報処理装置、並びにプログラム提供媒体
JP4029569B2 (ja) 2000-12-13 2008-01-09 株式会社日立製作所 ディジタル情報記録再生装置、記録装置、受信装置および送信装置
JP3764852B2 (ja) * 2000-12-26 2006-04-12 シャープ株式会社 データ再生システム、そのシステムに用いられるデータ読取り装置およびその方法
JP2002202781A (ja) * 2000-12-27 2002-07-19 Pioneer Electronic Corp サーバ装置、端末装置、情報処理システム並びに情報記録媒体
JP2002236767A (ja) 2001-02-07 2002-08-23 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
JP4701550B2 (ja) * 2001-07-06 2011-06-15 ソニー株式会社 記録装置および方法、記録媒体、並びにプログラム
US7016888B2 (en) * 2002-06-18 2006-03-21 Bellsouth Intellectual Property Corporation Learning device interaction rules
WO2004008457A2 (en) * 2002-07-17 2004-01-22 Koninklijke Philips Electronics N.V. Copy control using digital speed bumps
JP2004355444A (ja) * 2003-05-30 2004-12-16 Pioneer Electronic Corp データ転送再生装置
JP4333494B2 (ja) * 2004-06-17 2009-09-16 ソニー株式会社 コンテンツ再生装置,コンテンツ再生方法,コンテンツ管理装置,コンテンツ管理方法およびコンピュータプログラム。
US7613383B2 (en) 2004-12-02 2009-11-03 Hitachi, Ltd. Editing method and recording and reproducing device
JP4161043B2 (ja) * 2005-01-31 2008-10-08 三洋電機株式会社 コンテンツ利用情報記憶装置
US8386126B2 (en) * 2006-11-06 2013-02-26 The Directv Group, Inc. Method and apparatus for providing independent content to multiple terminals within a vehicle
US20080106376A1 (en) * 2006-11-06 2008-05-08 The Directv Group, Inc. Method and apparatus for purchasing content from a terminal within a vehicle
US20080109558A1 (en) * 2006-11-06 2008-05-08 The Directv Group, Inc. Method and apparatus for providing independent content to multiple terminals within a vehicle with modifiable playback stream features
US7974293B2 (en) * 2006-11-06 2011-07-05 The Directv Group, Inc. Method and apparatus for transcrypting or transcoding content for a terminal within a vehicle
EP1995733A1 (en) * 2007-05-22 2008-11-26 Visions Unlimited Medien GmbH Authorisation for uploading a composed sequence from several videos from a client to a server via internet based on the integrity of the composite video.

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014234A (en) * 1986-08-25 1991-05-07 Ncr Corporation System with software usage timer and counter for allowing limited use but preventing continued unauthorized use of protected software
EP0297539B1 (en) * 1987-06-30 1993-09-01 Kabushiki Kaisha Toshiba Recording control apparatus
SG126671A1 (en) * 1989-02-10 2006-11-29 Canon Kk Apparatus for image reading or processing
US5907443A (en) * 1990-05-30 1999-05-25 Canon Kabushiki Kaisha Recording and reproducing apparatus adapted to selectively control the number of copies made
WO1991011766A2 (en) * 1990-01-30 1991-08-08 Johnson Service Company Networked facilities management system
DE69128565T2 (de) * 1990-06-25 1998-06-04 Nec Corp Mikrorechner ausgestattet mit einer DMA-Steuerung
JP3217137B2 (ja) * 1992-07-28 2001-10-09 株式会社日立製作所 映像信号記録装置、再生装置及び伝送装置
US5584023A (en) * 1993-12-27 1996-12-10 Hsu; Mike S. C. Computer system including a transparent and secure file transform mechanism
US5699370A (en) * 1994-02-17 1997-12-16 Hitachi, Ltd. Information recording and reproduction apparatus to be controlled by temporal information
US6044197A (en) * 1994-03-14 2000-03-28 Grass Valley (U.S.) Inc. Recording of time code in a database
JP3139910B2 (ja) * 1994-03-31 2001-03-05 株式会社日立製作所 情報受信・記録再生装置及び情報受信装置
US5805551A (en) * 1994-04-18 1998-09-08 Matsushita Electric Industrial Co., Ltd. Method and apparatus for preventing illegal copy or illegal installation of information of optical recording medium
US5963382A (en) * 1994-06-03 1999-10-05 Sony Corporation Methods of recording and reproducing and apparatus for recording and reproducing time codes
JP3542088B2 (ja) * 1994-09-09 2004-07-14 富士通株式会社 データコンテンツ利用システム
MY125739A (en) * 1994-12-22 2006-08-30 Sony Corp Recording medium and apparatus for protecting copyrighted digital data
AU6837996A (en) * 1995-12-11 1997-07-03 Akira Sugiyama Device for generating characteristic time and authentication apparatus using such device
JPH09245349A (ja) * 1996-03-08 1997-09-19 Hitachi Ltd 磁気記録再生装置
JPH103745A (ja) * 1996-06-12 1998-01-06 Sony Corp 記録媒体、デジタルコピー管理方法、再生装置、及び記録装置
US5889868A (en) * 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
US6389403B1 (en) * 1998-08-13 2002-05-14 International Business Machines Corporation Method and apparatus for uniquely identifying a customer purchase in an electronic distribution system
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
JP2000276834A (ja) * 1999-03-19 2000-10-06 Sony Corp 記録装置、再生装置、記録再生システム、及びダビング動作管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020092206A (ko) * 2001-05-31 2002-12-11 마쯔시다덴기산교 가부시키가이샤 컨텐츠 분배 장치, 컨텐츠 분배 방법 및 컨텐츠 분배프로그램

Also Published As

Publication number Publication date
MY124066A (en) 2006-06-30
DE69915041T2 (de) 2004-12-30
US7249106B1 (en) 2007-07-24
EP1058257A1 (en) 2000-12-06
KR100654879B1 (ko) 2006-12-07
DE69915041D1 (de) 2004-04-01
EP1058257A4 (en) 2002-05-15
EP1058257B1 (en) 2004-02-25

Similar Documents

Publication Publication Date Title
KR100632495B1 (ko) 정보처리장치 및 방법과 프로그램 격납매체
KR100756076B1 (ko) 정보처리 시스템
KR100654879B1 (ko) 정보 처리 장치 및 방법, 및 프로그램 저장 매체
KR100633588B1 (ko) 반도체 ic, 정보처리방법, 정보처리장치 및 프로그램 기록매체
JP4568933B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000305846A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP4556277B2 (ja) 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体
JP4379653B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP4300442B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000347852A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP4304819B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000306006A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000348105A (ja) 情報提供装置および方法、並びにプログラム格納媒体
JP2000349751A (ja) 情報処理装置および方法、認証方法、並びにプログラム格納媒体
JP2000347851A (ja) 情報処理装置および方法、並びにプログラム格納媒体
AU2003257706B2 (en) Information processing apparatus and method, and program storage medium
JP2000347847A (ja) 情報処理装置および方法、半導体ic、情報処理システム、並びにプログラム格納媒体
JP2000305855A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000307568A (ja) 半導体ic、情報処理方法、情報処理装置、並びにプログラム格納媒体
JP2000347848A (ja) 半導体ic、情報処理方法、情報処理装置、並びにプログラム格納媒体
JP2000347850A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000347849A (ja) 情報提供装置および方法、並びにプログラム格納媒体
AU2003262490A1 (en) Information processing system
MXPA00011785A (en) Information processing system

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
LAPS Lapse due to unpaid annual fee