KR100862371B1 - 정보처리 시스템 - Google Patents
정보처리 시스템 Download PDFInfo
- Publication number
- KR100862371B1 KR100862371B1 KR1020077007169A KR20077007169A KR100862371B1 KR 100862371 B1 KR100862371 B1 KR 100862371B1 KR 1020077007169 A KR1020077007169 A KR 1020077007169A KR 20077007169 A KR20077007169 A KR 20077007169A KR 100862371 B1 KR100862371 B1 KR 100862371B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- information processing
- processing apparatus
- key
- content
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims description 191
- 238000000034 method Methods 0.000 claims description 196
- 238000012545 processing Methods 0.000 claims description 155
- 230000008569 process Effects 0.000 claims description 134
- 238000003672 processing method Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 abstract description 35
- 230000004075 alteration Effects 0.000 abstract description 8
- 239000004065 semiconductor Substances 0.000 description 93
- 230000006870 function Effects 0.000 description 50
- 230000006835 compression Effects 0.000 description 18
- 238000007906 compression Methods 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 17
- 238000001914 filtration Methods 0.000 description 17
- 230000004044 response Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 238000009825 accumulation Methods 0.000 description 10
- 238000013478 data encryption standard Methods 0.000 description 9
- 230000006837 decompression Effects 0.000 description 5
- 238000013523 data management Methods 0.000 description 4
- 230000010355 oscillation Effects 0.000 description 4
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 3
- 229910052782 aluminium Inorganic materials 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003071 parasitic effect Effects 0.000 description 3
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 3
- 235000015909 Sagittaria sinensis Nutrition 0.000 description 2
- 244000018694 Sagittaria sinensis Species 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
- G06F21/87—Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2103—Challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2129—Authenticate client device independently of the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2135—Metering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2137—Time limited access, e.g. to a computer or data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2143—Clearing memory, e.g. to prevent the data from being stolen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2153—Using hardware token as a secondary aspect
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Storage Device Security (AREA)
Abstract
퍼스널 컴퓨터(1)는, 통신부(25)를 거쳐서 인증국에 서명을 붙인 소스프로그램을 송신하고, 인증국은 수신한 소스프로그램에 개찬이 발견되지 않은 경우, 수신한 소스프로그램을 인증국의 비밀키로 암호화하여 퍼스널 컴퓨터(1)에 송신한다. 퍼스널 컴퓨터(1)는, 인증국에서 수신한 암호화된 소스프로그램을 HDD(21)에 기억하는 동시에 어댑터(26)에 송신한다.
Description
도 1은 본 발명을 적용한 콘텐츠데이터 관리시스템의 일 실시의 형태를 나타내는 도면이다.
도 2는 상기 콘텐츠데이터 관리시스템에 있어서의 퍼스널 컴퓨터의 구성을 설명하는 도면이다.
도 3은 콘텐츠데이터 관리시스템에 있어서의 포터블 디바이스의 구성을 설명하는 도면이다.
도 4는 상기 퍼스널 컴퓨터의 기능의 구성을 설명하는 도면이다.
도 5는 표시조작 지시윈도우의 예를 나타내는 도면이다.
도 6은 녹음프로그램이 디스플레이에 표시시키는 윈도우의 예를 나타내는 도면이다.
도 7은 콤팩트디스크에서 HDD에 콘텐츠를 복사하는 경우의 처리를 설명하는 플로차트이다.
도 8은 도 7의 플로차트에 있어서의 스텝(S12)의 기한 데이터베이스 체크처리를 설명하는 플로차트이다.
도 9는 기한 데이터베이스의 예를 나타내는 도면이다.
도 10은 워터마크를 설명하는 도면이다.
도 11은 곡데이터 베이스의 예를 나타내는 도면이다.
도 12는 HDD에서 포터블 디바이스에 콘텐츠를 이동하는 동작을 설명하는 플로차트이다.
도 13은 HDD에서 포터블 디바이스에 콘텐츠를 이동하는 동작을 설명하는 플로차트이다.
도 14는 HDD에서 포터블 디바이스에 콘텐츠를 이동하는 동작을 설명하는 플로차트이다.
도 15는 도 12의 플로차트에 있어서의 스텝(S55)의 선택된 콘텐츠의 재생조건 등의 체크처리를 설명하는 플로차트이다.
도 16은 포터블 디바이스를 관리하고 있는 재생조건을 설명하는 도면이다.
도 17은 도 12의 플로차트에 있어서의 스텝(S58)의 포맷변환처리의 상세를 설명하는 플로차트이다.
도 18은 HDD에서 포터블 디바이스에 콘텐츠를 복사하는 경우의 동작을 설명하는 플로차트이다.
도 19는 HDD에서 포터블 디바이스에 콘텐츠를 복사하는 경우의 동작을 설명하는 플로차트이다.
도 20은 HDD에서 포터블 디바이스에 콘텐츠를 복사하는 경우의 동작을 설명하는 플로차트이다.
도 21은 포터블 디바이스에서 HDD에 콘텐츠를 이동하는 경우의 동작을 설명하는 플로차트이다.
도 22는 포터블 디바이스에서 HDD에 콘텐츠를 복사하는 경우의 동작을 설명하는 플로차트이다.
도 23은 EMD서버에서 HDD에 콘텐츠를 복사하는 경우의 처리를 설명하는 플로차트이다.
도 24는 도 23의 플로차트에 있어서의 스텝(S204)의 부과금에 관한 처리의 상세를 설명하는 플로차트이다.
도 25는 부과금로그를 설명하는 도면이다.
도 26은 퍼스널 컴퓨터의 IEC60958 단자에서 HDD에 콘텐츠를 복사하는 경우의 처리를 설명하는 플로차트이다.
도 27은 퍼스널 컴퓨터의 IEC60958 단자에서 HDD에 콘텐츠를 복사하는 경우의 처리를 설명하는 플로차트이다.
도 28은 HDD에서 IEC60958 단자에 콘텐츠를 출력하는 경우의 동작을 설명하는 플로차트이다.
도 29는 HDD에서 IEC60958 단자에 콘텐츠를 출력하는 경우의 동작을 설명하는 플로차트이다.
도 30은 도 28의 플로차트에 있어서의 스텝(S275)의 재생조건 등의 체크처리를 설명하는 플로차트이다.
도 31은 HDD에서 포터블 디바이스 경유로 콘텐츠를 출력하는 경우의 동작을 설명하는 플로차트이다.
도 32는 HDD에서 포터블 디바이스 경유로 콘텐츠를 출력하는 경우의 동작을 설명하는 플로차트이다.
도 33은 불휘발성 메모리의 기능을 설명하는 도면이다.
도 34는 어댑터의 동작을 설명하는 플로차트이다.
도 35는 어댑터의 내부의 구성을 나타내는 도면이다.
도 36a 및 도 36b는 불휘발성 메모리의 내부의 구성예를 나타내는 단면도이다.
도 37은 불휘발성 메모리의 내부의 구성례를 나타내는 사시도이다.
도 38은 어댑터와 퍼스널 컴퓨터와의 상호인증의 처리를 설명하는 플로차트이다.
도 39는 어댑터와 퍼스널 컴퓨터와의 상호인증의 처리를 설명하는 플로차트이다.
도 40은 어댑터와 퍼스널 컴퓨터와의 상호인증의 처리를 설명하는 플로차트이다.
도 41은 어댑터와 퍼스널 컴퓨터와의 상호인증의 처리를 설명하는 플로차트이다.
도 42는 소스 프로그램을 암호화하는 처리를 설명하는 플로차트이다.
도 43은 암호화된 소스 프로그램을 어댑터가 실행하는 처리를 설명하는 플로차트이다.
도 44는 오브젝트 프로그램을 암호화하는 처리를 설명하는 플로차트이다.
도 45는 암호화된 오브젝트 프로그램을 어댑터가 실행하는 처리를 설명하는 플로차트이다.
도 46은 오브젝트 프로그램을 암호화하는 다른 처리를 설명하는 플로차트이다.
도 47은 암호화된 오브젝트 프로그램을 어댑터가 실행하는 다른 처리를 설명하는 플로차트이다.
도 48은 어댑터가 오브젝트 프로그램을 실행하는 경우, 처리의 일부를 퍼스널 컴퓨터의 CPU에 실행시킬 때의 처리를 설명하는 플로차트이다.
도 49는 퍼스널 컴퓨터가 EMD서버에서 암호키를 다운로드하는 동시에, 결제를 하는 처리를 설명하는 플로차트이다.
본 발명은, 정보제공장치, 정보처리방법 및 인증방법, 반도체IC, 정보처리 시스템 및 프로그램 제공매체에 관하여, 특히 소정의 데이터를 기억하고, 소정의 처리를 행하기 위한 정보처리장치, 정보처리방법 및 인증방법, 반도체IC, 정보처리 시스템 및 프로그램 제공매체에 관한 것이다.
최근, CD(Compact Disk), MD(Mini Disk)라는 음악데이터를 디지털적으로 기록 또는 재생할 수 있는 장치가 보급하여 왔다. 그 결과, 이와 같은 디지털적으로 음악데이터를 기록 재생할 수 있는 장치를 퍼스널 컴퓨터 등과 조합하는 것으로, 디지털 음악데이터를 부정하게 복제하는 것도 비교적 용이하게 행할 수 있도록 되어 왔다. 그래서, 저작물로서의 음악데이터를 부정하게 복제하는 것을 할 수 없게 하기 위해, 각종의 방법이 제안되어 있다.
예를 들면, 복제원을 제어하는 소프트웨어에 복제처의 장치와 상호 인증시켜, 적정한 인증결과가 얻어졌을 때, 음악데이터를 암호화하여 복제처의 장치에 전송시키고, 복제처의 장치에 있어서 그 암호화된 데이터를 복호하여 이용하도록 하는 것이 제안되어 있다.
또, 복제원의 소프트웨어에 소정의 하드웨어에 기억되어 있는 식별정보ID를 이용하여, 복제처의 장치와 상호 인증시키는 것도 제안되어 있다.
그리고 또, 인증, 암호 및 복호처리를 와이아드로직의 하드웨어에서 실행시키는 것도 제안되어 있다.
그렇지만, 소프트웨어만으로 인증처리, 암호화처리 및 복호처리를 행하도록 하는 경우, 소프트웨어를 해석하고, 개찬(改竄)하는 것으로, 음악데이터가 부정하게 복제하게 될 우려가 있다.
또, 소정의 ID를 하드웨어에 기억시켜서, 퍼스널 컴퓨터 상의 소프트웨어에 의해 이것을 독출하고, 이용시키도록 하는 경우, 독출된 ID가 소프트웨어에 전송되는 도중에 있어서 독해되어, 해석 개찬하게 될 우려가 있었다.
또한, 인증처리, 암호화처리 및 복호처리를 와이아드로직의 하드웨어에 의해 실행하도록 하면, 해석이나 개찬은 방지하는 것이 가능하나, 새로운 인증처리, 암호화처리 및 복호처리를 행하도록 하는데는, 기존의 하드웨어를 새로운 하드웨어로 교환하든지, 새로운 하드웨어를 추가할 필요가 생긴다.
본 발명은, 이와 같은 상황을 감안하여 이룩된 것이며, 기억되어 있는 데이터가 부정하게 독출되어, 해석되는 것을 방지할 수 있게 하는 것이다.
즉, 본 발명은 네트워크를 거쳐서, 소정의 정보처리장치에 접속되어 있는 정보제공장치에 있어서, 상기 정보처리장치에서 소정의 프로그램을 수신하는 동시에, 암호화된 상기 프로그램을 상기 정보처리장치에 송신하는 통신수단과, 통신수단이 수신한 상기 프로그램을 암호화하는 암호화수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 네트워크를 거쳐서, 소정의 정보처리장치에 접속되어 있는 정보제공장치의 정보제공방법에 있어서, 상기 정보처리장치에서 소정의 프로그램을 수신하는 동시에, 암호화된 상기 프로그램을 상기 정보처리장치에 송신하는 통신스텝과, 통신스텝에서 수신한 상기 프로그램을 암호화하는 암호화스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 네트워크를 거쳐서 소정의 정보처리장치에 접속되어 있는 정보제공장치에, 상기 정보처리장치에서 소정의 프로그램을 수신하는 동시에, 암호화된 상기 프로그램을 상기 정보처리장치에 송신하는 통신스텝과, 통신스텝에서 수신한 상기 프로그램을 암호화하는 암호화스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명은 다른 정보처리장치와 상호 인증하여, 소정의 처리를 실행하는 정보처리장치에 있어서, 상기 소정의 처리에 대응하고, 1 이상의 상호인증의 수속 으로부터 실행하는 상호인증의 처리를 선택하는 선택수단과, 상기 선택수단이 선택된 상호인증의 수속을 실행하는 상호인증수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 다른 정보처리장치와 상호 인증하여, 소정의 처리를 실행하는 정보처리장치의 정보처리방법에 있어서, 상기 소정의 처리에 대응하고, 1 이상의 상호인증의 수속으로부터 실행하는 상호인증의 처리를 선택하는 선택스텝과, 상기 선택스텝에서 선택된 상호인증의 수속을 실행하는 상호인증스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 다른 정보처리장치와 상호 인증하여, 소정의 처리를 실행하는 정보처리장치에 상기 소정의 처리에 대응하고, 1 이상의 상호인증의 수속으로부터 실행하는 상호인증의 처리를 선택하는 선택스텝과, 상기 선택스텝에서 선택된 상호인증의 수속을 실행하는 상호인증스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명에 관계되는 인증방법은, 제 1장치에 있어서 제 1난수를 발생하고, 제 1장치의 식별정보와 키의 속성정보와 상기 제 1난수를 제 1장치에서 제 2장치에 송신하고, 제 2장치에 있어서 제 2난수를 발생하고, 제 2장치에 있어서 상기 제 1장치에서 송신된 제 1장치의 식별정보와 키의 속성정보와 제 1난수를 수신하고, 제 2장치에 있어서 상기 키의 속성정보에서 키를 계산하고, 제 2장치에 있어서 상기 키와 상기 제 1·제 2난수에서 제 3난수를 발생하고, 제 2·제 3난수와 키에 관한 정보를 제 2장치에서 제 1장치에 송신하고, 제 1장치에 있어서 상기 제 2장치 에서 송신된 제 2·제 3난수와 키에 관한 정보를 수신하고, 제 1장치에 있어서 상기 키에 관한 정보에서 키를 생성하고, 제 1장치에 있어서 상기 키와 상기 제 1·제 2난수에서 제 4난수를 발생하고, 상기 제 4난수를 제 1장치에서 제 2장치에 송신하고, 제 1·제 2장치의 각각에 있어서 제 3·제 4난수와 키에서 일시키를 구하는 것을 특징으로 한다.
또, 본 발명에 관계되는 인증방법은, 제 1장치에 있어서 제 1난수를 발생하고, 제 1장치의 식별정보와 제 1장치의 키의 속성정보와 제 2장치의 키의 속성정보와, 상기 제 1난수를 제 1장치에서 제 2장치에 송신하고, 제 2장치에 있어서 제 2난수를 발생하고, 제 2장치에 있어서 상기 제 1장치에서 송신된 제 1장치의 식별정보와 키의 속성정보와 제 2장치의 키의 속성정보와 상기 제 1난수를 수신하고, 제 2장치에 있어서 상기 제 2장치의 키의 속성정보에서 제 1키를 계산하고, 제 2장치에 있어서 상기 제 1장치의 키의 속성정보에서 제 2키를 계산하고, 제 2장치에 있어서 상기 제 1장치의 키의 속성정보에서 제 2키를 계산하고, 제 2장치에 있어서 상기 제 2키와 상기 제 1·제 2난수에서 제 3난수를 발생하고, 제 2·제 3난수와 키에 관한 정보를 제 2장치에서 제 1장치에 송신하고, 제 1장치에 있어서 상기 제 2장치에서 송신된 제 2·제 3난수와 키에 관한 정보를 수신하고, 제 1장치에 있어서 상기 키에 관한 정보에서 제 2키를 생성하고, 제 1장치에 있어서 상기 제 2키와 상기 제 1·제 2난수에서 제 4난수를 발생하고, 상기 제 4난수를 제 1장치에서 제 2장치에 송신하고, 제 1·제 2장치의 각각에 있어서 제 3·제 4난수와 제 2키에서 일시키를 구하는 것을 특징으로 한다.
또, 본 발명은 암호화되어 있는 소정의 데이터 및 상기 소정의 데이터를 암호화하고 있는 키를 정보처리장치에 제공하는 정보제공장치에 있어서, 상기 정보처리장치에서 상기 정보처리장치가 다운로드한 상기 데이터의 이용에 관한 데이터 및 결제에 필요한 데이터를 수신하는 동시에, 상기 정보처리장치에 상기 키를 송신하는 통신수단과, 상기 정보처리장치에서 수신한 상기 데이터의 이용에 관한 데이터 및 결제에 필요한 데이터를 기초로, 결제를 하는 결제수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 암호화되어 있는 소정의 데이터 및 상기 소정의 데이터를 암호화하고 있는 키를 정보처리장치에 제공하는 정보제공방법에 있어서, 상기 정보처리장치에서 상기 정보처리장치가 다운로드한 상기 데이터의 이용에 관한 데이터 및 결제에 필요한 데이터를 수신하는 동시에, 상기 정보처리장치에 상기 키를 송신하는 통신스텝과, 상기 정보처리장치에서 수신한 상기 데이터의 이용에 관한 데이터 및 결제에 필요한 데이터를 기초로, 결제를 하는 결제스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 암호화되어 있는 소정의 데이터 및 상기 소정의 데이터를 암호화하고 있는 키를 정보처리장치에 제공하는 정보제공장치에, 상기 정보처리장치에서 상기 정보처리장치가 다운로드한 상기 데이터의 이용에 관한 데이터 및 결제에 필요한 데이터를 수신하는 동시에, 상기 정보처리장치에 상기 키를 송신하는 통신스텝과, 상기 정보처리장치에서 수신한 상기 데이터의 이용에 관한 데이터 및 결제에 필요한 데이터를 기초로, 결제를 하는 결제 스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명에 관계되는 정보처리장치는, 암호화되어 있는 프로그램을 복호하여 실행하는 제 1실행수단과, 상기 프로그램을 상기 제 1실행수단에 공급하는 동시에, 암호화되어 있는 상기 프로그램을 복호하고, 상기 제 1실행수단의 실행결과를 기초로, 상기 프로그램을 실행하는 제 2실행수단을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 정보처리방법은, 암호화되어 있는 프로그램을 복호하여 실행하는 제 1실행스텝과, 상기 프로그램을 상기 제 1실행스텝에 공급하는 동시에, 암호화되어 있는 상기 프로그램을 복호하고, 상기 제 1실행스텝의 실행결과를 기초로, 상기 프로그램을 실행하는 제 2실행스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 암호화되어 있는 프로그램을 복호하여 실행하는 제 1실행스텝과, 상기 프로그램을 상기 제 1실행스텝에 공급하는 동시에, 암호화되어 있는 상기 프로그램을 복호하고, 상기 제 1실행스텝의 실행결과를 기초로, 상기 프로그램을 실행하는 제 2실행스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명은, 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치에 있어서, 상기 반도체IC에 실행시키는 상기 프로그램을 인증국에 송신하는 동시에, 상기 인증국에서 암호화된 상기 프로그램을 수신하는 통신수단과, 상기 인증국에서 수신한 암호화된 상기 프로그램을 기록하는 기록수단과, 상기 기록수단에 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신수단을 포함하는 것을 특징으로 한다.
또, 본 발명은, 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치의 정보처리방법에 있어서, 상기 반도체IC에 실행시키는 상기 프로그램을 인증국에 송신하는 동시에, 상기 인증국에서 암호화된 상기 프로그램을 수신하는 통신스텝과, 상기 인증국에서 수신한 암호화된 상기 프로그램을 기록하는 기록스텝과, 상기 기록스텝에서 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치에, 상기 반도체IC에 실행시키는 상기 프로그램을 인증국에 송신하는 동시에, 상기 인증국에서 암호화된 상기 프로그램을 수신하는 통신스텝과, 상기 인증국에서 수신한 암호화된 상기 프로그램을 기록하는 기록스텝과, 상기 기록스텝에서 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명은, 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치 및 인증국으로 이루는 정보처리 시스템에 있어서, 상기 정보처리장치는 반도체IC에 실행시키는 상기 프로그램을 인증국에 송신하는 동시에, 상기 인증국에서 암호화된 상기 프로그램을 수신하는 통신수단과, 상기 인증국 에서 수신한 암호화된 상기 프로그램을 기록하는 기록수단과, 상기 기록수단에 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신수단을 포함하고, 상기 인증국은 상기 반도체IC에 실행시키는 상기 프로그램을 수신하는 동시에, 상기 정보처리장치에 암호화된 상기 프로그램을 송신하는 통신수단과, 상기 통신수단이 수신한 상기 프로그램을 소정의 방식으로 암호화하는 암호화수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치에 있어서, 상기 반도체IC에 실행시키는 상기 프로그램에 포함되는 명령렬을 병렬 변환하는 병렬 변환수단, 상기 명령렬이 병렬 변환된 상기 프로그램을 기록하는 기록수단과, 상기 기록수단에 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치의 정보처리방법에 있어서, 상기 반도체IC에 실행시키는 상기 프로그램에 포함되는 명령렬을 병렬 변환하는 병렬 변환스텝과, 상기 명령렬이 병렬 변환된 상기 프로그램을 기록하는 기록스텝과, 상기 기록스텝에서 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치에, 상기 반도체IC에 실행시키는 상기 프로그램에 포함되는 명령렬을 병렬 변환하는 병렬 변환스텝과, 상 기 명령렬이 병렬 변환된 상기 프로그램을 기록하는 기록스텝과, 상기 기록스텝에서 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명은, 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치에 있어서, 상기 반도체IC에 실행시키는 상기 프로그램에 포함되는 명령렬을 병렬 변환하는 병렬 변환수단과, 상기 프로그램을 암호화하는 암호화수단과, 상기 명령렬이 병렬 변환되고, 암호화된 상기 프로그램을 기록하는 기록수단과, 상기 기록수단에 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신수단을 포함하는 것을 특징으로 한다.
또, 본 발명은, 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치의 정보처리방법에 있어서, 상기 반도체IC에 실행시키는 상기 프로그램에 포함되는 명령렬을 병렬 변환하는 병렬 변환스텝과, 상기 프로그램을 암호화하는 암호화스텝과, 상기 명령렬이 병렬 변환되고, 암호화된 상기 프로그램을 기록하는 기록스텝과, 상기 기록스텝에서 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 반도체IC가 장착되어, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치에, 상기 반도체IC에 실행시키는 상기 프로그램에 포함되는 명령렬을 병렬 변환하는 병렬 변환스텝과, 상기 프로그램을 암호화하는 암호화스텝과, 상기 명령렬이 병렬 변환되고 암호화된 상기 프로그램을 기록하는 기록스텝과, 상기 기록스텝에서 기록되어 있는 상기 프로그램을 상기 반도체IC에 송신하는 송신스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명은 정보처리장치에 장착되어, 상기 정보처리장치로부터의 지령에 의거하여, 각종의 처리를 실행하는 반도체IC에 있어서, 상기 정보처리장치로부터 전송되어 오는 암호화되어 있는 제 1프로그램을 수신하는 수신수단과, 상기 수신수단에 의해 수신된 상기 제 1프로그램을 복호하는 복호수단과, 상기 복호수단에 의해 복호된 상기 제 1프로그램을 처리하는 제 2프로그램을 유지하는 유지수단과, 상기 유지수단에 유지되어 있는 상기 제 2프로그램에 의거하여 처리된 상기 제 1프로그램을 실행하는 실행수단과, 상기 실행수단이 실행한 결과를 상기 정보처리장치에 전송하는 전송수단과, 계시동작을 행하는 동시에, 상기 정보처리장치로부터의 시각정보에 의거하여, 현재시각을 수정하는 계시수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 정보처리장치에 장착되어, 상기 정보처리장치로부터의 지령에 의거하여, 각종의 처리를 실행하는 반도체IC의 정보처리방법에 있어서, 상기 장치로부터 전송되어 오는 암호화되어 있는 제 1프로그램을 수신하는 수신스텝과, 상기 수신스텝에서 수신된 상기 제 1프로그램을 복호하는 복호스텝과, 상기 복호스텝에서 복호된 상기 제 1프로그램을 처리하는 제 2프로그램을 유지하는 유지스텝과, 상기 유지스텝의 처리로 유지된 상기 제 2프로그램에 의거하여 처리된 상기 제 1프로그램을 실행하는 실행스텝과, 상기 실행스텝의 처리로 실행한 결과를 상기 정보처리장치에 전송하는 전송스텝과, 계시동작을 행하는 동시에, 상기 정보처리장치로부 터의 시각정보에 의거하여, 현재시각을 수정하는 계시스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 정보처리장치에 장착되어, 상기 정보처리장치로부터의 지령에 의거하여, 각종의 처리를 실행하는 반도체IC에, 상기 정보처리장치로부터 전송되어 오는 암호화되어 있는 제 1프로그램을 수신하는 수신스텝과, 상기 수신스텝에서 수신된 상기 제 1프로그램을 복호하는 복호스텝과, 상기 복호스텝에서 복호된 상기 제 1프로그램을 처리하는 제 2프로그램을 유지하는 유지스텝과, 상기 유지스텝의 처리로 유지된 상기 제 2프로그램에 의거하여 처리된 상기 제 1프로그램을 실행하는 실행스텝과, 상기 실행스텝의 처리로 실행한 결과를 상기 정보처리장치에 전송하는 전송스텝과, 계시동작을 행하는 동시에, 상기 정보처리장치로부터의 시각정보에 의거하여, 현재시각을 수정하는 계시스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명은 장착된 반도체IC에 각종의 지령을 출력하고, 실행시키는 정보처리장치에 있어서, 상기 반도체IC에 암호화되어 있는 프로그램을 송신하는 송신수단과, 상기 반도체IC가 상기 프로그램을 처리한 결과를 생성하고, 출력한 데이터를 수신하는 제 1수신수단과, 다른 장치에서 데이터와 시각정보를 수신하는 제 2수신수단과, 상기 제 2수신수단이 수신한 데이터를 축적하는 축적수단과, 상기 제 2수신수단이 수신한 시각정보에 의거하여, 상기 반도체IC의 시각정보를 수정시키는 수정수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 장착된 반도체IC에 각종의 지령을 출력하고, 실행시키는 정보처리장치의 정보처리방법에 있어서, 상기 반도체IC에 암호화되어 있는 프로그램을 송신하는 송신스텝과, 상기 반도체IC가 상기 프로그램을 처리한 결과를 생성하고, 출력한 데이터를 수신하는 제 1수신스텝과, 다른 장치에서 데이터와 시각정보를 수신하는 제 2수신스텝과, 상기 제 2수신스텝에서 수신한 데이터를 축적하는 축적스텝과, 상기 제 2수신스텝에서 수신한 시각정보에 의거하여, 상기 반도체IC의 시각정보를 수정시키는 수정스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 장착된 반도체IC에 각종의 지령을 출력하고, 실행시키는 정보처리장치에, 상기 반도체IC에 암호화되어 있는 프로그램을 송신하는 송신스텝과, 상기 반도체IC가 상기 프로그램을 처리한 결과를 생성하고, 출력한 데이터를 수신하는 제 1수신스텝과, 다른 장치에서 데이터와 시각정보를 수신하는 제 2수신스텝과, 상기 제 2수신스텝에서 수신한 데이터를 축적하는 축적스텝과, 상기 제 2수신스텝에서 수신한 시각정보에 의거하여, 상기 반도체IC의 시각정보를 수정시키는 수정스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명은 소정의 반도체IC가 장착되고, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치에 있어서, 상기 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 축적하는 축적수단과, 상기 축적수단에 대한 상기 프로그램 및 상기 데이터의 축적 또는 독출을 제어하는 제어수단과, 상기 프로그램을 상기 반도체IC에서 공급된 제 1키로 암호화하는 제 1암호화수단과, 상기 데이터를 상기 반도체IC에서 공급된 제 2키로 암호화하는 제 2암호화수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 소정의 반도체IC가 장착되고, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치의 정보처리방법에 있어서, 상기 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 축적하는 축적스텝과, 상기 축적스텝에서 상기 프로그램 및 상기 데이터의 축적 또는 독출을 제어하는 제어스텝과, 상기 프로그램을 상기 반도체IC에서 공급된 제 1키로 암호화하는 제 1암호화스텝과, 상기 데이터를 상기 반도체IC에서 공급된 제 2키로 암호화하는 제 2암호화스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 소정의 반도체IC가 장착되고, 상기 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치에, 상기 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 축적하는 축적스텝과, 상기 축적스텝에서 상기 프로그램 및 상기 데이터의 축적 또는 독출을 제어하는 제어스텝과, 상기 프로그램을 상기 반도체IC에서 공급된 제 1키로 암호화하는 제 1암호화스텝과, 상기 데이터를 상기 반도체IC에서 공급된 제 2키로 암호화하는 제 2암호화스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또, 본 발명은 소정의 정보처리장치에 장착되고, 상기 정보처리장치에서 공급된 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 수신하고, 상기 프로그램을 실행하는 반도체IC에 있어서, 상기 반도체IC 고유의 제 1키를 미리 기억하고 있는 기억수단과, 상기 기억수단이 기억하고 있는 상기 제 1키 및 상기 정보처리장치에서 공급된 프로그램의 속성에서, 제 2키를 생성하는 키 생성수단과, 상기 프로그램을 제 3키로 복호하는 제 1복호수단과, 상기 데이터를 제 2키로 복호하는 제 2복호수단을 포함하는 것을 특징으로 한다.
또, 본 발명은 소정의 정보처리장치에 장착하고, 상기 정보처리장치에서 공급된 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 수신하고, 상기 프로그램을 실행하는 반도체IC의 정보처리방법에 있어서, 상기 반도체IC 고유의 제 1키를 미리 기억하고 있는 기억스텝과, 상기 기억스텝에서 기억하고 있는 상기 제 1키 및 상기 정보처리장치에서 공급된 프로그램의 속성에서, 제 2키를 생성하는 키 생성스텝과, 상기 프로그램을 제 3키로 복호하는 제 1복호스텝과, 상기 데이터를 제 2키로 복호하는 제 2복호스텝을 포함하는 것을 특징으로 한다.
또, 본 발명에 관계되는 프로그램 제공매체는, 소정의 정보처리장치에 장착하고, 상기 정보처리장치에서 공급된 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 수신하고, 상기 프로그램을 실행하는 반도체IC에, 상기 반도체IC 고유의 제 1키를 미리 기억하고 있는 기억스텝과, 상기 기억스텝에서 기억하고 있는 상기 제 1키 및 상기 정보처리장치에서 공급된 프로그램의 속성에서, 제 2키를 생성하는 키 생성스텝과, 상기 프로그램을 제 3키로 복호하는 제 1복호스텝과, 상기 데이터를 제 2키로 복호하는 제 2복호스텝을 포함하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 한다.
또한, 본 발명은 반도체IC에 실행시키는 프로그램을 공급하는 정보처리장치 및 상기 정보처리장치에 장착되고, 상기 정보처리장치에서 공급된 프로그램을 수신하고, 상기 프로그램을 실행하는 반도체IC로 이루는 정보처리 시스템에 있어서, 상기 정보처리장치는 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 축적하는 축적수단과, 상기 축적수단에 대한 상기 프로그램 및 상기 프로그램의 축적 또는 독출을 제어하는 제어수단과, 상기 프로그램의 상기 반도체IC에서 공급된 제 1키로 암호화하는 제 1암호화수단과, 상기 데이터를 상기 반도체IC에서 공급된 제 2키로 암호화하는 제 2암호화수단과, 암호화된 상기 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 상기 반도체IC에 송신하는 동시에, 상기 제 1키 및 상기 제 2키를 상기 반도체IC에서 수신하는 제 1통신수단을 포함하고, 상기 반도체IC는 암호화된 상기 프로그램 및 상기 프로그램의 실행에 필요한 데이터를 상기 정보처리장치에서 수신하는 동시에, 상기 제 1키 및 상기 제 2키를 상기 정보처리장치에 송신하는 제 2통신수단과, 상기 반도체IC 고유의 제 3키를 미리 기억하고 있는 기억수단과, 상기 기억수단이 기억하고 있는 상기 제 3키 및 상기 정보처리장치에서 공급된 프로그램의 속성에서, 제 2키를 생성하는 키 생성수단과, 상기 제 2통신수단이 수신한, 상기 프로그램을 제 1키로 복호하는 제 1복호수단과, 상기 제 2통신수단이 수신한 상기 데이터를 제 2키로 복호하는 제 2복호수단을 포함하는 것을 특징으로 한다.
이하, 본 발명을 실시하기 위한 최량의 형태에 대하여 도면을 참조하면서 상세히 설명한다.
도 1은, 본 발명을 적용한 콘텐츠데이터 관리시스템의 일 실시형태를 나타내 는 도면이다. 퍼스널 컴퓨터(1)는 로컬영역 네트워크 또는 인터넷으로 구성되는 네트워크(2)에 접속되어 있다. 퍼스널 컴퓨터(1)는 EMD(Electrical Music Distribution)서버(4-1 내지 4-3)에서 수신한, 또는 후술하는 CD(Compact Disc)에서 독해한 음악의 데이터(이하, 콘텐츠라고 칭한다)를 소정의 압축방식(예를 들면, ATRAC3(상표))으로 변환하는 동시에 DES(Data Encryption Standard) 등의 암호화방식으로 암호화하여 기록한다.
퍼스널 컴퓨터(1)는, 암호화하여 기록하고 있는 콘텐츠에 대응하여, 콘텐츠의 이용조건을 나타내는 이용조건의 데이터를 기록한다.
이용조건의 데이터는, 예를 들면 그 이용조건의 데이터에 대응하는 콘텐츠를 동시에 이용할 수 있는 포터블 디바이스(Portable Device(PD라고도 칭한다))의 대수(후술하는 소위 체크아웃할 수 있는 PD의 대수)를 나타낸다. 이용조건의 데이터에 표시되는 수만큼 콘텐츠를 체크아웃 하였을 때라도, 퍼스널 컴퓨터(1)는 그 콘텐츠를 재생할 수 있다.
또는, 이용조건의 데이터는 복사할 수 있는 것을 나타낸다. 콘텐츠를 포터블 디바이스(6-1 내지 6-3)에 복사하였을 때, 퍼스널 컴퓨터(1)는 기록하고 있는 콘텐츠를 재생할 수 있다. 콘텐츠의 포터블 디바이스(6-1 내지 6-3)에 기록시킬 수 있는 횟수는 제한되는 경우가 있다. 이 경우 복사할 수 있는 횟수는 증가하지 않는다.
또는, 이용조건의 데이터는 다른 퍼스널 컴퓨터에 이동할 수 있는 등을 나타낸다. 포터블 디바이스(6-1 내지 6-3)에 콘텐츠를 이동시킨 후, 퍼스널 컴퓨 터(1)가 기록하고 있는 콘텐츠는 사용할 수 없게 된다(콘텐츠가 삭제되거나, 또는 이용조건이 변경되어서 사용할 수 없게 된다).
이용조건의 데이터의 상세는 후술한다.
퍼스널 컴퓨터(1)는, 암호화하여 기록하고 있는 콘텐츠를 콘텐츠에 관련하는 데이터(예를 들면, 곡명, 또는 재생조건 등)와 함께, USB(Universal Sirial Bus)케이블(7-1)을 거쳐서, 접속되어 있는 포터블 디바이스(6-1)에 기록시키는 동시에, 포터블 디바이스(6-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)는, 도시하지 않은 다른 퍼스널 컴퓨터가 포터블 디바이스(6-1)에 체크아웃한 콘텐츠를 체크인할 수 없다. 퍼스널 컴퓨터(1)는, 다른 퍼스널 컴퓨터가 포터블 디바이스(6-2)에 체크아웃한 콘텐츠를 체크인할 수 없다. 퍼스널 컴퓨터(1)는, 다른 퍼스널 컴퓨터가 포터블 디바이스(6-3)에 체크아웃한 콘텐츠를 체크인할 수 없다.
EMD 등록서버(3)는, 퍼스널 컴퓨터(1)가 EMD서버(4-1 내지 4-3)에서 콘텐츠의 취득을 개시할 때, 퍼스널 컴퓨터(1)의 요구에 대응하여, 네트워크를 거쳐서 퍼스널 컴퓨터(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)라고 칭한다.
도 2는, 퍼스널 컴퓨터(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 Drive)(21)는, 하드디스크를 구동하고 그들에게 CPU(11)에 의해 실행하는 프로그램이나 정보를 기록 또는 재생시킨다.
드라이브(22)는, 장착되어 있는 자기디스크(41), 광디스크(42)(CD를 포함), 광자기디스크(43) 또는 반도체 메모리(44)에 기억되어 있는 데이터 또는 프로그램을 독출하여, 그 데이터 또는 프로그램을 인터페이스(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(International Electrotechnical Commission)60958 단자(24a)를 가지는 음성입출력 인터페이스(24)는, 디지털 음성입출력, 혹은 아날로그 음성입출력의 인터페이스처리를 실행한다. 스피커(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)의 구성을 도 3을 참조하여 설명한다. 전원회로(52)는, 건전지(51)에서 공급되는 전원전압을 소정전압의 내부전력으로 변환하여, CPU(53) 내지 표시부(67)에 공급함으로써, 포터블 디바이스(6) 전체를 구동시킨다.
USB제어기(57)는, USB커넥터(56)를 거쳐서 퍼스널 컴퓨터(1)와 USB케이블(7)을 거쳐서 접속된 경우, 퍼스널 컴퓨터(1)에서 전송된 콘텐츠를 포함하는 데이터를를 내부버스(58)를 거쳐서, CPU(53)에 공급한다.
퍼스널 컴퓨터(1)에서 전송되는 데이터는, 1패킷당 64바이트의 데이터로 구성되고, 12Mbit/sec의 전송레이트로 퍼스널 컴퓨터(1)에서 전송된다.
포터블 디바이스(6)에 전송되는 데이터는, 헤더 및 콘텐츠로 구성된다. 헤더에는 콘텐츠ID, 파일명, 헤더사이즈, 콘텐츠키, 파일사이즈, 코덱ID, 파일정보 등이 격납되어 있는 동시에, 재생제한처리에 필요한 재생제한 데이터, 개시일시, 횟수제한 및 재생횟수 카운터 등이 격납되어 있다. 콘텐츠는 ATRAC(3) 등의 부호화방식으로 부호화되어, 암호화되어 있다.
헤더사이즈는, 헤더의 데이터 길이(예를 들면, 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는, 콘텐츠의 부호화방식에 대응한 ID이며, 예를 들면 코덱ID“1”은 ATRAC(3)에 대응하고, 코덱ID“0”은 MP3(MPEG(Moving Picture Experts Group)Audio Layer-3)에 대응한다.
파일명은, 콘텐츠에 대응하는 퍼스널 컴퓨터(1)가 기록하고 있는 콘텐츠파일(후술하는)을 ASCII(American National Standard Code for Information Interchange)코드로 변환한 데이터이며, 파일정보는, 콘텐츠에 대응하는 곡명, 아티스트명, 작사자명 또는 작곡자명 등을 ASCII코드로 변환한 데이터이다.
재생제한 데이터는, 콘텐츠의 재생이 가능한 기간(즉, 개시일시 또는 종료일시) 또는 횟수제한(재생의 횟수제한)이 설정되어 있는지 아닌지를 나타내는 데이터이다. 재생제한 데이터에는, 횟수제한이 설정되어 있을 때, “1”이 할당되고, 재생이 가능한 기간이 설정되어 있을 때, “2”가 할당되고, 횟수제한 및 재생이 가능한 기간이 어느 것도 설정되어 있지 않을 때(소위, 매입으로 구입되었을 때), “0”이 할당된다.
개시일시 및 종료일시는, 재생제한 데이터가 “2”일 때, 재생 가능기간의 범위를 나타네는 데이터이다. 예를 들면, 개시일시가 “00040F”이며, 종료일시가 “00070F”일 때, 대응하는 콘텐츠는 2000년4월15일에서 2000년7월15일까지 재생이 가능하다.
동일하게, 횟수제한 및 재생횟수 카운터는, 재생제한 데이터가 “1” 또는 “2”일 때, 횟수제한은 그 콘텐츠에 대응하여 미리 설정된 재생이 가능한 횟수이며, 재생 횟수카운터는 그 콘텐츠의 재생처리를 실행하였을 때 CPU(53)에 의해 갱신되는, 콘텐츠가 재생된 횟수를 나타낸다. 예를 들면, 재생제한이 “02”일 때, 그 콘텐츠의 재생 가능한 횟수는 2회이며, 재생 횟수카운터가 “01”일 때, 그 콘텐츠가 재생된 횟수는 1회이다.
예를 들면, 재생제한 데이터가 “2”이며, 개시일시가 “00040F”이며, 종료일시가 “00070F”이며, 횟수제한이 “02”일 때, 포터블 디바이스(6)는 대응하는 콘텐츠를 2000년4월15일에서 2000년7월15일까지의 기간에 있어서, 1일 2회씩 반복 재생할 수 있다.
예를 들면, 재생제한 데이터가 “1”이며, 개시일시가 “000000”이며, 종료일시가 “000000”이며, 횟수제한이 “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)방식으로 오류검출을 한 후 재생하고, 재생한 데이터(도 3중에 있어서 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)에의 콘텐츠의 기입 때마다 고쳐써지고, 다시 데이터의 보호를 위해 동일한 데이터가 리저브용으로 이중으로 기입된다.
FAT가 플래시메모리(61)에 기입되면, 1회의 콘텐츠의 기입에 대응하여, 플래시메모리(61)의 동일한 영역이 2회 고쳐써지므로, 적은 콘텐츠의 기입횟수로 플래시메모리(61)에 규정되어 있는 고쳐쓰기의 횟수에 달하게 되어, 플래시메모리(61)의 고쳐쓰기를 할 수 없게 된다.
그래서, 포터블 디바이스(6)는 FAT를 EEPROM(68)에 기억시켜서, 1회의 콘텐츠의 기입에 대응하는 플래시메모리(61)의 고쳐쓰기의 빈도를 적게 하고 있다.
고쳐쓰기의 횟수가 많은 FAT를 EEPROM(68)에 기억시킴으로써, FAT를 플래시메모리(61)에 기억시키는 경우에 비교하여, 포터블 디바이스(6)는 콘텐츠의 기입을 할 수 있는 횟수를 수십배 이상으로 증가시킬 수 있다. 또한 CPU(53)는 EEPROM(68)의 동일영역의 고쳐쓰기의 빈도를 적게 하여, EEPROM(68)이 단기간에 고쳐쓰기 불능으로 되는 것을 방지한다.
포터블 디바이스(6)는, USB케이블(7)을 거쳐서 퍼스널 컴퓨터(1)에 접속되었을 때(이하, 이것을 USB저속이라고 칭한다), USB제어기(57)에서 CPU(53)에 공급되는 끼어들기 신호에 의거하여, USB가 접속된 것을 인식한다.
포터블 디바이스(6)는, USB가 접속된 것을 인식하면, 퍼스널 컴퓨터(1)에서 USB제어기(57)을 거쳐서 규정전류치의 외부전력의 공급을 받는 동시에, 전원회로(52)를 제어하여 건전지(51)로부터의 전력공급을 정지시킨다.
CPU(53)는, USB가 접속되었을 때, DSP(59)의 콘텐츠의 재생처리를 정지시킨다. 이것에 의해 CPU(53)는, 퍼스널 컴퓨터(1)에서 공급되는 외부전력이 규정전류치를 초과하는 것을 방지하여, 규정전류치의 외부전력을 상시 받도록 제어한다.
이와 같이 CPU(53)는, USB가 접속되면 전지에서 공급되는 전력에서 퍼스널 컴퓨터(1)에서 공급되는 전력으로 전환되므로, 전력단가가 싼 퍼스널 컴퓨터(1)로부터의 외부전력이 사용되어, 전력단가가 높은 건전지(51)의 소비전력이 저감되고, 이렇게 하여 건전지(51)의 수명을 연장할 수 있다.
또한 CPU(53)는, 퍼스널 컴퓨터(1)에서 USB케이블(7)을 거쳐서 외부전력의 공급을 받았을 때, DSP(59)의 재생처리를 정지시킴으로써, DSP(59)로부터의 복사를 저감시키고, 그 결과로서 퍼스널 컴퓨터(1)를 포함하는 시스템 전체의 복사를 한층 저감시킨다.
도 4는, CPU(11)의 소정 프로그램의 실행 등에 의해 실현되는, 퍼스널 컴퓨 터(1)의 기능의 구성을 설명하는 블록도이다. 콘텐츠의 관리프로그램(111)은, EMD 선택프로그램(131), 체크인/체크아웃 관리프로그램(132), 암호방식 변환프로그램(135), 압축방식 변환프로그램(136), 암호화 프로그램(137), 이용조건 변환프로그램(139), 이용조건 관리프로그램(140), 인증프로그램(141), 복호프로그램(142), PD용 드라이버(143), 구입용 프로그램(144) 및 구입용 프로그램(145) 등의 프로그램으로 구성되어 있다.
콘텐츠 관리프로그램(111)은, 예를 들면 셔플되어 있는 인스트럭션 또는 암호화되어 있는 인스트럭션 등에서 기술되어서, 그 처리내용을 외부에서 은폐하고, 그 처리내용의 독해가 곤란하게(예를 들면, 사용자가 직접 콘텐츠의 관리프로그램(111)을 독출하여도, 인스트럭션을 특정할 수 없는 등)되도록 구성되어 있다.
EMD 선택프로그램(131)은, 콘텐츠 관리프로그램(111)이 퍼스널 컴퓨터(1)에 인스톨 될 때, 콘텐츠 관리프로그램(111)에는 포함되지 않고, 후술하는 EMD의 등록처리에 있어서 네트워크(2)를 거쳐서, EMD의 등록서버(3)에서 수신된다. EMD 선택프로그램(131)은, EMD서버(4-1 내지 4-3)의 어느 것과 접속을 선택하여, 구입용 어플리케이션(115) 또는 구입용 프로그램(144 혹은 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)은, 콘텐츠 데이터베이스(114)에 기록되어 있는 이용조건파일(162-1 내지 162-N)에 격납되어 있는 콘텐츠를 포터블 디바이스(6-1 내지 6-3)의 어느 것에 복사하거나, 또는 포터블 디바이스(6-1 내지 6-3)에서 콘텐츠를 기억되어 있는 콘텐츠를 콘텐츠 데이터베이스(114)에 복사한다.
이동관리 프로그램(134)은, 콘텐츠 데이터베이스(114)에 기록되어 있는 이용조건파일(162-1 내지 162-N)에 의거하여, 콘텐츠파일(161-1 내지 161-N)에 격납되어 있는 콘텐츠를 포터블 디바이스(6-1 내지 6-3)의 어느 것에 이동하거나, 또는 포터블 디바이스(6-1 내지 6-3)에서 콘텐츠 데이터베이스(114)에 이동한다.
암호방식 변환프로그램(135)은, 네트워크(2)를 거쳐서 구입용 어플리케이션(115)이 EMD서버(4-1)에서 수신한 콘텐츠의 암호화방식, 구입용 프로그램(144)이 EMD서버(4-2)에서 수신한 콘텐츠의 암호화방식, 또는 구입용 프로그램(145)이 EMD서버(4-3)에서 수신한 콘텐츠의 암호화방식을 콘텐츠 데이터베이스(114)가 기록하고 있는 콘텐츠파일(161-1 내지 161-N)에 격납되어 있는 콘텐츠와 동일한 암호화방식으로 변환한다.
또, 암호방식 변환프로그램(135)은, 포터블 디바이스(6-1 또는 6-3)에 콘텐츠를 체크아웃할 때, 체크아웃하는 콘텐츠를 포터블 디바이스(6-1 또는 6-3)가 이용가능한 암호화방식으로 변환한다.
압축방식 변환프로그램(136)은, 네트워크(2)를 거쳐서 구입용 어플리케이션(115)이 EMD서버(4-1)에서 수신한 콘텐츠의 암호화방식, 구입용 프로그램(144)이 EMD서버(4-2)에서 수신한 콘텐츠의 암호화방식, 또는 구입용 프로그램(145)이 EMD서버(4-3)에서 수신한 콘텐츠의 암호화방식을 콘텐츠 데이터베이스(114)가 기록하고 있는 콘텐츠파일(161-1 내지 161-N)에 격납되어 있는 콘텐츠와 동일한 압축방식으로 변환한다.
또 압축방식 변환프로그램(136)은, 포터블 디바이스(6-1 또는 6-3)에 콘텐츠를 체크아웃할 때, 체크아웃하는 콘텐츠를 포터블 디바이스(6-1 또는 6-3)가 이용가능한 압축방식으로 변환한다.
암호화 프로그램(137)은, 예를 들면 CD에서 독해되어 녹음프로그램(113)에서 공급된 콘텐츠(암호화되어 있지 않은)를, 콘텐츠 데이터베이스(114)가 기록하고 있는 콘텐츠파일(161-1 내지 161-N)에 격납되어 있는 콘텐츠와 동일한 암호화방식으로 암호화한다.
압축/신장프로그램(138)은, 예를 들면 CD에서 독해되어 녹음프로그램(113)에서 공급된 콘텐츠(압축되어 있지 않은)를, 콘텐츠 데이터베이스(114)가 기록하고 있는 콘텐츠파일(161-1 내지 161-N)에 격납되어 있는 콘텐츠와 동일한 부호화방식으로 부호화한다. 압축/신장프로그램(138)은, 암호화되어 있는 콘텐츠를 신장 (복호)한다.
이용조건 변환프로그램(139)은, 네트워크(2)를 거쳐서 구입용 어플리케이션(115)이 EMD서버(4-1)에서 수신한 콘텐츠의 이용조건을 나타내는 데이터(소위, Usage Rule), 구입용 프로그램(144)이 EMD서버(4-2)에서 수신한 콘텐츠의 이용조건을 나타내는 데이터, 또는 구입용 프로그램(145)이 EMD서버(4-3)에서 수신한 콘텐츠의 이용조건을 나타내는 데이터를 콘텐츠 데이터베이스(114)가 기록하고 있는 이용조건파일(162-1 내지 162-N)에 격납되어 있는 이용조건 데이터와 동일한 포맷으로 변환한다.
또, 이용조건 변환프로그램(139)은, 포터블 디바이스(6-1 또는 6-3)에 콘텐츠를 체크아웃할 때, 체크아웃하는 콘텐츠에 대응하는 이용조건의 데이터를 포터블 디바이스(6-1 또는 6-3)가 이용 가능한 이용조건의 데이터로 변환한다.
이용조건 관리프로그램(140)은, 콘텐츠의 복사, 이동, 체크인, 또는 체크아웃의 처리를 실행하기 전에, 콘텐츠 데이터베이스(114)에 기록되어 있는 이용조건파일(162-1 내지 162-N)에 격납되어 있는 이용조건 데이터에 대응하는 해시치(후술하는)를 기초로, 이용조건 데이터의 개찬을 검출한다. 이용조건 관리프로그램(140)은, 콘텐츠의 복사, 이동, 체크인, 또는 체크아웃의 처리에 수반하는 콘텐츠 데이터베이스(114)에 기록되어 있는 이용조건파일(162-1 내지 162-N)에 격납되어 있는 이용조건 데이터의 갱신에 대응하여, 이용조건 데이터에 대응하는 해시치를 갱신한다.
인증프로그램(141)은, 콘텐츠관리 프로그램(111)과 구입용 어플리케이 션(115)과의 상호인증의 처리 및 콘텐츠관리 프로그램(111)과 구입용 어플리케이션(115)과의 상호인증의 처리를 실행한다. 또 인증프로그램(141)은, EMD서버(4-1)와 구입용 어플리케이션(115)과의 상호인증의 처리, EMD서버(4-2)와 구입용 어플리케이션(144)과의 상호인증의 처리 및 EMD서버(4-3)와 구입용 어플리케이션(145)과의 상호인증의 처리에서 이용되는 인증키를 기억하고 있다.
인증프로그램(141)이, 상호인증의 처리로 이용하는 인증키는, 콘텐츠관리 프로그램(111)이 퍼스널 컴퓨터(1)에 인스톨되었을 때, 인증프로그램(141)에 기억되어 있지 않고, 표시조작 지시프로그램(112)에 의해 등록의 처리가 정상적으로 실행되었을 때, EMD 등록서버(3)에서 공급되어 인증프로그램(141)에 기억된다.
복호프로그램(142)은, 콘텐츠 데이터베이스(114)가 기록되어 있는 콘텐츠파일(161-1 내지 161-N)에 격납되어 있는 콘텐츠를 퍼스널 컴퓨터(1)가 재생할 때, 콘텐츠를 복호한다.
PD용 드라이버(143)는, 포터블 디바이스(6-2)에 소정의 콘텐츠를 체크아웃할 때, 또는 포터블 디바이스(6-2)에서 소정의 콘텐츠를 체크인할 때, 포터블 디바이스(6-2)에 콘텐츠 또는 포터블 디바이스(6-2)에 소정의 처리를 실행시키는 커맨드를 공급한다.
PD용 드라이버(143)는, 포터블 디바이스(6-1)에 소정의 콘텐츠를 체크아웃할 때, 또는 포터블 디바이스(6-1)에서 소정의 콘텐츠를 체크인할 때, 디바이스 드라이버(116-1)에 소정의 처리를 실행시키는 커맨드를 공급한다.
PD용 드라이버(143)는, 포터블 디바이스(6-3)에 소정의 콘텐츠를 체크아웃할 때, 또는 포터블 디바이스(6-3)에서 소정의 콘텐츠를 체크인할 때, 디바이스 드라이버(116-2)에 콘텐츠 또는 디바이스 드라이버(116-2)에 소정의 처리를 실행시키는 커맨드를 공급한다.
구입용 프로그램(144)은, 소위 플러그인 프로그램이며, 콘텐츠관리 프로그램(111)과 함께 인스톨되어, EMD 등록서버(3)에서 네트워크(2)를 거쳐서 공급되고, 또는 소정의 CD에 기록되어서 공급된다. 구입용 프로그램(144)은, 퍼스널 컴퓨터(1)에 인스톨되었을 때, 콘텐츠관리 프로그램(111)이 가지는 소정의 형식의 인터페이스를 거쳐서, 콘텐츠관리 프로그램(111)과 데이터를 송수신한다.
구입용 프로그램(144)은, 예를 들면 셔플되어 있는 인스트럭션, 또는 암호화되어 있는 인스트럭션 등에서 기술되어서, 그 처리내용을 외부에서 은폐하고, 그 처리내용의 독해가 곤란하게 되도록(예를 들면, 사용자가 직접 구입용 프로그램(144)을 독출하여도, 인스트럭션을 특정할 수 없는 등) 구성되어 있다.
구입용 프로그램(144)은, 네트워크(2)를 거쳐서 EMD서버(4-2)에 소정의 콘텐츠의 송신을 요구하는 동시에, EMD서버(4-2)에서 콘텐츠를 수신한다. 또, 구입용 프로그램(144)은, EMD서버(4-2)에서 콘텐츠를 수신할 때 부과금의 처리를 실행한다.
구입용 프로그램(144)은, 콘텐츠관리 프로그램(111)과 함께 인스톨되는 프로그램이며, 네트워크(2)를 거쳐서 EMD서버(4-3)에 소정의 콘텐츠의 송신을 요구하는 동시에, EMD서버(4-3)에서 콘텐츠를 수신한다. 또, 구입용 프로그램(145)은, EMD서버(4-3)에서 콘텐츠를 수신할 때 부과금의 처리를 실행한다.
표시조작지시 프로그램(112)은, 필터링데이터 파일(183-1 내지 183-K), 또는 이력데이터 파일(184)을 기초로, 디스플레이(20)에 소정윈도우의 화상을 표시시키고, 키보드 또는 마우스(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서버(4-3)에, 미리 기억하고 있는 콘텐츠관리 프로그램(111)의 ID를 송신하는 동시 에, EMD 등록서버(3)에서 인증용 키 및 EMD선택 프로그램(131)을 수신하여, 콘텐츠관리 프로그램(111)에 인증용 키 및 EMD선택 프로그램(131)을 공급한다.
녹음프로그램(113)은, 소정윈도우의 화상을 표시시켜서, 키보드 또는 마우스(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 내지 161-N)에 격납되어 있는 콘텐츠에 대응하는 이용조건의 데이터는, 이용조건 파일(162-1)에 격납되어 있다. 콘텐츠파일(161-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-ROM에 기록되어서 공급된다. 구입용 어플리케이션 프로그램(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)에 있어서의 콘텐츠의 분류(예를 들면, 소위 앨범에 대응한다), 또는 1장 이상의 CD에 대응한다. 콘텐츠는 어느 것의 오리지널 패키지에 속하고, 복수의 오리지널 패키지에 속할 수 없다. 또 콘텐츠가 속하는 오리지널 패키지는, 변경할 수 없다. 사용자는 오리지널 패키지에 대응하는 정보의 일부를 편집(정보의 추가, 또는 추가한 정보의 변경) 할 수 있다.
마이셀렉트 패키지는, 사용자가 임의로 선택한 1장 이상의 콘텐츠가 속한다. 마이셀렉트 패키지에 어느 것의 콘텐츠가 속하느냐는, 사용자가 임의로 편집할 수 있다. 콘텐츠는 1 이상의 마이셀렉트 패키지에 동시에 속할 수 있다. 또 콘텐츠는 어느 마이셀렉트 패키지에 속하지 않아도 좋다.
필터링 패키지에는, 필터링데이터 파일(183-1)에 격납되어 있는 필터링데이터를 기초로 선택된 콘텐츠가 속한다. 필터링데이터는, EMD서버(4-1 내지 4-3) 또는 WWW서버(5-1 혹은 5-3) 등에서 네트워크(2)를 거쳐서 공급되고, 또는 소정의 CD에 기록되어서 공급된다. 사용자는 필터링데이터 파일(181)에 격납되어 있는 필터링데이터를 편집할 수 있다.
필터링데이터는, 소정의 콘텐츠를 선택하는, 또는 콘텐츠에 대응하는 무게를 산출하는 기준이 된다. 예를 들면, 금주의 J-POP(일본의 팝스)베스트텐에 대응하는 필터링데이터를 이용하면, 퍼스널 컴퓨터(1)는 금주의 일본의 팝스 1위의 콘텐츠 내지 금주의 일본의 팝츠 10위의 콘텐츠를 특정할 수 있다.
필터링데이터 파일(181)은, 예를 들면, 과거 1월간에 체크아웃되어 있던 기간이 긴 순으로 콘텐츠를 선택하는 필터링데이터, 과거 반년간에 체크아웃된 횟수가 많은 콘텐츠를 선택하는 필터링데이터, 또는 곡명에 “애”의 문자가 포함되어 있는 콘텐츠를 선택하는 필터링데이터 등을 포함하고 있다.
이와 같이 필터링 패키지의 콘텐츠는, 콘텐츠에 대응하는 콘텐츠용 표시데이터(221)(콘텐츠용 표시데이터(221)에 사용자가 설정한 데이터를 포함), 또는 이력데이터(184) 등과, 필터링데이터를 대응시켜서 선택된다.
드라이버(117)는, 콘텐츠관리 프로그램(111) 등의 제어하에 음성입출력 인터페이스(24)를 구동하여, 외부에서 공급된 디지털 데이터인 콘텐츠를 입력하여 콘텐츠관리 프로그램(111)에 공급하거나, 혹은 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에서 공급된 콘텐츠를 디지털 데이터로서 출력하거나, 또는 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에서 공급된 콘텐츠에 대응하는 아날로그신호를 출력한다.
도 5는, 표시조작지시 프로그램(112)을 기동시켰을 때, 조작지시 프로그 램(112)이 디스플레이(20)에 표시시키는 표시조작지시 윈도우의 예를 나타내는 도면이다.
표시조작지시 윈도우에는, 녹음 프로그램(113)을 기동시키기 위한 버튼(201), EMD선택 프로그램(131)을 기동시키기 위한 버튼(202), 체크인 또는 체크아웃의 처리의 설정을 행하는 필드를 표시시키기 위한 버튼(203), 마이셀렉트 패키지를 편집하기 위해 필드를 표시시키기 위한 버튼(204) 등이 배치되어 있다.
버튼(205)이 선택되어 있을 때, 필드(211)에는 오리지널 패키지에 대응하는 데이터가 표시된다. 버튼(206)이 선택되어 있을 때, 필드(211)에는 마이셀렉트 패키지에 대응하는 데이터가 표시된다. 버튼(207)이 선택되어 있을 때, 필드(211)에는 필터링 패키지에 대응하는 데이터가 표시된다.
필드(211)에 표시되는 데이터는, 패키지에 관한 데이터이며, 예를 들면 패키지명칭, 또는 아티스트명 등이다.
예를 들면 도 5에 있어서는, 패키지명칭 “퍼스트”및 아티스트명 “A다로”, 패키지명칭 “세컨드 ”및 아티스트명 “A다로”등이 필드(211)에 표시된다.
필드(212)에는, 필드(211)에서 선택되어 있는 패키지에 속하는 콘텐츠에 대응하는 데이터가 표시된다. 필드(212)에 표시되는 데이터는, 예를 들면 곡명, 연주시간 또는 체크아웃 가능횟수 등이다.
예를 들면 도 5에 있어서는, 패키지명칭 “세컨드”에 대응하는 패키지가 선택되어 있으므로, 패키지명칭 “세컨드”에 대응하는 패키지에 속하는 콘텐츠에 대응하는 곡명 “남쪽의 술집”및 체크아웃 가능횟수(예를 들면, 8부음부의 하나가 체크아웃 1회에 상당하고, 8부음부가 2개로 체크아웃 2회를 나타낸다)와, 곡명 “북쪽의 술집”및 체크아웃 가능횟수(8부음부가 하나로 체크아웃 1회를 나타낸다) 등이 필드(212)에 표시된다.
이와 같이, 필드(212)에 표시되는 체크아웃 가능횟수로서의 하나의 8부음부는, 대응하는 콘텐츠가 1 회 체크아웃 될 수 있는 것을 나타낸다.
필드(212)에 표시되는 체크아웃 가능횟수로서의 휴지부는, 대응하는 콘텐츠가 체크아웃 할 수 없는 체크아웃 가능횟수가 0이다.(단, 퍼스널 컴퓨터(1)는 그 콘텐츠를 재생할 수 있다) 라는 것을 나타낸다. 또 필드(212)에 표시되는 체크아웃 가능횟수로서의 도음기호는, 대응하는 콘텐츠의 체크아웃의 횟수에 제한이 없는 (몇 번이라도, 체크아웃할 수 있다) 것을 표시하고 있다.
또한, 체크아웃 가능횟수는, 도 5에 나타내는 바와 같이 소정의 도형(예를 들면, 원, 별, 달 등이라도 좋다)의 수로 표시할 뿐만 아니라, 수자 등으로 표시하여도 좋다.
또, 표시조작지시 윈도우에는, 선택되어 있는 패키지 또는 콘텐츠에 대응시켜져 있는 화상 등(도 4의 화상파일(183-1 내지 183-K)의 어느 것에 대응한다)을 표시시키는 필드(208)가 배치되어 있다. 버튼(209)은 선택되어 있는 콘텐츠를 재생할(콘텐츠에 대응하는 음성을 스피커(45)에 출력시킨다) 때 클릭된다.
버튼(205)이 선택되어서, 필드(211)에 오리지널 패키지에 대응하는 데이터가 표시되어 있을 경우, 필드(212)에 표시되어 있는 소정의 콘텐츠의 곡명을 선택하여, 소거의 조작을 하였을 때, 표시조작지시 프로그램(112)은 콘텐츠관리 프로그 램(111)에, 선택되어 있는 곡명에 대응하는 콘텐츠 데이터베이스(114)에 격납되어 있는 소정의 콘텐츠를 소거시킨다.
녹음 프로그램(113)이 표시시키는 윈도우의 버튼(후술하는 버튼(255))이 선택되어(액티브되어서) 있을 경우, CD에서 독출한 콘텐츠가 콘텐츠 데이터베이스(114)에 기록되었을 때, 표시조작지시 프로그램(112)은 표시조작지시 윈도우에, 미리 지정되어 있는 포터블 디바이스(6-1 내지 6-3)의 어느 것에 기억되어 있는 콘텐츠의 곡명을 표시하는 필드(213)를 표시한다.
녹음 프로그램(113)이 표시시키는 윈도우의 버튼(후술하는 버튼(255))이 선택되어 있을 경우, CD에서 독출한 콘텐츠가 콘텐츠 데이터베이스(114)에 기록되었을 때, 표시조작지시 프로그램(112)은 콘텐츠관리 프로그램(111)에, 콘텐츠 데이터베이스(114)에 기록한, CD에서 독출한 콘텐츠를 미리 지정되어 있는 포터블 디바이스(6-1 내지 6-3)의 어느 것에 체크아웃 시킨다.
필드(213)에는 콘텐츠의 곡명에 대응시켜서, 필드(213)의 가장 왼쪽에 그 콘텐츠가 퍼스널 컴퓨터(1)에 체크인할 수 있는지 아닌지를 나타내는 기호가 표시된다. 예를 들면, 필드(213)의 가장 왼쪽에 위치하는 “○”은, 콘텐츠의 곡명에 대응하는 콘텐츠가 퍼스널 컴퓨터(1)에 체크인할 수 있는(즉, 퍼스널 컴퓨터(1)에서 체크아웃 된) 것을 나타내고 있다. 필드(213)의 가장 왼쪽에 위치하는 “×”는, 콘텐츠의 곡명에 대응하는 콘텐츠가 퍼스널 컴퓨터(1)에 체크인할 수 없는(즉, 퍼스널 컴퓨터(1)에서 체크아웃 되어있지 않은, 예를 들면, 다른 퍼스널 컴퓨 터에서 체크아웃 된 ) 것을 나타내고 있다.
표시조작지시 프로그램(112)이 표시조작지시 윈도우에 필드(213)를 표시시켰을 때, 표시조작지시 프로그램(112)은 표시조작지시 윈도우에, 미리 지정되어 있는 포터블 디바이스(6-1 내지 6-3)의 어느 것에 기억되어 있는 콘텐츠가 속하는 포터블 패키지(포터블 디바이스(6-1 내지 6-3)의 어느 것에 기억되어 있는 콘텐츠가 속하는 패키지)의 명칭을 표시하는 필드(214), 필드(213)를 닫기 위한 버튼(210) 및 체크인 또는 체크아웃을 실행시키는 버튼(215)을 표시한다.
또한, 표시조작지시 프로그램(112)이 표시조작지시 윈도우에 필드(213)를 표시시켰을 때, 표시조작지시 프로그램(112)은 표시조작지시 윈도우에, 필드(212)에서 선택된 곡명에 대응하는 콘텐츠의 체크아웃을 설정하는 버튼(216), 필드(213)에서 선택된 곡명에 대응하는 콘텐츠의 체크인을 설정하는 버튼(217), 필드(213)에 표시된 콘텐츠명에 대응하는 모든 콘텐츠의 체크인을 설정하는 버튼(218) 및 체크인 또는 체크아웃의 설정을 취소하는 버튼(219)을 배치시킨다.
버튼(216 내지 219)의 조작에 의한 체크인 또는 체크아웃의 설정만으로는, 퍼스널 컴퓨터(1)는 체크인 또는 체크아웃의 처리를 실행하지 않는다.
버튼(216 내지 219)의 조작에 의한 체크인 또는 체크아웃의 설정을 한 후, 버튼(215)이 클릭되었을 때, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)에 체크인 또는 체크아웃의 처리를 실행시킨다. 즉, 버튼(215)이 클릭되었을 때, 표시조작지시 프로그램(112)은, 체크인 또는 체크아웃의 설정에 의거하여 콘텐츠관리 프로그램(111)에, 포터블 디바이스(6-1 내지 6-3)의 어느 것에 콘텐츠 를 송신시키거나, 또는 체크인에 대응하는 소정의 커맨드(예를 들면, 포터블 디바이스(6-1 내지 6-3)의 어느 것이 기억하고 있는 소정의 콘텐츠를 소거시키는 커맨드 등)를 송신시키는 동시에, 송신한 콘텐츠 또는 커맨드에 대응하는 이용조건 파일(162)에 격납되어 있는 이용조건의 데이터를 갱신시킨다.
체크인 또는 체크아웃이 실행되었을 때, 표시조작지시 프로그램(112)은, 송신한 콘텐츠 또는 송신된 커맨드에 대응하여, 이력데이터 파일(184)에 격납되어 있는 이력데이터를 갱신한다. 이력데이터는 체크인 또는 체크아웃된 콘텐츠를 특정하는 정보, 또는 그 콘텐츠가 체크인 또는 체크아웃된 일자, 그 콘텐츠가 체크아웃된 포터블 디바이스(6-1 내지 6-3)의 명칭 등으로 이룬다.
체크인 또는 체크아웃의 설정처리는 단시간으로 실행할 수 있으므로, 사용자는 체크인 또는 체크아웃의 처리의 실행 후의 상태를 신속히 알 수 있고, 시간이 걸리는 체크인 또는 체크아웃의 처리의 횟수를 줄여서, 체크인 또는 체크아웃에 필요한 시간전체(설정 및 실행을 포함)를 짧게 할 수 있다.
도 6은, 녹음 프로그램(113)이 디스플레이(20)에 표시시키는 윈도우의 예를 설명하는 도면이다. 예를 들면, WWW서버(5-2)에서 수신한 CD의 정보를 기초로, 녹음 프로그램(113)은 필드(251)에 “애싱크로나이즈드”등의 CD의 타이틀을 표시한다. WWW서버(5-2)에서 수신한 CD의 정보를 기초로, 녹음 프로그램(113)은 필드(252)에 “쿠와이”등의 아티스트명을 표시한다.
WWW서버(5-2)에서 수신한 CD의 정보를 기초로, 녹음 프로그램(113)은 필드(253)의 곡명을 표시하는 부분에, 예를 들면, “히트”, “프라네트”, “블랙 ”, “서울”등의 곡명을 표시한다. 동일하게 녹음 프로그램(113)은, 필드(253)의 아티스트를 표시하는 부분에, 예를 들면, “쿠와이” 등의 아티스트명을 표시한다.
녹음 프로그램(113)이 소정의 CD의 정보를 수신한 후, 녹음 프로그램(113)은 HDD(21)의 소정의 디렉터리에 CD의 정보를 격납한다.
버튼(254) 등이 클릭되어서, CD정보의 취득지시를 받았을 때, 녹음 프로그램(113)은 처음에, HDD(21)의 소정의 디렉터리를 검색한다. 녹음 프로그램(113)은 그 디렉터리에 CD의 정보가 격납되어 있을 때, 도시하지 않은 다이어로그 박스를 표시하여, 사용자에게 디렉터리에 격납되어 있는 CD의 정보를 이용하는 것인지 아닌지를 선택시킨다.
녹음 프로그램(113)이 표시시키는 윈도우에 배치되어 있는 콘텐츠의 녹음의 개시를 지시하는 버튼(256)이 클릭되었을 때, 녹음 프로그램(113)은 드라이브(22)에 격납되어 있는 CD에서 콘텐츠를 독출하여, CD에서 독출한 콘텐츠를 CD의 정보와 함께 콘텐츠관리 프로그램(111)에 공급한다. 콘텐츠관리 프로그램(111)의 압축/신장 프로그램(138)은, 녹음 프로그램(113)에서 공급된 콘텐츠를 소정의 압축방식으로 압축하고, 암호화 프로그램(137)은 압축된 콘텐츠를 암호화한다. 또, 이용조건 변환프로그램(139)은 압축되어, 암호화된 콘텐츠에 대응하는 이용조건의 데이터를 생성한다.
콘텐츠관리 프로그램(111)은 압축되어, 암호화된 콘텐츠를 이용조건의 데이터와 함께, 콘텐츠 데이터베이스(114)에 공급한다.
콘텐츠 데이터베이스(114)는, 콘텐츠관리 프로그램(111)에서 수신한 콘텐츠에 대응하는 콘텐츠 파일(161) 및 이용조건 파일(162)을 생성하여, 콘텐츠 파일(161)에 콘텐츠를 격납하는 동시에, 이용조건 파일(162)에 이용조건의 데이터를 격납한다.
콘텐츠관리 프로그램(111)은, 콘텐츠 데이터베이스(114)에 콘텐츠 및 콘텐츠에 대응하는 이용조건의 데이터가 격납되었을 때, 녹음 프로그램(113)에서 수신한 CD의 정보 및 이용조건의 데이터를 표시조작지시 프로그램(112)에 공급한다.
표시조작지시 프로그램(112)은, 녹음의 처리로 콘텐츠 데이터베이스(114)에 격납된 콘텐츠에 대응하는 이용조건의 데이터 및 CD의 정보를 기초로, 표시데이터 파일(182)에 격납하는 표시용의 데이터를 생성한다.
녹음 프로그램(113)이 표시시키는 윈도우에는, 또한 CD에서 독출한 콘텐츠를 콘텐츠 데이터베이스(114)에 기록하였을 때, 자동적으로 CD에서 독출한 콘텐츠를 포터블 디바이스(6-1 내지 6-3)의 어느 것에 체크아웃 시킬것인지 아닌지의 설정을 행하는 버튼(255)이 배치되어 있다.
예를 들면, 버튼(255)이 클릭되었을 때 녹음 프로그램(113)은, 포터블 디바이스(6-1 내지 6-3)의 리스트를 나타내는 풀다운 메뉴를 표시한다. 사용자가 그 풀다운 메뉴에서 포터블 디바이스(6-1 내지 6-3)의 어느 것을 선택하였을 때, 퍼스널 컴퓨터(1)는, 선택된 포터블 디바이스(6-1 내지 6-3)의 어느 것에, 자동적으로 CD에서 기록한 콘텐츠를 체크아웃한다. 사용자가 그 풀다운 메뉴에서 “체크아웃하지 않는다” 를 선택한 경우, 퍼스널 컴퓨터(1)는 CD에서 콘텐츠를 기록하였을 때, 체크아웃하지 않는다.
이와 같이, 녹음 프로그램(113)이 표시시키는 윈도우의 버튼(255)을 액티브로 하여 놓는 것만으로, CD에서 독출한 콘텐츠가 콘텐츠 데이터베이스(114)에 기록되었을 때, 퍼스널 컴퓨터(1)는 미리 지정되어 있는 포터블 디바이스(6-1 내지 6-3)의 어느 것에, CD에서 독출한 콘텐츠를 체크아웃시킬 수 있다.
다음에, 도 7의 플로차트를 참조하여, 콘텐츠관리 프로그램(111),표시조작지시 프로그램(112), 녹음 프로그램(113) 및 콘텐츠 데이터베이스(114)를 실행하는 CPU(11)에 의한, 드라이브(22)에 장착된 CD에서 재갱한 콘텐츠를 HDD(21)에 전송하여, 복사하는 경우의 처리에 대하여 설명한다. 사용자가 키보드(18) 및 마우스(19)를 조작하여, 인터페이스(17)를 거쳐서 CPU(11)에 대하여 드라이브(22)에 장착된 CD(도시 않음)에서 재갱된 콘텐츠를 HDD(21)에 전송하고, 복사하는 지령을 입력하면, 녹음 프로그램(113)은 스텝(S11)에 있어서, 인터페이스(17)를 거쳐서 디스플레이(20)에 복사하는 콘텐츠를 선택하기 위한, 예를 들면 도 6에 나타내는 GUI(Graphical User Interface)를 표시시킨다.
구체적으로는, 예를 들면 녹음 프로그램(113)은, 드라이브(22)에 장착된 CD의 TOC(Table Of Contents)를 읽고, 그 CD에 포함되는 콘텐츠의 정보를 얻어 디스플레이(20)에 표시시킨다. 또는 녹음 프로그램(113)은, CD에 포함되어 있는 각 콘텐츠마다의 ISRC(International Standard Recording Code)를 독출하고, 그 콘텐츠의 정보를 얻어 디스플레이(20)에 표시시킨다. 혹은 또, 버튼(254)이 틀릭되었을 때, 녹음 프로그램(113)은 네트워크(2)를 거쳐서 WWW서버(5-1 또는 5-2)에 액 세스하고, TOC를 이용하여 그 CD의 콘텐츠정보를 얻어, 콘텐츠에 대응하는 곡명 등을 필드(253)에 표시시킨다.
사용자는, 디스플레이(20)의 GUI를 이용하여 키보드(18) 또는 마우스(19)를 조작하고, 필드(253)에 표시되어 있는 곡명에 대응하는 체크박스를 클릭하는 등하여, 복사하는 콘텐츠를 선택한다.
다음에, 스텝(S12)에 있어서 녹음 프로그램(113)은, 이용조건관리 프로그램(140)에 HDD(21)에 격납되어 있는, 기한 데이터베이스(도 4에 나타내는 콘텐츠 데이터베이스(114)의 이용조건 파일((162-1 내지 162-N)에 대응하는)을 체크시킨다. 이 기한 데이터베이스 체크처리의 상세는, 도 8의 플로차트에 표시되어 있다.
스텝(S31)에 있어서, 이용조건관리 프로그램(140)은, 어댑터(26)의 CPU(32)와 공동하여, 기한 데이터베이스 전체의 해시치를 계산하고, 스텝(S32)에 있어서 그 계산된 값과, 전회 보존하여 둔 해시치를 비교한다.
또한, 기한 데이터베이스에 데이터가 아무 것도 기록되어 있지 않을 때, 이용조건관리 프로그램(140)은 해시치를 계산하지 않는다.
즉, HDD(21)에는 기한 데이터베이스가 형성되어 있고, 이 기한 데이터베이스에는 도 9에 나타내는 바와 같이, HDD(21)에 기록되어 있는 콘텐츠를 관리하는 관리정보로서, 과거에 기록된 적이 있는 콘텐츠의 IRSC와 복사일시가 대응하여 기록되어 있다. 이 예에 있어서는, 아이템 1 내지 아이템 3의 3개의 아이템에 대하여, 각각의 IRSC와 복사일시가 기록되어 있다. 이 기한 데이터베이스에 기록되 어 있는 모든 콘텐츠의 IRSC와 복사일시에 의거한 기한 데이터베이스 전체의 해시치가, 후술하는 바와 같이 스텝(S38)에 있어서, 어댑터(26)의 CPU(32)에 의해 계산되고, 불휘발성 메모리(34)에 기억되어 있다. 해시치는 데이터에 대하여 해시함수를 적용하여 얻어진 값이다. 해시함수는 일반적으로 가변길이가 긴 데이터를, 고정길이가 짧은 값에 매프하는 일방향성의 함수이며, 해시치끼리의 충돌이 일어나기 어려운 성질을 가지고 있다. 해시함수의 예로서는, SHA(Secure Hash Algorithm), MD(Message Digest)(5) 등이 있다. 이용조건관리 프로그램(140)은. 스텝(S31)에 있어서, CPU(32)가 실행한 것과 동일하게 해시치를 계산한다. 그리고, 스텝(S32)에 있어서, 이용조건관리 프로그램(140)은. CPU(32)에 불휘발성 메모리(34)에 기억되어 있는 해시치의 독출을 요구하고, 전송을 받은 해시치와, 스텝(S31)에서 지금 자가자신이 계산한 해시치를 비교한다.
스텝(S33)에 있어서, 이용조건관리 프로그램(140)은. 스텝(S31)에서 지금 계산한 해시치와, 불휘발성 메모리(34)에 기억되어 있는 전회의 기한 데이터베이스의 해시치가 일치하는지 아닌지를 판정하고, 일치하지 않는 경우에는 기한 데이터베이스가 개찬된 것으로 판정하고, 이용조건관리 프로그램(140)은 스텝(S34)에 있어서, 예를 들면 녹음프로그램(113)에「기한 데이터베이스가 개찬되었음으로, 복사할 수 없습니다」라는 메시지를 발생시켜, 인터페이스(17)를 거쳐서 디스플레이(20)에 출력시켜 표시시키고, 이후 처리를 종료시킨다. 즉, 이 경우에는 CD에 기록되어 있는 콘텐츠를 재생하고, HDD(21)에 복사하는 처리가 금지된다.
스텝(S31)에서 계산한 해시치와, 전회의 해시치가 일치할 경우에는 스 텝(S35)으로 진행하고, 이용조건관리 프로그램(140)은 녹음프로그램(113)에, 스텝(S11)에서 지정된 복사하는 콘텐츠로서 선택된 콘텐츠(선택된 콘텐츠)의 ISRC를 CD에서 취득시킨다. CD에 ISRC가 기록되어 있지 않은 경우, 이용조건관리 프로그램(140)은 녹음프로그램(113)에, 그 CD의 TOC의 데이터를 독출시켜 그 데이터에 해시함수를 적용하는 등하여, 예를 들면 58비트 등의 적당한 길이의 데이터를 얻어, 이것을 ISRC에 대신하여 이용한다.
스텝(S36)에 있어서, 이용조건관리 프로그램(140)은. 스텝(S35)에서 취득한 ISRC(즉, 선택된 콘텐츠)가 기한 데이터베이스(도 9)에 등록되어 있는지 아닌지를 판정한다. ISRC가 기한 데이터베이스에 등록되어 있지 않은 경우에는, 그 콘텐츠는 아직 HDD(21)에 기록되어 있지 않은 것으로 되므로, 스텝(S37)으로 진행하고, 이용조건관리 프로그램(140)은, 그 콘텐츠의 ISRC와 현재의 일시를 기한 데이터베이스에 등록한다. 또한, 이용조건관리 프로그램(140)은 지금 현재의 일시로서 CPU(32)에서 전송을 받은, 어댑터(26)의 RTC(35)가 출력하는 값을 이용한다. 그리고, 스텝(S38)에 있어서 이용조건관리 프로그램(140)은, 그 시점에 있어서의 기한 데이터베이스의 데이터를 독출하고, 어댑터(26)의 CPU(32)에 전송한다. CPU(32)는 전송되어 온 데이터의 해시치를 계산하고, 불휘발성 메모리(34)에 보존한다. 상술한 바와 같이, 이와 같이하여 보존하여 둔 해시치가 스텝(S32)에 있어서, 전회 보존하여 둔 해시치로서 이용된다.
다음에, 스텝(S39)에 있어서 이용조건관리 프로그램(140)은, 선택된 콘텐츠가 기한 데이터베이스에 등록되어 있지 않은 것을 나타내는 미등록의 플러그를 설 정한다. 이 플러그는 후술하는 도 7의 스텝(S13)에 있어서, 선택된 콘텐츠가 기한 데이터베이스에 등록되어 있는지 아닌지의 판정을 행할 때에 이용된다.
스텝(S36)에 있어서, 선택된 콘텐츠의 ISRC가 기한 데이터베이스에 등록되어 있다고 판정된 경우, 그 선택된 콘텐츠는 적어도 한번 HDD(21)에 기록된 적이 있는 콘텐츠라는 것으로 된다. 그래서, 이 경우 스텝(S40)으로 진행하고, 이용조건관리 프로그램(140)은 기한 데이터베이스에 등록되어 있는 그 선택된 콘텐츠의 일시보다, 현재의 일시(어댑터(26)의 RTC(35)가 출력한 현재의 일시)가 48시간 이상 경과하고 있는지 아닌지를 판정한다. 현재시각이 등록일시보다 이미 48시간 이상 경과하고 있을 경우에는, HDD(21)에 적어도 한번은 기록한 적이 있으나, 이미 그 때부터 48시간 이상 경과하고 있으므로, 그 콘텐츠를 재차 복사시켰다고 하여도, 콘텐츠의 대량의 복사는 실질적으로 불가능하므로, 이 경우에는 HDD(21)에의 복사가 허용된다. 그래서 스텝(S41)으로 진행하고, 이용조건관리 프로그램(140)은 기한 데이터베이스의 일시를, 과거의 등록일시에서 현재의 일시(RTC(35)의 출력하는 일시)로 변경시킨다. 그리고, 스텝(S38)으로 되돌아가고, 이용조건관리 프로그램(140)은, 다시 기한 데이터베이스 전체의 해시치를 CPU(32)에 계산시켜, 불휘발성 메모리(34)에 보존시키는 동시에, 스텝(S39)에 있어서 그 콘텐츠에 대하여 미등록의 플러그를 설정한다.
한편, 스텝(S40)에 있어서 현재시각이 등록일시보다, 아직 48시간 이상 경과하고 있지 않다고 판정된 경우, 그 선택된 콘텐츠의 HDD(21)에의 복사가 금지된다. 그래서, 이 경우에는 스텝(S42)으로 진행하고, 이용조건관리 프로그램(140)은 그 선택된 콘텐츠에 대응하여 등록제의 플러그를 설정한다.
스텝(S40)의 처리에 의해, 소정의 시간이 경과하지 않았으면, 콘텐츠의 새로운 복사를 생성할 수 없으므로, 부정하지 않은 통상의 사용을 목적으로 한 콘텐츠의 복사의 생성을 부당하게 방해하지 않고, 예를 들면 부정한 판매 또는 배포 등에 필요한 대량의 콘텐츠의 복사의 생성은, 실질적으로 불가능하게 된다. 또한 스텝(S40)에 있어서는, 판정의 기준은 48시간 이상의 경과로 하였으나, 48시간에 한하지 않고, 예를 들면, 12시간 내지 168시간의 어느 시간이면 좋다.
이상과 같이하여, 기한 데이터베이스 체크처리에 의해 선택된 콘텐츠가 HDD(21)에 등록되어 있는지 아닌지를 나타내는 플러그가 설정된다.
도 7에 되돌아가서, 스텝(S13)에 있어서 복사관리 프로그램(133)은, 선택된 콘텐츠가 기한 데이터베이스에 등록제인지 아닌지를, 상술한 플러그에서 판정한다. 선택된 콘텐츠가 등록제인 경우에는 스텝(S14)으로 진행하고, 복사관리 프로그램(133)은 녹음프로그램(113)에, 예를 들면 「이 곡은 한번 복사되고서 아직 48시간 이상의 경과하고 있지 않았음으로, 복사할 수 없습니다」와 같은 메시지를 디스플레이(20)에 표시시킨다. 이것에 의해 사용자는, 그 콘텐츠를 HDD(21)에 복사할 수 없는 이유를 알 수 있다.
스텝(S13)에 있어서, 선택한 콘텐츠가 기한 데이터베이스에 등록되어 있지 않다고 판정된 경우 스텝(S15)으로 진행하고, 녹음프로그램(113)은 드라이브(22)를 제어하고, 거기에 장착되어 있는 CD에서 콘텐츠를 독출시킨다. 이 콘텐츠에는 도 10에 나타내는 바와 같이, 소정의 위치에 워터마크 코드가 삽입되어 있다. 녹음프로그램(113)은 스텝(S16)에 있어서, 콘텐츠에 포함되어 있는 워터마크 코드를 추출하고, 그 워터마크 코드가 복사금지를 나타내고 있는지 아닌지를 스텝(17)에 있어서 판정한다. 워터마크 코드가 복사금지를 나타내고 있을 경우에는 스텝(S18)으로 진행하고, 녹음프로그램(113)은 녹음프로그램(113)에, 예를 들면 「복사는 금지되어 있습니다」와 같은 메시지를 인터페이스(17)를 거쳐서 디스플레이(20)에 표시시키고, 복사처리를 종료시킨다.
이에 대하여, 스텝(S17)에 있어서 워터마크가 복사금지를 나타내고 있지 않다고 판정된 경우 스텝(S19)으로 진행하고, 녹음프로그램(113)은 콘텐츠를 압축/신장 프로그램(138)에, 예를 들면 ATRAC(Adaptive Transform Acoustic Coding)(3)(상표) 등의 방식으로, 소프트웨어 처리에 의해 압축시킨다. 스텝(S20)에 있어서 녹음프로그램(113)은, 암호화 프로그램(137)에 미리 설정되어, 메모리(13)에 기억되어 있는 암호키를 사용하여, 예를 들면 DES(Data Encryption Standard)방식, FEAL(Fast Encripherment Algorithm)방식 등의 암호화방법에 의해, 콘텐츠를 암호화시킨다. 암호키는 이외, 예를 들면 소프트웨어에 의해 발생한 난수, 혹은 어댑터(26)의 CPU(32)에 의해 발생시킨 난수에 의거하여 생성한 것을 이용할 수도 있다. 이와 같이, 퍼스널 컴퓨터(1)뿐만 아니라, 그것에 부수하여 장착된 하드웨어로서의 어댑터(26)의 CPU(32)와 공동하여 암호화처리를 실행하도록 하는 것으로, 해독이 보다 곤란하게 되는 암호화를 행하는 것이 가능하게 된다.
다음에, 스텝(S21)에 있어서 녹음프로그램(113)은, 암호화 된 데이터를 콘텐츠 데이터베이스(114)에 전송하고, 하나의 파일(콘텐츠파일(161)로서)로서 파일명 을 붙여서 HDD(21)에 보존시킨다. 혹은 또, 하나의 파일의 일부로서, 그 파일명의 위치정보(예를 들면, 선두로부터의 바이트수)를 부여하여 보존하도록 하여도 좋다.
이 보존처리와, 상기한 압축 부호화처리 및 암호화처리와는 각각 행하도록 하여도 좋고, 동시에 평행적으로 행하도록 하여도 좋다.
또한, 스텝(S22)에 있어서 녹음프로그램(113)은, 암호화 프로그램(137)에 미리 정해져 있는 불휘발성 메모리(34)에 기록되어 있는 보존용 키를 사용하여, 상술한 DES방식, FEAL방식 등의 방식으로, 콘텐츠를 암호화한 암호키를 암호화시켜서, HDD(21)의 곡데이터 베이스 (도 4에 나타내는 콘텐츠 데이터베이스(114)의 이용조건 파일(162-1 내지 162-N에 대응한다)에 보존한다.
스텝(S23)에 있어서, 녹음프로그램(113)은 보존한 파일에 관한 정보, 암호화된 암호키, 그 콘텐츠의 정보, 사용자가 GUI를 거쳐서 입력한 곡명의 정보의 요수를 조로 하여 HDD(21)의 곡데이터 베이스에 등록한다(이용조건 파일(162-1 내지 162-N으로서 기록한다). 그리고 스텝(S24)에 있어서, 녹음프로그램(113)은 CPU(32)에, 곡데이터 베이스 전체의 해시치를 계산시키고, 불휘발성 메모리(34)에 보존시킨다.
이와 같이하여, 예를 들면 도 11에 나타내는 바와 같은 곡데이터 베이스가 HDD(21)상에 등록된다. 이 예에 있어서는, 아이템 1 내지 아이템 3의 파일명, 암호화된 암호키, 곡명, 길이, 재생조건(개시일시, 종료일시, 횟수제한), 재생횟수 카운터, 재생시 부과금조건, 복사조건(횟수), 복사횟수 카운터 및 복사조건(SCMS) 이 기록되어 있다.
예를 들면, SDMI(Secure Digital Music Intiative)가 규정하는 방식에서는, CD에서 복사한 콘텐츠에 대응하여, 그 콘텐츠가 체크아웃할 수 있는 횟수는 3회로 설정된다.
CD에서 HDD(21)에 콘텐츠가 복제되어서 일정기간이 경과하면, 다시 콘텐츠를 복제할 수 있도록 하였음으로, 사용자의 개인의 사용범위가 되는 수회의 복제가 가능하게 된다. 한편, 개인의 사용범위를 초과하여 예를 들면, 대량으로 복제하고자 하면, 막대한 시간이 필요하게 되고, 현실적으로 불가능하게 된다. 또 예를 들면, 퍼스널 컴퓨터(1)가 고장나서 HDD(21)에 기록된 콘텐츠가 소거된 경우에 있어서도, 일정기간의 경과 후, 소거된 콘텐츠를 다시 복제하고, HDD(21)에 기록할 수 있다.
또 예를 들면, 네트워크(2)를 거쳐서 HDD(21)에 기록되어 있는 기한 데이터베이스의 내용을 공유할 수도 있다.
이상에 있어서는, ISRC에 대응하여 복제된 일시가 기억되어 있을 경우를 예로서 설명하였으나, 콘텐츠나 CD를 식별하는 정보이면, 다른 것(예를 들면, 곡명, 앨범명, 그들의 조합 등)을 이용할 수도 있다.
다음에, 도 12 내지 도 14의 플로차트를 참조하여, 표시조작지시 프로그램(112) 및 콘텐츠관리 프로그램(111)을 실행하는 CPU(11) 및 메인 프로그램을 실행하는 CPU(52)에 의한, HDD(21)에서 포터블 디바이스(6)의 플래시 메모리(61)(예를 들면, 메모리스틱(상표)에, 콘텐츠를 이동하는 처리 및 체크아웃의 처리에 대해 서 설명한다.
처음에, 콘텐츠의 이동처리에 대해서 설명한다. 스텝(S51)에 있어서, 이동관리 프로그램(134)은 이용조건관리 프로그램(140)에, 곡데이터 베이스 전체의 해시치를 계산시키고, 스텝(S52)에서 전회 CPU(32)에 계산시키고, 불휘발성 메모리(34)에 보존하여 둔 해시치와 비교한다. 양자가 일치하지 않는 경우, 이동관리 프로그램(134)은 스텝(S53)으로 진행하고, 표시조작지시 프로그램(112)에 예를 들면, 「곡데이터 베이스가 개찬될 우려가 있습니다」와 같은 메시지를 디스플레이(20)에 표시시킨 후, 처리를 종료시킨다. 이 경우의 처리는, 도 8의 스텝(S31) 내지 스텝(S34)의 처리와 동일한 처리이다. 이 경우에 있어서는, HDD(21)에서 포터블 디바이스(6)에의 콘텐츠의 이동이 실행되지 않게 된다.
다음에, 스텝(S54)에 있어서, 이동관리 프로그램(134)은 HDD(21)에 형성되어 있는 곡데이터 베이스 (콘텐츠 데이터베이스(114)에 포함된다)에서, 거기에 등록되어 있는 콘텐츠의 정보를 독출하고, 표시조작지시 프로그램(112)에 선택을 위한 GUI로서 디스플레이(20)에 표시시킨다. 사용자는, 이 선택을 위한 GUI에 의거하여, HDD(21)에서 포터블 디바이스(6)에 이동시키는 콘텐츠를, 도 5의 필드(212)에 표시되는 곡명, 버튼(216) 등을 클릭하여 선택한다. 다음에 스텝(S55)에 있어서, 이동관리 프로그램(134)은 스텝(S54)에서 선택된 콘텐츠의 재생조건, 복사조건, 재생시 부과금조건 등을 조사한다. 이 처리의 상세는, 도 15의 플로차트를 참조하여 후술한다.
다음에, 스텝(S56)에 있어서, 퍼스널 컴퓨터(1)의 인증 프로그램(141)과 포 터블 디바이스(6)의 CPU(53)와의 사이에 있어서, 상호인증처리가 행해지고, 통신용 키가 공유된다.
예를 들면, 포터블 디바이스(6)의 플래시 메모리(61)(또는, EEPROM(68))에는, 마스터 키(KM)가 미리 기억되어 있고, 퍼스널 컴퓨터(1)의 RAM(13)(또는, HDD(21)의 소정의 파일)에는, 개별 키(KP)와 RAM(13)에 ID가 미리 기억되어 있는 것으로 한다. CPU(53)는 인증 프로그램(141)에서, 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 Atandardization) 9798-2를 이용할 수 있다.
상호인증이 바르게 행해지지 않았을 때 처리는 종료되는바, 바르게 행해졌을 때, 다시 스텝(S56)에 있어서, 이동관리 프로그램(134)은 콘텐츠 데이터베이스(114)에, 선택된 콘텐츠의 파일명을 곡데이터 베이스에서 독출시키고, 그 파일명의 콘텐츠(예를 들면, 도 7의 스텝(S20)의 처리로 암호화되어 있다)를 HDD(21)에서 독출한다. 스텝(S58)에 있어서, 이동관리 프로그램(134)은 스텝(S57)에서 독출한 디지털 데이터인 콘텐츠의 압축부호화방식(스텝(S19)의 처리), 암호화방식(스텝(S20)의 처리), 포맷(예를 들면, 헤더방식 등) 등을 포터블 디바이스(6)의 것으로 변환하는 처리를 실행한다. 이 변환처리의 상세는, 도 17의 플로차트를 참조하여 후술한다.
스텝(S59)에 있어서, 이동관리 프로그램(134)은 PD용 드라이버(143)에, 스텝(S58)에서 변환한 콘텐츠를 USB포트(23)를 거쳐서 포터블 디바이스(6)에 전송시킨다. 스텝(S60)에 있어서, 포터블 디바이스(6)의 CPU(53)는, USB커넥터(56)를 거쳐서 이 전송되어 온 콘텐츠를 수신하면, 그 콘텐츠를 그대로 플래시 메모리(61)에 기억시킨다.
스텝(S61)에 있어서, 이동관리 프로그램(134)은 다시 이용조건 변환프로그램(139)에, 곡데이터 베이스에 등록되어 있는 그 선택된 콘텐츠의 재생조건(개시일시, 종료일시, 횟수제한 등)을, 포터블 디바이스(6)가 관리하고 있는 형식으로 변환한다. 스텝(S62)에 있어서, 이동관리 프로그램(134)은 다시 이용조건 변환프로그램(139)에, 선택된 콘텐츠의 곡데이터 베이스 중에 등록되어 있는 복사조건 중의 SCMS정보를, 포터블 디바이스(6)의 관리하는 형식으로 변환시킨다. 그리고 스텝(S63)에 있어서, 이동관리 프로그램(134)은 PD용 드라이버(143)에, 스텝(S61)에서 변환한 재생조건과, 스텝(S62)에서 변환한 SCMS정보를, 포터블 디바이스(6)에 전송시킨다. 포터블 디바이스(6)의 CPU(53)는, 전송을 받은 재생조건과 SCMS정보를 플래시 메모리(61)에 보존한다.
스텝(S64)에 있어서, 이동관리 프로그램(134)은 또 PD용 드라이버(143)에, 선택된 콘텐츠의 곡데이터 베이스 중에 등록되어 있는 재생조건, 재생시 부과금조건, 복사조건 등을 CPU(11)가 곡데이터 베이스 중에서 취급하고 있는 형식대로, 포터블 디바이스(6)에 전송시켜서, 플래시 메모리(61)에 보존시킨다.
스텝(S65)에 있어서, 이동관리 프로그램(134)은 콘텐츠 데이터베이스(114)에, 선택된 콘텐츠의 암호화되어 있는 암호키를 곡데이터 베이스에서 독출시키고, 스텝(S66)에 있어서, 복호프로그램(142)에 그 암호키를 RAM(13)에 보존되어 있는 보존용 키로 복호시키고, 암호화 프로그램(137)에 통신용 키로 암호화 시킨다. 그리고, 통신용 키로 암호화한 암호키를, 이동관리 프로그램(134)은 PD용 드라이버(143)에, 포터블 디바이스(6)에 전송시킨다.
포터블 디바이스(6)의 CPU(53)는, 스텝(S67)에서 퍼스널 컴퓨터(1)에서 전송되어 온 암호키를 상호인증처리로 공유한 통신용 키를 사용하여 복호하고, 자기자신의 보존용 키를 사용하여 암호화하고, 이미 보존한 데이터와 관련시켜서, 플래시 메모리(61)에 보존한다.
CPU(53)는, 암호키의 보존이 완료하면 스텝(S68)에 있어서, 퍼스널 컴퓨 터(1)에 대하여 암호키를 보존한 것을 통지한다. 퍼스널 컴퓨터(1)의 이동관리 프로그램(134)은, 포터블 디바이스(6)에서 이 통지를 받으면, 스텝(S69)에 있어서 콘텐츠 데이터베이스(114)에, 그 콘텐츠에 대응하는 콘텐츠파일(161)을 삭제시키는 동시에, 곡데이터 베이스에서 그 콘텐츠의 요소의 조(즉, 이용조건 파일(162))를 삭제시킨다. 즉, 이것에 의해 복사는 아니고, 이동(무브)이 행해지게 된다. 그리고, 스텝(S70)에 있어서 이동관리 프로그램(134)은, 어댑터(26)의 CPU(32)에 곡데이터 베이스의 데이터를 전송하고, 전체의 해시치를 계산시키고 불휘발성 메모리(34)에 보존시킨다. 이 해시치가, 상술한 스텝(S52)에 있어서, 전회 보존하여 둔 해시치로서 이용되게 된다.
다음에, 퍼스널 컴퓨터(1)에서 포터블 디바이스(6)에, 콘텐츠를 체크아웃하는 처리처리에 대해서 설명한다. 퍼스널 컴퓨터(1)에서 포터블 디바이스(6)에, 콘텐츠를 체크아웃하는 처리는, 도 12 내지 도 14의 퍼스널 컴퓨터(1)에서 포터블 디바이스(6)에 콘텐츠를 이동시키는 경우와 동일한 처리이다. 즉, 체크아웃의 처리는, 퍼스널 컴퓨터(1)에 있어서 체크인/체크아웃 관리프로그램(132)에 의해 실행되고, 도 14의 스텝(S69)에 있어서, 콘텐츠를 삭제하는 처리에 대신하여, 곡데이터 베이스에 기록되어 있는, 체크아웃된 콘텐츠의 체크아웃한 횟수(또는, 체크아웃할 수 있는 횟수)를 갱신하는 처리를 실행하는 것을 제외하고, 이동의 경우의 처리와 기본적으로 동일한 처리가 되므로, 그 처리의 상세한 설명은 생략한다.
다음에, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11)에 의한, 도 12의 스텝(S55)에 있어서의 선택된 콘텐츠의 재생조건 등의 체크처리에 대해서, 도 15의 플로차트를 참조하여 설명한다. 스텝(S81)에 있어서 이동관리 프로그램(134)은, 콘텐츠 데이터베이스(114)에 곡데이터 베이스에서, 각종의 조건을 독출시킨다. 이동관리 프로그램(134)은, 스텝(S82)에 있어서 스텝(S81)에서 독출한 각종의 조건 중, 복사횟수가 복사제한횟수를 이미 초과하고 있는지 아닌지를 판정한다. 복사횟수가 복사제한횟수를 이미 초과하고 있을 경우에는, 그 이상 복사를 허용할 이유가 없으므로 스텝(S83)으로 진행하고, 이동관리 프로그램(134)은 표시조작지시 프로그램(112)에, 예를 들면 「이미 복사횟수가 복사제한횟수에 달하고 있습니다」와 같은 메시지를 디스플레이(20)에 표시시키고, 처리를 종료시킨다. 스텝(S82)에 있어서, 복사횟수가 복사제한횟수를 초과하고 있지 않다고 판정된 경우 스텝(S84)으로 진행하고, 현재일시가 재생종료일시를 경과하고 있는지 아닌지의 판정이 행해진다. 현재일시로서는, 어댑터(26)의 RTC(35)에서 출력된 것이 사용된다. 이것에 의해 사용자가, 퍼스널 컴퓨터(1)의 현재시각을 의도적으로 과거의 값으로 수정한 것이 이용되는 것이 방지된다. 이동관리 프로그램(134)은, 이 현재일시를 CPU(32)에서 제공을 받아서, 스텝(S84)의 판단을 스스로 행하거나, 또는 스텝(S81)에서 곡데이터 베이스에서 독출한 재생조건을 어댑터(26)의 CPU(32)에 공급하고, 스텝(S84)의 판정처리를 실행시킨다.
현재일시가 재생종료일시를 경과하고 있을 경우 스텝(S85)으로 진행하고, 이동관리 프로그램(134)은 콘텐츠 데이터베이스(114)에, 선택된 콘텐츠를 HDD(21)에서 소거시키는 동시에, 곡데이터 베이스에서 그 선택된 콘텐츠의 정보를 소거시킨다. 스텝(S86)에 있어서 이동관리 프로그램(134)은 CPU(32)에, 곡데이터 베이스 의 해시치를 계산시키고, 그것을 불휘발성 메모리(34)에 보존시킨다. 이후, 처리는 종료된다. 따라서, 이 경우 콘텐츠의 이동이 실행되지 않는다.
스텝(S84)에 있어서, 현재일시가 재생종료일시를 경과하고 있지 않다고 판정된 경우 스텝(S87)으로 진행하고, 이동관리 프로그램(134)은 그 선택된 콘텐츠의 재생시 부과금조건(예를 들면, 재생 1회당의 요금)이 곡데이터 베이스 중에 등록되어 있는지 아닌지를 판정한다. 재생시 부과금조건이 등록되어 있을 경우에는, 이동관리 프로그램(134)은 스텝(S88)에 있어서, PD용 드라이버(143)에 포터블 디바이스(6)와 통신시키고, 포터블 디바이스(6)에 부과금 기능이 존재하는지 아닌지를 판정한다. 포터블 디바이스(6)에 부과금 기능이 존재하지 않는 경우에는, 선택된 콘텐츠를 포터블 디바이스(6)에 전송할 이유가 없으므로, 스텝(S89)에 있어서 이동관리 프로그램(134)은, 표시조작지시 프로그램(112)에 예를 들면「전송처가 부과금 기능을 가지고 있지 않습니다」라는 메시지를 디스플레이(20)에 표시시키고, 콘텐츠의 이동처리를 종료시킨다.
스텝(S87)에 있어서, 재생시 부과금조건이 등록되어 있지 않다고 판정된 경우, 또는 스텝(S88)에 있어서, 포터블 디바이스(6)에 부과금 기능이 존재한다고 판정된 경우 스텝(S90)으로 진행하고, 이동관리 프로그램(134)은 선택된 콘텐츠에 관하여, 예를 들면, 재생제한횟수 등의 기타의 재생조건이 등록되어 있는지 아닌지를 판정한다. 기타의 재생조건이 등록되어 있을 경우에는 스텝(S91)으로 진행하고, 이동관리 프로그램(134)은 포터블 디바이스(6)에, 그 재생조건을 지키는 기능이 존재하는지 아닌지를 판정한다. 포터블 디바이스(6)가 그 재생조건을 지키는 기능 을 가지고 있지 않은 경우에는 스텝(S92)으로 진행하고, 이동관리 프로그램(134)은 표시조작지시 프로그램(112)에, 예를 들면「전송처의 장치가 재생조건을 지키는 기능을 가지고 있지 않습니다」라는 메시지를 디스플레이(20)에 표시시키고, 처리를 종료시킨다.
스텝(S90)에 있어서, 재생조건이 등록되어 있지 않다고 판정된 경우, 또는 스텝(S91)에 있어서, 포터블 디바이스(6)가 재생조건을 지키는 기능을 가지고 있다고 판정된 경우, 재생조건 등의 체크처리가 종료되고, 도 12의 스텝(S56)으로 되돌아간다.
도 16은, 포터블 디바이스(6)가 관리하고 있는(지키는 것이 가능한) 재생조건의 예를 나타내고 있다. 도 16에 나타내는 재생정보는, 예를 들면, EEPROM(68)에 기억되어 있다. 이 예에 있어서는, 아이템 1 내지 아이템 3의 각 콘텐츠에 대하여, 재생개시일시와 재생종료일시가 등록되어 있으나, 재생횟수는 아이템 2에 대해서만 등록되어 있고, 아이템 1과 아이템 3에 대해서는 등록되어 있지 않다. 따라서, 아이템 2의 콘텐츠가 선택된 콘텐츠로 된 경우, 재생횟수의 재생조건은 지키는 것이 가능하나, 아이템 1 또는 아이템 3의 콘텐츠가 선택된 콘텐츠로 된 경우, 재생횟수의 재생조건은 지키는 것이 불가능하게 된다.
다음에, 도 17의 플로차트를 참조하여, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11)에 의한, 도 12의 스텝(S58)에 있어서의 포맷변환처리의 상세에 대해서 설명한다. 스텝(S101)에 있어서, 이동관리 프로그램(134)은 콘텐츠 데이터베이스(114)에 기록되어 있는 선택된 콘텐츠의 포맷(예를 들면, 재생조건, 사용조건, 복사조건 등을 포함하는 헤더 등의 방식)를 조사한다. 스텝(S102)에 있어서, 이동관리 프로그램(134)은 상대처의 기기(지금의 경우, 포터블 디바이스(6))에 설정하는 것이 가능한 조건을 조사한다. 즉, 이동관리 프로그램(134)은 포터블 디바이스(6)의 CPU(53)에 설정가능한 조건을 묻고, 그 회답을 얻는다. 스텝(S103)에 있어서, 이동관리 프로그램(134)은 곡데이터 베이스 중에 등록되어 있는 포맷의 조건중, 상대처의 기기에 설정 가능한 조건을 스텝(S102)에서 조사한 조건에 의거하여 결정한다.
스텝(S104)에 있어서, 이동관리 프로그램(134)은 설정 가능한 조건이 존재하는지 아닌지를 판정하고, 설정 가능한 조건이 존재하지 않을 경우에는 스텝(S105)으로 진행하고, 콘텐츠를 포터블 디바이스(6)에 이동하는 처리를 금지한다. 즉, 이 경우에는, 곡데이터 베이스 중에 등록되어 있는 조건을 포터블 디바이스(6)가 지킬 수 없으므로, 그와 같은 포터블 디바이스(6)에는 콘텐츠를 이동하는 것이 금지되는 것이다.
스텝(S104)에 있어서, 설정 가능한 조건이 존재한다고 판정된 경우 스텝(S106)으로 진행하고, 이동관리 프로그램(134)은 이용조건 변환프로그램(139)에, 그 조건을 상대처의 기능포맷의 조건(예를 들면, 포터블 디바이스(6)에 전송할 때, 헤더에 격납되는 조건)으로 변환시킨다. 그리고, 스텝(S107)에 있어서, 이동관리 프로그램(134)은 변환한 조건을 상대처의 기기에 설정한다. 그 결과, 포터블 디바이스(6)는 설정된 조건에 따라서(그 조건을 지키고), 콘텐츠를 재생하는 것이 가능하게 된다.
다음에, 도 18 내지 도 20의 플로차트를 참조하여, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11) 및 메인프로그램을 실행하는 CPU(53)에 의한, HDD(21)에서 포터블 디바이스(6)에 콘텐츠를 복사하는 경우의 처리에 대해서 설명한다. 이 도 18 내지 도 20의 스텝(S111) 내지 스텝(S127)의 처리는, 복사관리 프로그램(133)에 의해 실행되고, 도 12 내지 도 14의 HDD(21)에서 포터블 디바이스(6)에 콘텐츠를 이동시키는 경우의 스텝(S51) 내지 스텝(S67)의 처리와 동일한 처리이다. 즉, 이 경우에 있어서도 곡데이터 베이스의 개찬이 체크된 후, 선택된 콘텐츠의 재생조건과의 체크처리가 행해진다. 또한, 포터블 디바이스(6)와 퍼스널 컴퓨터(1)와의 사이의 상호인증처리의 후, 콘텐츠가 퍼스널 컴퓨터(1)의 HDD(21)에서, 포터블 디바이스(6)의 플래시메모리(61)에 전송되어 보존된다. 그후, 스텝(S128)에 있어서 복사관리 프로그램(133)은, 곡데이터 베이스의 복사횟수카운터를 1만 증가한다. 그리고, 스텝(S129)에 있어서 복사관리 프로그램(133)은, CPU(32)에 곡데이터 베이스 전체의 해시치를 계산시키고, 그 값을 불휘발성 메모리(34)에 보존시킨다.
다음에, 도 21의 플로차트를 참조하여, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11) 및 메인프로그램을 실행하는 CPU(53)에 의한, 포터블 디바이스(6)에서 HDD(21)에 콘텐츠를 이동하는 처리 및 체크인의 처리에 대해서 설명한다.
처음에, 콘텐츠의 이동처리에 대해서 설명한다. 스텝(S161)에 있어서, 이동관리 프로그램(134)은, 포터블 디바이스(6)의 CPU(53)에 대하여 플래시 메모리(61)에 기억되어 있는 콘텐츠정보의 독출을 요구한다. CPU(53)는 이 요구에 대응하여, 플래시 메모리(61)에 기억되어 있는 콘텐츠정보를 퍼스널 컴퓨터(1)에 송신한다. 이동관리 프로그램(134)은 이 정보에 의거하여, 디스플레이(20)에 플래시 메모리(61)에 기억되어 있는 콘텐츠를 선택하기 위한 GUI를 표시시킨다. 사용자는, 키보드(18) 또는 마우스(19)를 조작하여, 그 GUI에 의거하여 포터블 디바이스(6)에서 HDD(21)(콘텐츠 데이터베이스(114))에 이동시키는 콘텐츠를 지정한다.
스텝(S162)에 있어서 이동관리 프로그램(134)은, 인증 프로그램(141)에 CPU(53)와의 사이에 있어서, 상호인증처리를 실행시키고 통신용 키를 공유시킨다. 이 처리는 도 12의 스텝(S56)에 있어서의 경우와 동일한 처리이다.
다음에, 스텝(S163)에 있어서 CPU(53)는, 플래시 메모리(61)에 기억되어 있는 암호화되어 있는 선택된 콘텐츠를 독출하고, 퍼스널 컴퓨터(1)에 전송한다. 이동관리 프로그램(134)은 스텝(S164)에 있어서, 포터블 디바이스(6)에서 전송되어 온 콘텐츠를 하나의 파일로서 파일명을 붙여서, 콘텐츠 데이터베이스(114)(HDD(21)에 보존한다. 이 보존은, 예를 들면 하나의 파일의 일부로서, 파일명의 위치정보(예를 들면, 선두로부터의 바이트수)를 주고 행하도록 할 수도 있다.
스텝(S165)에 있어서 CPU(53)는, 플래시 메모리(61)에 기억되어 있는 선택된 콘텐츠의 암호화되어 있는 암호키를 독출하고, 그것을 자기자신의 보존용 키로 복호하고, 다시 통신용 키로 암호화한 후, 퍼스널 컴퓨터(1)에 전송한다. 이 암호키는, 예를 들면 도 14의 스텝(S67)의 처리로 플래시 메모리(61)에 기억되어 있던 것이다.
스텝(S166)에 있어서 이동관리 프로그램(134)은, 포터블 디바이스(6)에서 암호키의 전송을 받으면, 복호프로그램(142)에 그것을 통신용 키로 복호시키고, 암호화 프로그램(137)에 자기자신의 보존용 키로 암호화시킨다. 스텝(S167)에서 이동관리 프로그램(134)은, 콘텐츠 데이터베이스(114)에 스텝(S164)에서 보존한 콘텐츠의 파일명, 그 콘텐츠의 정보, 사용자가 GUI를 거쳐서 입력한 곡명, 스텝(S166)에서 암호화한 암호키 등을 HDD(21)의 곡데이터 베이스에 등록시킨다. 그리고, 스텝(S168)에 있어서 이동관리 프로그램(134)은, 이용조건 관리프로그램(140)에 그 곡데이터 베이스 전체의 해시치를 CPU(32)에 계산시키고, 불휘발성 메모리(34)에 보존시킨다.
스텝(S169)에 있어서 이동관리 프로그램(134)은, 포터블 디바이스(6)에 대하여 암호키가 보존된 것을 통지하고, 그 콘텐츠의 삭제를 요구한다. CPU(53)는, 퍼스널 컴퓨터(1)에서 그 콘텐츠의 삭제가 요구되어 왔을 때, 스텝(S170)에 있어서 플래시 메모리(61)에 기억되어 있는 그 콘텐츠를 삭제한다.
다음에, 포터블 디바이스(6)에서 퍼스널 컴퓨터(1)에 콘텐츠를 체크인하는 처리에 대해서 설명한다. 포터블 디바이스(6)에서 퍼스널 컴퓨터(1)에 콘텐츠를 체크인하는 처리는, 도 21의 포터블 디바이스(6)에서 퍼스널 컴퓨터(1)에 콘텐츠를 이동시키는 경우와 동일한 처리이다. 즉, 체크인의 처리는 퍼스널 컴퓨터(1)에 있어서, 체크인/체크아웃 관리프로그램(132)에 의해 실행되고, 도 21의 스텝(S162 내지 S166)의 처리가 생략된다. 또 퍼스널 컴퓨터(1)는, 도 21의 스텝(S167)에 있어서, 곡데이터 베이스에 기록되어 있는 체크인된 콘텐츠의 체크아웃할 수 있는 횟수를 갱신하는 처리를 실행하고 스텝(S170)의 처리 후, 콘텐츠파일의 삭제를 확인하는 것을 제외하고, 이동의 경우의 처리와 기본적으로 동일한 처리가 되므로, 그 처리의 상세한 설명은 생략한다.
또한, 포터블 디바이스(6)의 플래시 메모리(61)가 메모리카드로서 착탈 가능할 때, 퍼스널 컴퓨터(1)는 체크인의 처리에 있어서, 도 21의 스텝(S162)의 상호인증의 처리를 실행한다.
다음에, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11) 및 메인프로그램을 실행하는 CPU(53)에 의한, 포터블 디바이스(6)에서 HDD(21)에의 콘텐츠를 복사하는 경우의 처리에 대하여, 도 22의 플로차트를 참조하여 설명한다. 이 도 22에 나타내는 스텝(S181) 내지 스텝(S188)의 처리는, 도 21의 포터블 디바이스(6)에서 HDD(21)에의 콘텐츠를 이동시키는 경우의 처리에 있어서의 스텝(S161) 내지 스텝(S168)의 처리와 동일한 처리이다. 즉, 복사처리의 경우는, 복사관리 프로그램(133)에 의해 실행되고, 도 21의 스텝(S169, S170)의 처리가 생략되는 점을 제외하고, 이동의 경우의 처리와 기본적으로 동일한 처리가 되므로, 그 설명은 생략한다.
다음에, 도 23의 플로차트를 참조하여, EMD서버(4) 및 콘텐츠관리 프로그램(111)을 실행하는 CPU(11)에 의한, EMD서버(4)에서 전송을 받은 콘텐츠를 HDD(21)에 복사하는 처리에 대하여 설명한다. 스텝(S201)에 있어서 구입용 프로그램(144)은, 도 5에 나타내는 버튼(202)이 클릭되어서, 사용자로부터 EMD서버(4)에의 액세스가 지령되었을 때, 통신부(25)를 제어하고 네트워크(2)를 거쳐서 EMD서 버(4)에 액세스시킨다. EMD서버(4)는 이 액세스에 대응하여, 자기자신이 유지하고 있는 콘텐츠의 곡번호, 곡명, 각 정보 등의 정보를 네트워크(2)를 거쳐서 퍼스널 컴퓨터(1)에 전송한다. 구입용 프로그램(144)은, 통신부(25)를 거쳐서 이 정보를 취득하였을 때, 표시조작지시 프로그램(112)에 그것을 인터페이스(17)를 거쳐서 디스플레이(20)에 표시시킨다. 사용자는 디스플레이(20)에 표시된 GUI를 이용하여, 스텝(S202)에 있어서 복사를 희망하는 콘텐츠를 지정한다. 이 지정정보는, 네트워크(2)를 거쳐서 EMD서버(4)에 전송된다. 스텝(S203)에 있어서 구입용 프로그램(144)은, EMD서버(4)와의 사이에 있어서, 네트워크(2)를 거쳐서 상호인증처리를 실행하고, 통신용 키를 공유한다.
퍼스널 컴퓨터(1)와 EMD서버(4)와의 사이에서 행해지는 상호인증처리는, 예를 들면, ISO 9798-3에서 규정된 공개키와 비밀키를 사용하여 행하도록 할 수 있다. 이 경우, 퍼스널 컴퓨터(1)는 자기자신의 비밀키와 EMD서버(4)의 공개키를 미리 가지고 있고, EMD서버(4)는 자기자신의 비밀키를 가지며, 상호인증처리가 행해진다. 퍼스널 컴퓨터(1)의 공개키는 EMD서버(4)에서 전송하거나, 혹은 퍼스널 컴퓨터(1)에 미리 배포되어 있는 증명서(certificate)는 퍼스널 컴퓨터(1)에서 EMD서버(4)에 전송하고, 그 증명서를 EMD서버(4)가 확인하고 공개키를 얻도록 하여도 좋다. 또한 스텝(S204)에 있어서, 구입용 프로그램(144)은 EMD서버(4)와의 사이에 있어서 부과금에 관한 처리를 실행한다. 이 부과금의 처리의 상세는, 도 24의 플로차트를 참조하여 후술한다.
다음에, 스텝(S205)에 있어서 EMD서버(4)는, 퍼스널 컴퓨터(1)에 대하여 스 텝(S202)에서 지정된, 암호화되어 있는 콘텐츠를 네트워크(2)를 거쳐서 퍼스널 컴퓨터(1)에 전송된다. 이때, 시각정보도 적의 전송된다. 스텝(S206)에 있어서, 구입용 프로그램(144)은 콘텐츠 데이터베이스(114)에, 전송을 받은 콘텐츠에 파일명을 붙여서 HDD(21)에 하나의 콘텐츠파일(161)로서 보존시킨다. 스텝(S207)에 있어서 EMD서버(4)는, 다시 그 콘텐츠의 암호키를 스텝(S203)에서 퍼스널 컴퓨터(1)와 공유한 통신용 키를 사용하여 암호화하고, 퍼스널 컴퓨터(1)에 전송한다.
구입용 프로그램(144)은 스텝(S208)에 있어서, 복호프로그램(142)에 EMD서버(4)에서 전송을 받은 암호키를 단독으로, 또는 어댑터(26)의 CPU(32)와 공동해서 통신용 키를 사용하여 복호시키고, 암호화 프로그램(137)에 복호하여 얻어진 암호키를 자기자신의 보존용 키로 암호화시킨다. 스텝(S209)에 있어서 구입용 프로그램(144)은, 콘텐츠 데이터베이스(114)에 그 콘텐츠의 파일명, 콘텐츠의 정보, 사용자가 입력한 곡명, 암호화 암호키를 조로 하여, HDD(21)의 곡데이터 베이스에 등록시킨다. 다시 스텝(S210)에 있어서, 구입용 프로그램(144)은 그 곡데이터 베이스 전체의 해시치를 CPU(32)에 계산시키고, 불휘발성 메모리(34)에 보존시킨다.
또한, 스텝(S205)에 있어서, EMD서버(4)는 콘텐츠와 함께, 시각데이터를 퍼스널 컴퓨터(1)에 송신한다. 이 시각데이터는, 퍼스널 컴퓨터(1)에서 어댑터(26)에 전송된다. 어댑터(26)의 CPU(32)는, 퍼스널 컴퓨터(1)에서 전송되어 온 시각데이터를 수신하면, 스텝(S211)에 있어서 RTC(35)의 시각을 수정시킨다. 이와 같이하여, 상호인증의 결과, 바른 장치라고 인식된 외부의 장치에서 얻어진 시각정보에 의거하여, 어댑터(26)의 RTC(35)의 시각정보를 수정하도록 하였으므로, 어댑터(26)는 상시 바른 시각정보를 유지하는 것이 가능하게 된다.
다음에, 도 24의 플로차트를 참조하여, EMD서버(4) 및 콘텐츠관리 프로그램(111)을 실행하는 CPU(11)에 의한, 도 23의 스텝(S204)에 있어서의 부과금에 관한 처리의 상세에 대해서 설명한다. 스텝(S221)에 있어서 구입용 프로그램(144)은, 스텝(S201)에서 EMD서버(4)로부터 전송되어 온 가격정보 중에서, 스텝(S202)에서 지정된 선택된 콘텐츠의 가격정보를 독해하고, 이것을 HDD(21) 상의 부과금로그에 기입한다. 도 25는, 이와 같은 부과금로그의 예를 나타내고 있다. 이 예에 있어서는, 사용자는 아이템 1 내지 아이템 3을 EMD서버(4)로부터 복사하고 있고, 아이템 1과 아이템 2의 영역은 50엔이 되고, 아이템 3의 요금은 60엔이 되어 있다. 그 시점에 있어서의 부과금로그의 해시치도, CPU(32)에 의해 계산되어 불휘발성 메모리(34)에 등록되어 있다.
다음에, 스텝(S222)에 있어서 구입용 프로그램(144)은, 스텝(S221)에서 기입한 부과금로그를 HDD(21)에서 독출하고, 이것을 네트워크(2)를 거쳐서 EMD서버(4)에 전송한다. EMD서버(4)는 스텝(S223)에 있어서, 퍼스널 컴퓨터(1)에서 전송을 받은 부과금로그에 의거한 부과금 계산처리를 실행한다. 즉, EMD서버(4)는 내장하는 데이터베이스에, 퍼스널 컴퓨터(1)의 사용자에서 전송되어 온 부과금로그를 추가로 갱신한다. 그리고, 스텝(S224)에 있어서 EMD서버(4)는, 그 부과금로그에 대해서 바로 결재할 것인지 아닌지를 판정하고, 바로 결재할 경우에는 스텝(S225)으로 진행하고, EMD서버(4)는 결재에 필요한 상품명, 금액 등을 결재서버(도시 생 략)에 전송한다. 그리고, 스텝(S226)에 있어서 결재서버(4)는, 퍼스널 컴퓨터(1)의 사용자에 대한 결재처리를 실행한다. 스텝(S224)에 있어서 결재는 바로는 행해지지 않는다고 판정된 경우, 스텝(S225와 S226)의 처리는 스킵된다. 즉, 이 처리는 예를 들면, 월에 1회 등, 정기적으로 그후 실행된다.
다음에, 도 26과 도 27의 플로차트를 참조하여, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11)에 의한, 음성입출력 인터페이스(24)의 IEC60958 단자(24a)에서 입력된, 도시하지 않은 CD플레이어 등으로부터의 재생된 콘텐츠를, HDD(21)에 복사하는 경우의 처리에 대해서 설명한다. 스텝(S241)에 있어서, 사용자는 CD플레이어의 IEC60958 단자를, 퍼스널 컴퓨터(1)의 음성입출력 인터페이스(24)의 IEC60958 단자(24a)에 접속한다. 스텝(S242)에 있어서, 사용자는 키보드(18) 또는 마우스(19)를 조작하고, CD플레이어에서 복사하는 콘텐츠의 곡명(또는, 콘텐츠에 대응하는 번호)을 입력한다. 그리고 스텝(S243)에 있어서, 사용자는 CD플레이어의 버튼을 조작하고, CD플레이어의 재생을 개시시킨다. CD플레이어와 퍼스널 컴퓨터(1)와의 사이에 제어신호를 송수신하는 선이 접속되어 있을 경우에는, 퍼스널 컴퓨터(1)의 키보드(18) 또는 마우스(19)를 거쳐서 재생개시지령을 입력하는 것으로, CD플레이어에 CD의 재생을 개시시키는 것도 가능하다.
CD플레이어에 있어서 CD의 재생이 개시되면, 스텝(S244)에 있어서 CD플레이어에서 출력된 콘텐츠가, IEC60958 단자(24a)를 거쳐서 퍼스널 컴퓨터(1)에 전송되어 온다. 스텝(S245)에 있어서 복사관리 프로그램(133)은, IEC60958 단자(24a)를 거쳐서 입력되어 오는 데이터에서, SCMS(Serial Copy Management System)데이터 를 독해한다. 이 SCMS데이터에는 복사금지, 복사 1회한 가능, 복사자유 등의 복사정보가 포힘되어 있다. 그래서, 스텝(S246)에 있어서 CPU(11)는, SCMS데이터가 복사금지를 나타내고 있는지 아닌지를 판정하고, 복사금지를 나타내고 있을 경우에는 스텝(S247)으로 진행하고, 복사관리 프로그램(133)은 표시조작지시 프로그램(112)에, 예를 들면 「복사가 금지되어 있습니다」라는 메시지를 디스플레이(20)에 표시시키고, 복사처리를 종료한다. 즉, 이 경우에는 HDD(21)에의 복사가 금지된다.
복사관리 프로그램(133)은 스텝(S246)에 있어서, 스텝(S245)에서 독해한 SCMS정보가 복사금지를 나타내고 있지 않다고 판정한 경우, 스텝(S248)으로 진행하고, 워터마크코드를 독출하여 그 워터마크가 복사금지를 나타내고 있는지 아닌지를 스텝(S249)에 있어서 판정한다. 워터마크코드가 복사금지를 나타내고 있을 경우에는 스텝(S247)으로 진행하고, 상술한 경우와 동일하게 소정의 메시지가 표시되고, 복사처리가 종료된다.
스텝(S249)에 있어서, 워터마크가 복사금지를 나타내지 않았다고 판정되었을 경우, 스텝(S250)으로 진행하고, 기한 데이터베이스 체크처리가 행해진다. 기한 데이터베이스 체크의 결과, 선택된 콘텐츠가 이미 등록되어 있으면, 스텝(S251, S252)의 처리로, 처리가 종료된다. 이 처리는, 도 7의 스텝(S13, S14)의 처리와 동일의 처리이다.
선택된 콘텐츠가 아직 HDD(21)에 등록되어 있지 않은 콘텐츠라면, 스텝(S253 내지 S258)에서, 그 등록처리가 실행된다. 이 스텝(S253 내지 S258)의 처리는, 스텝(S257)에 있어서, IEC60958 단자(24a)에서 공급되어 오는 SCMS정보도 곡데이터 베이스에 등록되는 점을 제외하고, 도 7의 스텝(S19) 내지 스텝(S24)의 처리와 동일의 처리이므로, 그 설명은 생략한다.
다음에, 도 28과 도 29의 플로차트를 참조하여, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11)에 의한, 콘텐츠를 HDD(21)에서 IEC60958 단자(24a)에 출력(재생)할 경우의 처리에 대해서 설명한다. 스텝(S271) 내지 스텝(S273)에 있어서, 도 18의 스텝(S111) 내지 (S113)에 있어서의 경우와 동일하게, 곡데이터베이스 전체의 해시치가 계산되고, 전회 보존하여 둔 해시치와 일치하는지 아닌지가 판정되고, 곡데이터 베이스의 개찬의 체크처리가 행해진다. 곡데이터 베이스의 개찬이 행해지지 않았다고 판정된 경우 스텝(S274)으로 진행하고, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, HDD(21)의 곡데이터 베이스에 액세스시키고, 거기에 등록되어 있는 곡의 정보를 독출시키고, 디스플레이(20)에 표시시킨다. 사용자는, 그 표시를 보고 키보드(18) 또는 마우스(19)를 적의 조작하여, 재생출력하는 콘텐츠를 선택한다. 스텝(S275)에 있어서, 표시조작지시 프로그램(112)은, 선택된 콘텐츠의 재생조건 등의 체크처리를 실행한다. 이 재생조건 등의 체크처리의 상세는, 도 30의 플로차트를 참조하여 후술한다.
다음에, 스텝(S276)에 있어서, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 스텝(S274)에 있어서 선택된 콘텐츠의 암호 키를 곡데이터 베이스에서 독출시키고, 복호프로그램(142)에 보존용 키로 복호시킨다. 스텝(S277)에 있어서, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 선택된 콘텐츠의 SCMS정보를 곡데이터 베이스에서 독출시키고, IEC60958 단자(24a)에서 출력하는 SCMS정보를 SCMS시스템의 규칙에 따라서 결정한다. 예를 들면, 재생횟수에 제한이 있을 경우, 재생횟수는 1만큼 증가되고, 새로운 SCMS정보가 된다. 스텝(S278)에 있어서, 표시조작지시 프로그램(112)은, 다시 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 선택된 콘텐츠의 ISRC를 곡데이터 베이스에서 독출시킨다.
다음에, 스텝(S279)에 있어서, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 곡데이터 베이스에서 선택된 콘텐츠 파일명을 독출시키고, 그 파일명을 기초로, 그 콘텐츠를 HDD(21)에서 독출시킨다. 표시조작지시 프로그램(112)은, 다시 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 그 콘텐츠에 대응하는 암호 키를 곡데이터 베이스에서 독출시키고, 복호프로그램(142)에 보존용 키로 복호시키고, 복호한 암호 키를 이용하여 암호화되어 있는 콘텐츠를 복호한다. 압축/신장 프로그램(138)은, 다시 그 콘텐츠의 압축부호를 복호(신장)한다. 스텝(S280)에 있어서, 표시조작지시 프로그램(112)은 드라이브(117)에, 스텝(S279)에서 복호한 디지털 데이터인 콘텐츠를, 스텝(S277)에서 결정한 SCMS정보 및 스텝(S278)에서 독출한 ISRC정보와 함께, IEC60958의 규정에 따라서, IEC6958 단자(24a)에서 출력시킨다. 그리고 또, 표시조작지시 프로그램(112)은, 예를 들면 도시하지 않은 리얼플레이어(상표) 등의 프로그램을 동작시키고, 디지털데이터인 콘텐츠를 아날로그화시키고, 음성입출력 인터페이스(24)의 아날로그 출력단자에서 출력시킨다.
스텝(S281)에 있어서, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 곡데이터 베이스 중의 재생횟수 카운터의 값을 1만 증가시킨다. 그리고, 스텝(S282)에 있어서, 선택된 콘텐츠에 재생시 부과금조건이 부가되어 있는지 아닌지를 판정한다. 재생시 부과금조건이 부가되어 있을 경우에는 스텝(S283)으로 진행하고, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 대응하는 부과금을 부과금로그에 기입시키고, 스텝(S284)에 있어서 표시조작지시 프로그램(112)은, 이용조건관리 프로그램(140)에 곡데이터 베이스 전체의 해시치를 CPU(32)에 계산시키고, 불휘발성 메모리(34)에 기억시킨다. 스텝(S282)에 있어서, 선택된 콘텐츠에 재생시 부과금조건이 부가되어 있지 않다고 판정된 경우, 스텝(S283)과 스텝(S284)의 처리는 스킵된다.
다음에, 도 30의 플로차트를 참조하여, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11)에 의한, 도 28의 스텝(S275)의 재생조건 등의 체크처리의 상세에 대해서 설명한다. 스텝(S301)에 있어서, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 곡데이터 베이스의 각종 조건을 독출시킨다. 스텝(S302)에 있어서 이용조건관리 프로그램(140)은, 독출한 조건중, 재생횟수가 제한횟수를 초과하고 있는지 아닌지를 판정하고, 초과하고 있을 경우에는 스텝(S303)으로 진행하고, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 선택된 콘텐츠를 HDD(21)에서 삭제시키는 동시에, 곡데이터 베이스에서 선택된 콘텐츠의 정보를 삭제시킨다. 스텝(S304)에 있어서, 표시조작지시 프로그램(112)은 또한, 이용조건관리 프로그램(140)에, 곡데이터 베이스의 새로운 해시치를 CPU(32)에 계산시키고, 그 해시치를 불휘발성 메모리(34)에 보존시킨다. 이 경우, 재생출력은 금지된다.
스텝(S302)에 있어서, 재생횟수가 제한횟수를 초과하고 있지 않다고 판정된 경우 스텝(S305)으로 진행하고, 이용조건관리 프로그램(1402)은, 재생 종료일시가 현재일시를 경과하고 있는지 아닌지를 판정한다. 재생 종료일시가 현재일시를 경과하고 있는 경우에는, 상술한 경우와 동일하게 스텝(S303)에 있어서, 선택된 콘텐츠를 HDD(21)에서 삭제시키는 동시에, 곡데이터 베이스에서도 삭제시킨다. 그리고, 스텝(S304)에 있어서, 새로운 곡데이터 베이스의 해시치가 계산되어, 보존된다. 이 경우에도, 재생출력은 금지된다.
스텝(S305)에 있어서, 재생종료일시가 현재일시를 경과하고 있지 않다고 판정된 경우는 스텝(S306)으로 진행하고, CPU(32)는 그 선택된 콘텐츠에 대하여 재생시 부과금조건이 부가되어 있는지 아닌지를 판정한다. 재생시 부과금조건이 부가되어 있을 경우에는 스텝(S307)으로 진행하고, 표시조건지시 프로그램(112)은, 재생시 부과금조건이 부가되어 있는 뜻의 메시지와 요금을, 디스플레이(20)에 표시시킨다. 스텝(S306)에 있어서, 재생시 부과금조건이 부가되어 있지 않다고 판정된 경우, 스텝(S307)의 처리는 스킵된다.
다음에, 도 31과 도 32의 플로차트를 참조하여, 콘텐츠관리 프로그램(111)을 실행하는 CPU(11) 및 메인프로그램을 실행하는 CPU(53)에 의한, HDD(21)에서 포터블 디바이스(6)경유로 콘텐츠를 출력(재생)할 경우의 처리에 대해서 설명한다. 스텝(S321) 내지 스텝(S325)에 있어서, 곡데이터 베이스의 개찬체크와 선택된 콘텐츠의 지정과 선택된 콘텐츠의 재생조건 등의 체크처리가 행해진다. 그 처리는 도 28의 스텝(S271) 내지 스텝(S275)의 처리와 동일의 처리이므로, 그 설명은 생략한다.
스텝(S326)에 있어서, 포터블 디바이스(6)와 퍼스널 컴퓨터(1)의 사이에서 상호인증처리가 실행되고, 상호의 사이에서 통신용 키가 공유된다. 스텝(S327)에 있어서, 표시조작지시 프로그램(112)은 포터블 디바이스(6)에 대하여, 이것에서 보내는 암호화되어 있는 콘텐츠를 재생하도록 명령한다. 스텝(S328)에 있어서, 표시조작지시 프로그램(112)은, 스텝(S324)에서 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 지정된 선택된 콘텐츠의 파일명을 곡데이터 베이스에서 독출시키고, 그 파일명의 콘텐츠를 HDD(21)에서 독출시킨다. 표시조작지시 프로그램(112)은, 스텝(S329)에 있어서, 콘텐츠관리 프로그램(111)에, 콘텐츠의 압축부호화방식, 암호화방식, 포맷 등을 포터블 디바이스(6)의 방식의 것으로 변환하는 처리를 실행시킨다. 그리고, 스텝(S330)에 있어서, 표시조작지시 프로그램(112)은 암호화 프로그램(137)에, 스텝(S329)에 있어서 변환한 콘텐츠를 통신용 키로 암호화시키고, 포터블 디바이스(6)에 전송한다.
스텝(S331)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 스텝(S327)에 있어서, 퍼스널 컴퓨터(1)에서 전송되어 온 명령에 대응하여, 전송을 받은 각 데이터를 통신용 키로 복호하고, 재생출력한다. 스텝(S332)에 있어서, 표시조작지시 프로그램(112)은, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 곡데이터 베이스의 재생횟수 카운트를 1만 증가시킨다. 또한, 스텝(S333)에 있어서, 표시조작지시 프로그램(112)은, 선택된 콘텐츠에 재생시 부과금조건이 부가되고 있는지 아닌지를 판정하고, 부가되어 있을 경우에는, 스텝(S334)에 있어서, 콘텐츠관리 프로그램(111)을 거쳐서 콘텐츠 데이터베이스(114)에, 그 요금을 부과금로그에 기입시키고, 스텝(S335)에 있어서, CPU(32)에 곡데이터 베이스 전체의 해시치를 새로히 계산시키고, 보존시킨다. 선택된 콘텐츠에 재생시 부과금조건이 부가되어 있지 않을 경우에는, 스텝(S334), 스텝(S335)의 처리는 스킵된다.
본 발명에 있어서는, 콘텐츠가 부정하게 복제되는 것을 방지하기 위해, 각종의 연구가 골몰되고 있다. 예를 들면 CPU(11)를 동작시키는 프로그램은, 그 실행순서가 매회 변화하는 것같은, 소위 탬퍼레지스턴트 소프트웨어로 되어 있다.
또한, 상술한 바와 같이, CPU(11)의 기능의 일부는, 하드웨어로서의 어댑터(26)에 분담되고, 양자가 공동하여 각종의 처리를 실행하도록 되어 있다. 이것에 의해 보다 안전성을 높이는 것이 가능하게 되어 있다.
예를 들면, 상술한 바와 같이, 곡데이터 베이스의 해시치는 곡데이터 베이스 자체에 보존되는 것이 아니고, 어댑터(26)의 불휘발성 메모리(34)에 보존된다. 즉, 도 8의 스텝(S32, S33) 등의 전회 보존해 둔 해시치와의 비교처리에 있어서, 비교대상이 되는 과거의 해시값은, 불휘발성 메모리(34)에 기억되어 있는 것으로 된다. 이것에 의해 예를 들면 다른 기록매체에 복사 또는 이동시키기 전 에, HDD(21)에 보존되어 있는 콘텐츠를 포함하는 기록내용의 전부를 백업하여 놓고, HDD(21)에서 거기에 보존되어 있는 콘텐츠를 다른 기록매체에 복사 또는 이동한 후, HDD(21)에 백업하여 놓은 기록내용에 포함되는 콘텐츠를 재차 리스트어하도록 하는 것으로, 이용조건을 무시하여 실질적으로 제한없이, 복사 또는 이동이 되도록 하는 것이 방지된다.
예를 들면, 도 33에 나타내는 바와 같이, HDD(21)에 콘텐츠 A, B가 보존되어 있을 경우, 불휘발성 메모리(34)에는, 콘텐츠 A와 콘텐츠 B의 정보에 대응하는 해시치가 보존되어 있다. 이 상태에 있어서, HDD(21)의 콘텐츠 A, B를 포함하는 기록데이터의 일부 또는 전부를 다른 기록매체(271)에 백업하였다고 한다. 그후, HDD(21)에 보존되어 있는 콘텐츠 A와 콘텐츠 B 중, 콘텐츠 A를 다른 기록매체(272)에 이동시켰을 경우, 그 시점에 있어서, HDD(21)에 기록되어 있는 콘텐츠는 콘텐츠 B만이 되므로, 불휘발성 메모리(34)의 해시치도, 콘텐츠 B에 대응하는 해시치로 변경된다.
따라서, 그후, 기록매체(271)에 백업하여 둔 HDD(21)의 콘텐츠 A, B를 포함하는 기록데이터의 일부 또는 전부를 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)에 미리 기억되어 있는 프로그램에 따라서 복호하고, 실행하도록 구성하는 것으로, 보다 안전성이 높아지고 있다. 다음에, 이 점에 대하여, 도 34의 플로차트를 참조하여 설명한다.
즉, 퍼스널 컴퓨터(1)는 어댑터(26)에 대하여, 소정의 처리를 실행시켰을 때, 스텝(S351)에 있어서, 어댑터(26)에 실행시켜야 할 프로그램을 RAM(13)에 미리 기억되어 있는 암호 키를 이용하여 암호화하여 어댑터(26)에 전송한다. 어댑터(26)의 ROM(36)에는, 퍼스널 컴퓨터(1)에서 전송되어 온 암호화되어 있는 프로그램을 복호하고, 실행하기 위한 프로그램이 미리 기억되어 있다. CPU(32)는, 이 ROM(36)에 기억되어 있는 프로그램에 따라서, 퍼스널 컴퓨터(1)에서 전송되어 온 암호화되어 있는 프로그램을 스텝(S352)에 있어서 복호한다. 그리고, 스텝(S313)에 있어서, CPU(32)는 복호한 프로그램을 RAM(33)에 전개하고, 스텝(S354)에 있어서, 그 프로그램을 실행한다.
예를 들면, 상술한 바와 같이, 퍼스널 컴퓨터(1)의 CPU(11)는, HDD(21)의 곡데이터 베이스의 해시치를 어댑터(26)에 계산시킬 때, 곡데이터 베이스의 데이터를 암호 키로 암호화하여 어댑터(26)의 CPU(32)에 전송한다. CPU(32)는, 전송되어 온 곡데이터 베이스의 데이터에 대하여 해시함수를 적응하고, 해시치를 계산한다. 그리고, 계산된 해시치를 불휘발성 메모리(34)에 기억시킨다. 혹은, 그 해시치를 CPU(32)는 미리 기억되어 있는 과거의 해시치와 비교하고, 비교결과를 퍼스널 컴퓨터(1)의 CPU(11)에 전송한다.
도 35는, 어댑터(26)의 내부의 보다 구체적인 구성을 표시하고 있다. 어댑터(26)는, 반도체IC로서 형성된다. 어댑터(26)는 도 2에 나타낸 인터페이스(31), CPU(32), RAM(33), 불휘발성 메모리(34), RTC(35), ROM(36) 이외에, RAM(33)에 대한 기입과 독출을 제어하는 RAM제어기(301) 및 논리회로(302)를 가지고 있다. 논리회로(302)는, 예를 들면, 암호화되어 있는 콘텐츠를 해독한 후, 해독한 데이터를 어댑터(26)에서 직접 출력하는 바와 같은 경우의 처리를 위해 이용된다.
이들의 인터페이스(31) 내지 ROM(36), RAM제어기(301) 및 논리회로(302)는, 반도체IC 내에 일체적으로 짜넣어지고, 외부에서는 분해할 수 없도록 구성되어 있다.
수정진동자(311)는, 어댑터(26)가 각종의 처리를 실행하는 위에 있어서, 기준이 되는 클럭을 생성할 때 이용된다. 발진회로(312)는, RTC(35)를 동작시키기 위한 발진회로이다. 배터리(313)는, 발진회로(312), 불휘발성 메모리(34) 및 RTC(35)에 대하여 백업용의 전력을 공급하고 있다. 어댑터(26)의 기타의 회로에는, 퍼스널 컴퓨터(1)의 전원공급회로(321)로부터의 전력이 공급되어 있다.
불휘발성 메모리(34)는, 기입소거 가능한 ROM으로 구성하는 것도 가능하지만, 배터리(313)로부터의 백업전원으로 백업된 RAM으로 구성할 경우에는, 예를 들면, 도 36a 및 도 36b에 나타내는 바와 같이, 불휘발성 메모리(34)의 위에 보호알루미늄층(351)을 형성하고, 또한, 그 보호알루미늄층(351)과 동일 평면상이 되도록, 불휘발성 메모리(34)에 배터리(313)로부터의 전력을 공급하는 전원패턴(352)을 형성하도록 할 수 있다. 이와 같이하면, 예를 들면, 불휘발성 메모리(34)를 개찬하여야 할 보호알루미늄층(351)을 삭제하고자 하면, 동일 평면상의 전원패턴(352)도 삭제되게 되어, 불휘발성 메모리(34)에 대한 전력의 공급이 단절되어, 내부에 기억되어 있는 데이터가 소거되게 된다. 이와 같이 구성하는 것으로, 탬퍼레지스트성을 보다 높일 수 있다.
또한, 도 37에 나타내는 바와 같이, 불휘발성 메모리(34)에 대한 데이터의 기입 또는 독출을 위한 배선(401-1 내지 401-3)은 대응하는 위치에서, 상하(깊이)방향으로 겹쳐지도록 형성되어 있다. 이것에 의해, 보다 하층의 배선(401-3)에서 데이터를 독출하기 위해서는, 상편의 배선(401-1, 401-2)을 제거하지 않으면 아니되고, 복수의 배선(401-1, 401-2, 401-3)에서 동시에 데이터를 독해할 수 없게 된다.
그리고 또, 불휘발성 메모리(34)는 배선(401-1 내지 401-3)을 용장하게 형성하도록 할 수 있다. 예를 들면, 불휘발성 메모리(34) 내부에 형성되는 배선(401-1 내지 401-3)이 불휘발성 메모리(34)를 구성하는 트랜지스터 등의 소자를 결합할 때, 그 경로는 예를 들면 직선적으로 결합이 가능하여도, 직선적으로는 형성되지 않고, 소정의 길이가 되도록 형성된다. 이와 같이 하는 것으로, 배선(401-1 내지 401-3)의 길이는, 본래 필요한 길이 이상의 길이가 되고, 배선에 필요한 최단의 길이의 경우에 비교하여 큰 기생용량을 가지게 된다.
불휘발성 메모리(34)에서 데이터를 독출하기 위해 설계되어 있는 전용의 회로(반도체IC로서의 어댑터(26)에 내장되어 있는)는, 그 기생용량에 매칭한 임피던스를 설정하는 것으로, 불휘발성 메모리(34)가 기억하고 있는 데이터를 정상적으로 독출할 수 있다. 그렇지만, 불휘발성 메모리(34)에 기억되어 있는 데이터를 독출하도록, 프로브를 배선(401-1 내지 401-3)에 접속시키면, 그 기생용량과 프로브에 의한 합성의 용량이 영향하여, 데이터를 정상적으로 독출하는 것이 곤란하게 된다.
다음에, 포터블 디바이스(6)가 퍼스널 컴퓨터(1)에서 소정의 데이터를 수취할 경우의, 상호인증의 처리를 도 38 및 도 39의 플로차트를 참조하여 설명한다. 스텝(S401)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 난수(Na)를 생성한다. 스텝(S402)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 인터페이스(17)에, 퍼스널 컴퓨터(1)의 ID, 키의 카테고리번호(G) 및 난수(Na)를 포터블 디바이스(6)에 송신시킨 다.
스텝(S421)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 난수(Nb)를 생성한다. 스텝(S422)에 있어서, 포터블 디바이스(6)는 퍼스널 컴퓨터(1)에서 인터페이스(17)를 거쳐서 송신된 퍼스널 컴퓨터(1)의 ID, 키의 카테고리번호(G) 및 난수(Na)를 수신한다. 스텝(S423)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 키의 카테고리번호(G)에서, 마스터 키(KMa)의 키번호(j)를 구한다.
스텝(S424)에 있어서, 포터블 디바이스(6)의 CPU(53)는, j번째의 마스터키 (KMa[j])를 구한다. 스텝(S425)에 있어서, 포터블 디바이스(6)의 CPU(53)는 퍼스널 컴퓨터(1)의 ID에, 마스터 키(KMa[j])를 기초로 한 SHA 등의 해시함수를 적용하고, 키(Kab)를 구한다.
스텝(S426)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 난수(Na), 난수(Nb) 및 퍼스널 컴퓨터(1)의 ID에, 키(Kab)를 기초로 한 SHA 등의 해시함수를 적용하고, 난수(R1)를 구한다. 스텝(S427)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 난수(Sb)를 생성한다.
스텝(S428)에 있어서, 포터블 디바이스(6)의 CPU(53)는 USB제어기(57)에, 난수(Na), 난수(Nb), 키번호(j) 및 난수(Sb)를 퍼스널 컴퓨터(1)에 송신시킨다.
스텝(S403)에 있어서, 퍼스널 컴퓨터(1)는 인터페이스(17)를 거쳐서, 난수(Na), 난수(Nb), 키번호(j) 및 난수(Sb)를 수신한다. 스텝(S404)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 키번호(j)를 기초로, 개별키(KIa)에 포함되는 키(Kab)를 구한다. 스텝(S405)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 난 수(Na), 난수(Nb) 및 퍼스널 컴퓨터(1)의 ID에, 키(Kab)를 기초로 한 SHA 등의 해시함수를 적용하여, 난수(R2)를 구한다.
스텝(S406)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 수신한 난수(R1)와, 스텝(S405)에서 생성한 난수(R2)가 같은지 아닌지를 판정하고, 난수(R1)와 난수(R2)가 같지 않다고 판정된 경우, 적당한 포터블 디바이스는 아니므로, 포터블 디바이스(6)를 인증시키지 않고, 처리는 종료한다. 스텝(S406)에 있어서, 난수(R1)와 난수(R2)가 같다고 판정된 경우, 포터블 디바이스(6)는 적정한 포터블 디바이스이므로 스텝(S407)으로 진행하고, 퍼스널 컴퓨터(1)의 CPU(11)는, 난수(Sa)를 생성한다.
스텝(S408)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 난수(Nb) 및 난수(Na)에, 키(Kab)를 기초로 한 SHA 등의 해시함수를 적용하여 난수(R3)를 구한다. 스텝(S409)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 인터페이스(17)에, 난수(R3) 및 난수(Sb)를 포터블 디바이스(6)에 송신시킨다. 스텝(S410)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 난수(Sa) 및 난수(Sb)에, 키(Kab)를 기초로 한 SHA 등의 해시함수를 적용하여 일시키(Ks)를 구한다.
스텝(S429)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 난수(R3) 및 난수(Sb)를 수신한다. 스텝(S430)에 있어서, 포터블 디바이스(6)의 CPU(53)는 난수(Nb) 및 난수(Na)에, 키(Kab)를 기초로 한 SHA 등의 해시함수를 적용하여 난수(R4)를 구한다. 스텝(S431)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 수신한 함수(R3)와 스텝(S430)에서 생성한 난수(R4)가 같은지 아닌지를 판정하고, 난 수(R3)와 난수(R4)가 같지않다고 판정된 경우, 적당한 퍼스널 컴퓨터는 아니므로, 퍼스널 컴퓨터(1)를 인증시키지 않고, 처리는 종료한다. 스텝(S431)에 있어서, 난수(R3)와 난수(R4)가 같다고 판정된 경우, 퍼스널 컴퓨터(1)는 적당한 퍼스널 컴퓨터이므로 스텝(S432)으로 진행하고, 포터블 디바이스(6)의 CPU(53)는, 난수(Sa) 및 난수(Sb)에, 키(Kab)를 기초로 한 SHA 등의 해시함수를 적용하여 일시키(Ks)를 구한다.
이상과 같이, 퍼스널 컴퓨터(1) 및 포터블 디바이스(6)는, 상호인증하고, 공통의 일시키(Ks)를 얻는다. 또한, 스텝(S425), 스텝(S426), 스텝(S405), 스텝(S408), 스텝(S410), 스텝(S430) 및 스텝(S432)에 있어서, SHA 등의 해시함수를 적용하는 것으로 설명하였으나, DES 등을 적용해도 좋다.
다음에, 퍼스널 컴퓨터(1)가 포터블 디바이스(6)에 소정의 데이터를 송신할 경우의, 상호인증의 처리를 도 40 및 도 41의 플로차트를 참조하여 설명한다. 스텝(S451)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 난수(Na)를 생성한다. 스텝(S452)에 있어서, 퍼스널 컴퓨터(1)는, 인터페이스(17)를 거쳐서, 퍼스널 컴퓨터(1)의 ID, 퍼스널 컴퓨터(1)의 키의 카테고리번호(Gp), 포터블 디바이스(6)의 키의 카테고리번호(Gs) 및 난수(Na)를 포터블 디바이스(6)에 송신한다.
스텝(S481)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 난수(Nb)를 생성한다. 스텝(S482)에 있어서, 포터블 디바이스(6)는, 퍼스널 컴퓨터(1)에서 인터페이스(17)를 거쳐서 송신된 퍼스널 컴퓨터(1)의 ID, 퍼스널 컴퓨터(1)의 키의 카테고리번호(Gp), 포터블 디바이스(6)의 키의 카테고리번호(Gs) 및 난수(Na)를 수신한 다. 스텝(S483)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 포터블 디바이스(6)의 키의 카테고리번호(Gs)에서, 마스터 키(KMa)의 키번호(j)를 구한다.
스텝(S484)에 있어서, 포터블 디바이스(6)의 CPU(53)는, j번째의 마스터 키(KMa[j])를 구한다. 스텝(S485)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 퍼스널 컴퓨터(1)의 ID에, 마스터 키(KMa[j])를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하고, 키(Kab)를 구한다. 스텝(S486)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 퍼스널 컴퓨터(1)의 키의 카테고리번호(Gp)를 기초로, 마스터 키(KIa)의 키번호(k)를 구한다. 스텝(S487)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 키(Kab)에 마스터 키(KIa[k])를 기초로 한 SHA 등의 해시함수를 적용, 허수함수를 적용하고, 키(K'ab)를 구한다.
스텝(S488)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 난수(Na) 및 난수(Nb)에, 키(K'ab)를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하여, 난수(R1)를 구한다. 스텝(S489)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 난수(Sb)를 생성한다.
스텝(S490)에 있어서, 포터블 디바이스(6)의 CPU(53)는 USB제어기(57)에, 포터블 디바이스(6)의 ID, 난수(Nb), 난수(R1), 키번호(j) 및 난수(Sb)를 퍼스널 컴퓨터(1)에 송신시킨다.
스텝(S453)에 있어서, 퍼스널 컴퓨터(1)는 인터페이스(17)를 거쳐서, 포터블 디바이스(6)의 ID, 난수(Nb), 난수(R1), 키번호(j) 및 난수(Sb)를 수신한다. 스텝(S454)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 포터블 디바이스(6)의 ID에, 퍼 스널 컴퓨터(1)의 마스터 키(KMP)를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하여 마스터 키(Km)를 구한다. 스텝(S455)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, j번째의 개별키(KIa)를 구한다. 스텝(S456)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 난수(Na) 및 난수(Nb)에, 키(KIa)를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하여 키(K'ab)를 구한다. 스텝(S457)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 난수(Na) 및 난수(Nb)에, 키(K'ab)를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하여 난수(R2)를 구한다.
스텝(S458)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 수신한 난수(R1)와, 스텝(S457)에서 생성한 난수(R2)가 같은지 아닌지를 판정하고, 난수(R1)와 난수(R2)가 같지 않다고 판정된 경우, 정당한 포터블 디바이스가 아니므로, 포터블 디바이스(6)를 인증하지 않고, 처리는 종료한다. 스텝(S458)에 있어서, 난수(R1)와 난수(R2)가 같다고 판정된 경우, 포터블 디바이스(6)는 정당한 포터블 디바이스이므로 스텝(S459)으로 진행하고, 퍼스널 컴퓨터(1)의 CPU(11)는, 난수(Sa)를 생성한다.
스텝(S460)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 난수(Nb) 및 난수(Na)에, 키(KIa)를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하여 난수(R3)를 구한다. 스텝(S461)에 있어서, 퍼스널 컴퓨터(1)의 CPU(1)는 인터페이스(17)를 거쳐서 포터블 디바이스(6)에, 난수(R3) 및 난수(Sb)를 송신한다. 스텝(S462)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 난수(Sa) 및 난수(Sb)에, 키(K'ab)를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하여 일시키(Ks) 를 구한다.
스텝(S491)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 난수(R3) 및 난수(Sb)를 수신한다. 스텝(S492)에 있어서, 포터블 디바이스(6)의 CPU(53)는 난수(Nb) 및 난수(Na)에, 키(Kab)를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하여 난수(R4)를 구한다. 스텝(S493)에 있어서, 포터블 디바이스(6)의 CPU(53)는, 수신한 난수(R3)와 스텝(S492)에서 생성한 난수(R4)가 같은지 아닌지를 판정하고, 난수(R3)와 난수(R4)가 같지않다고 판정되었을 경우, 정당한 퍼스널 컴퓨터는 아니므로, 퍼스널 컴퓨터(1)를 인증하지 않고, 처리는 종료한다. 스텝(S493)에 있어서, 난수(R3)와 난수(R4)가 같다고 판정되었을 경우, 퍼스널 컴퓨터(1)는 정당한 퍼스널 컴퓨터이므로 스텝(S494)으로 진행하고, 포터블 디바이스(6)의 CPU(53)는 난수(Sa) 및 난수(Sb)에, 키(Kab)를 기초로 한 SHA 등의 해시함수를 적용, 해시함수를 적용하여 일시키(Ks)를 구한다.
이와 같이, 퍼스널 컴퓨터(1) 및 포터블 디바이스(6)는, 상호인증하고, 공통의 일시키(Ks)를 얻는다. 도 40 및 도 41의 플로차트에 나타낸 수속은, 도 38 및 도 39의 플로차트에 나타내는 수속보다도, 소위 "성숙"에 대한 방어(검출)가 강력하다. 또한, 스텝(S485), 스텝(S487), 스텝(S488), 스텝(S454), 스텝(S456), 스텝(S457), 스텝(S460), 스텝(S462), 스텝(S492) 및 스텝(S494)에 있어서, SHA 등의 해시함수를 적용하는 것으로 하여 설명하였으나, DES 등을 적용해도 좋다.
이상과 같이 퍼스널 컴퓨터(1) 및 포터블 디바이스(6)는, 상호인증 후에 행해지는 처리에 대응하여, 검출력이 다른 상호인증의 수속을 구별함으로써, 효율적 이고 또한 강력하게 가장에 의한 공격에 대응할 수 있다.
다음에, 소스프로그램을 암호화하는 처리를 도 42의 플로차트를 참조하여 설명한다. 스텝(S501)에 있어서, 퍼스널 컴퓨터(1)는 통신부(25)를 거쳐서, 도시하지 않은 인증국에 서명을 붙인 소스프로그램을 송신한다. 스텝(S502)에 있어서, 인증국은 서명을 기초로, 수신한 소스프로그램에 개찬이 발견되었는지 아닌지를 판정하고, 수신한 소스프로그램에 개찬이 발견된 경우, 처리는 계속할 수 없으므로, 처리는 종료한다.
스텝(S502)에 있어서, 수신한 소스프로그램에 개찬이 발견되지 않았을 경우 스텝(S503)으로 진행하고, 인증국은 수신한 소스프로그램을 인증국의 비밀키로 암호화한다. 스텝(S504)에 있어서, 인증국은 암호화한 소스프로그램을 퍼스널 컴퓨터(1)에 송신한다. 스텝(S505)에 있어서, 퍼스널 컴퓨터(1)는 수신한 소스프로그램을 HDD(21)에 기록하고, 처리는 종료한다.
이상과 같이, 소스프로그램은 암호화된다. 또한, 인증국대신에 EMD서버(4-1 및 4-3) 또는 소정의 안전한 서버가, 소스프로그램을 암호화하도록 해도 좋다.
다음에, 암호화된 소스프로그램을 어댑터(26)가 실행하는 처리를 도 43의 플로차트를 참조하여 설명한다. 스텝(S521)에 있어서, 어댑터(26)의 CPU(32)는, 퍼스널 컴퓨터(1)에서 수신한 암호화된 소스프로그램을, 불휘발성 메모리(34)에 미리 기억되어 있는 인증국의 공개키로 복호한다. 스텝(S522)에 있어서, 어댑터(26)의 CPU(32)는 인터프리터를 기동하고, 복호된 소스프로그램을 실행한다.
스텝(S523)에 있어서, 어댑터(26)의 CPU(32)는 소스프로그램을 실행하여서 얻어진 결과를, 퍼스널 컴퓨터(1)에 송신할 것인지 아닌지를 판정하고, 결과를 퍼스널 컴퓨터(1)에 송신하지 않는다고 판정되었을 경우, 처리는 종료한다. 스텝(S523)에 있어서, 결과를 퍼스널 컴퓨터(1)에 송신한다고 판정되었을 경우 스텝(S524)으로 진행하고, 어댑터(26)의 CPU(32)는, 소스프로그램을 실행하여 얻어진 결과를 소정의 키로 암호화한다. 스텝(S525)에 있어서, 어댑터(26)의 CPU(32)는 인터페이스(31)를 거쳐서, 암호화된 결과를 퍼스널 컴퓨터(1)에 송신하고, 처리는 종료한다.
이상과 같이, 어댑터(26)는 암호화된 소스프로그램을 실행하고, 소정의 경우, 얻어진 결과를 암호화하고, 퍼스널 컴퓨터(1)에 송신한다.
또한, 오브젝트 프로그램을 암호화하고, 암호화된 오브젝트 프로그램을 어댑터(26)가 실행하도록 해도 좋다. 도 44는, 오브젝트 프로그램을 암호화하는 처리를 설명하는 플로차트이다. 스텝(S541)에 있어서, 퍼스널 컴퓨터(1)는 소스프로그램을 콤파일하고, 소정의 오브젝트 프로그램을 생성한다. 스텝(S542) 내지 스텝(S546)의 처리는, 도 42의 스텝(S501) 내지 스텝(S505)과 각각 동일한 처리이므로, 그 설명은 생략한다.
도 45는 암호화된 오브젝트 프로그램을 어댑터(26)가 실행하는 처리를 설명하는 플로차트이다. 스텝(S561)에 있어서, 어댑터(26)의 CPU(32)는 퍼스널 컴퓨터(1)에서 수신한, 암호화된 오브젝트 프로그램을, 불휘발성 메모리(34)에 미리 기억되어 있는 인증국의 공개키로 복호한다. 스텝(S562)에 있어서, 어댑터(26)의 CPU(32)는, 복호된 오브젝트 프로그램을 RAM(33)에 전개하고, 실행한다. 스텝(S563) 내지 스텝(S565)은, 도 43의 스텝(S523) 내지 스텝(S525)과 각각 동일한 처리이므로, 그 설명은 생략한다.
다음에, 오브젝트 프로그램을 암호화하는 다른 처리를 도 46의 플로차트를 참조하여 설명한다. 스텝(S581)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는 소스프로그램을 콤파일하고, 오브젝트 프로그램을 생성한다. 스텝(S582)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 인터페이스(17)를 거쳐서 어댑터(26)에 어플리케이션 키(Kap) 및 개별키(Kidv)의 발행을 요구한다.
스텝(S583)에 있어서, 퍼스널 컴퓨터(1)는 인터페이스(17)를 거쳐서, 어댑터(26)에서 어플리케이션 키(Kap) 및 개별키(Kidv)(어댑터(26)의 불휘발성 메모리(34)에 기억되어 있는 어댑터(26)고유의 키(Ks)를 기초로, 생성된다)를 수신한다. 스텝(S584)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 오브젝트 프로그램을 어플리케이션 키(Kap)로 암호화한다. 스텝(S585)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 콘텍스트에 포함되는 마스터 키(KMb) 등을 개별키(Kidv)로 암호화한다. 스텝(S586)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 어플리케이션 키(Kap)로 암호화된 오브젝트 프로그램 및 개별키(Kidv)로 암호화된 콘텍스트에 포함되는 마스터 키(KMb) 등을 HDD(21)에 기록시키고, 처리는 종료한다.
이와 같이, 퍼스널 컴퓨터(1)는, 어댑터(26)에서 공급된 어플리케이션 키(Kap) 및 개별키(Kidv)로, 오브젝트 프로그램 및 콘텍스트를 암호화할 수 있다.
도 46의 플로차트에 나타내는 순서로 암호화된 오브젝트 프로그램을 어댑 터(26)가 실행하는 처리를 도 47의 플로차트를 참조하여 설명한다. 스텝(S601)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 인터페이스(17)를 거쳐서 어댑터(26)에, 어플리케이션 키(Kap)로 암호화된 오브젝트 프로그램 및 개별키(Kidv)로 암호화된 콘텍스트에 포함되는 마스터 키(KMb) 등을 송신한다.
스텝(S602)에 있어서, 어댑터(26)의 CPU(32)는, 불휘발성 메모리(34)의 미리 기억되어 있는 키(Ks) 및 어플리케이션 키(Kap)에, 해시함수를 적용하여 개별키(Kidv)를 생성한다. 스텝(S603)에 있어서, 어댑터(26)의 CPU(32)는, 수신한 오브젝트 프로그램을 어플리케이션 키(Kap)로 복호한다. 스텝(S604)에 있어서, 어댑터(26)의 CPU(32)는, 콘텍스트에 포함되는 마스터 키(KMb) 등을 개별키(Kidv)로 복호한다.
스텝(S605)에 있어서, 어댑터(26)의 CPU(32)는 복호된 마스터 키(KMb) 등을 포함하는 콘텍스트를 이용하여, 오브젝트 프로그램을 실행한다. 스텝(S606) 내지 스텝(S608)의 처리는, 도 43의 스텝(S523) 내지 스텝(S525)과 각각 동일하므로 그 설명은 생략한다.
이상과 같이 도 47의 플로차트에서 나타내는 처리에 있어서, 도 46의 플로차트에서 개별키(Kidv)를 송신한 어댑터(26)는, 암호화된 오브젝트 프로그램을 실행할 수 있다. 따라서, 도 46의 플로차트에서 개별키(Kidv)를 송신한 어댑터(26) 이외의 어댑터는, 오브젝트 프로그램을 복호할 수 있으나, 콘텍스트를 복호할 수 없고, 암호화된 오브젝트 프로그램을 실행할 수 없다.
다음에, 어댑터(26)가 오브젝트 프로그램을 실행할 경우, 처리의 일부를 퍼 스널 컴퓨터(1)의 CPU(11)에 실행시켰을 때의 처리를 도 48의 플로차트를 참조하여 설명한다. 스텝(S651)에 있어서, 어댑터(26)의 CPU(32)는, 오브젝트 프로그램의 소정의 명령렬을 소정의 규칙에 따라서 변환한다.
이 변환은, 예를 들면 DES의 암호화 또는 복호의 프로그램의 경우, Feistel구조 등의 기본구조를 반복처리시, 소위 F함수로 이용되는 48비트의 확대키와 적절한 난수에 배타적 논리화를 소정의 횟수, 적용하는 등의 변환을 실행하고, 확대키를 해독하기 어렵게 한다. 또, 예를 들면, DES CBC(Cipher Block Chaining) 모드로, 다량의 데이터를 복호하는 프로그램의 경우, 반복구조의 처리를 순서(시퀀셜)로 실행시키지 않고, 다량의 데이터에 대하여, 복수의 반복구조의 처리를 동시에 실행하고, 확대키를 해독하기 어렵게 한다.
또 예를 들면, 소스프로그램의 인스트랙션에 대응하는 코드(예를 들면, 가산을 나타내는 코드가 "1"에 대응하고, 승산을 나타내는 코드가 "2"에 대응한다)를 매회 변경한다.
스텝(S652)에 있어서, 어댑터(26)의 CPU(32)는 변환된 명령렬을 인터페이스(31)를 거쳐서, 퍼스널 컴퓨터(1)에 송신한다.
스텝(S653)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 디셔플된 명령렬을 실행한다. 스텝(S654)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 명령렬을 실행하여 얻어진 처리결과를 어댑터(26)에 송신한다.
스텝(S655)에 있어서, 어댑터(26)의 CPU(32)는, 퍼스널 컴퓨터(1)에서 수신한 처리결과 및 어댑터(26)의 CPU(32)가 산출하여 유지하고 있는 계산결과를 기초 로, 처리를 계속한다. 스텝(S656)에 있어서, 어댑터(26)의 CPU(32)는, 퍼스널 컴퓨터(1)에 처리를 실행시킬 것인지 아닌지를 판정하고, 퍼스널컴 퓨터(1)에 처리를 실행시키지 않는다고 판정되었을 경우, 처리는 종료한다. 스텝(S656)에 있어서, 퍼스널 컴퓨터(1)에 처리를 실행시킨다고 판정되었을 경우, 수속은 스텝(S651)으로 되돌아가서 퍼스널 컴퓨터(1)에 처리를 실행시키는 처리를 반복한다.
이상과 같이 어댑터(26)는, 오브젝트 프로그램의 처리의 일부를 퍼스널 컴퓨터(1)에 실행시킴으로써, 고속으로 또한 안전하게, 오브젝트 프로그램의 처리를 실행할 수 있다.
어댑터(26)는, 오브젝트 프로그램에 포함되는 명령렬을 변환하여 퍼스널 컴퓨터(1)에 송신함으로써, 오브젝트 프로그램의 해독이 곤란하게 된다. 어댑터(26)가, 오브젝트 프로그램에 포함되는 명령렬을 암호화하여, 퍼스널 컴퓨터(1)에 송신하면, 오브젝트 프로그램의 해독은 더욱 곤란하게 된다.
또한, 도 46에서 설명한 퍼스널 컴퓨터(1)가 어댑터(26)에 공급하는 오브젝트 프로그램을 암호화하는 처리에 있어서, 소스프로그램에 대하여 스텝(S651)에 나타낸 변환을 실행하면, 오브젝트 프로그램의 해독은 더욱 곤란하게 된다.
최후에, 퍼스널 컴퓨터(1)가 EMD서버(4-1 내지 4-3)에서, 사전에 무료로 다운로드한 음악데이터를 암호화하고 있는 암호키를 다운로드하는 동시에, 결제를 하는 처리를 도 49의 플로차트를 참조하여 설명한다. 스텝(S671)에 있어서, 퍼스널 컴퓨터(1)는, 네트워크(2)를 거쳐서 EMD서버(4-1 내지 4-3)와 상호 인증한다. 스텝(S672)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, 통신부(25)를 거쳐서 EMD서 버(4-1 내지 4-3)에, 음악데이터의 재생조건을 나타내는 데이터를 송신한다. 스텝(S673)에 있어서, EMD서버(4-1 내지 4-3)는, 수신한 재생조건을 나타내는 데이터를 기초로, 지불금액의 데이터를 퍼스널 컴퓨터(1)에 송신한다.
스텝(S674)에 있어서, 퍼스널 컴퓨터(1)의 CPU(11)는, EMD서버(4-1 내지 4-3)에서 수신한 지불금액의 데이터를 디스플레이(20)에 표시시킨다. 스텝(S675)에 있어서, EMD서버(4-1 내지 4-3)는, 퍼스널 컴퓨터(1)에 사용자의 크레디트카드의 번호 등의 송신을 요구한다. 스텝(S676)에 있어서, 사용자는 키보드(18) 또는 마우스(19)를 조작하여, 퍼스널 컴퓨터(1)에 크레디트카드의 번호 등의 데이터를 입력하고, 퍼스널 컴퓨터(1)는, 크레디트카드의 번호 등의 데이터를 EMD서버(4-1 내지 4-3)에 송신한다.
스텝(S677)에 있어서, EMD서버(4-1 내지 4-3)는, 퍼스널 컴퓨터(1)에서 수신한 크레디트카드의 번호 등의 데이터를 기초로, 결제의 처리를 실행한다. 스텝(S678)에 있어서, EMD서버(4-1 내지 4-3)는 네트워크(2)를 거쳐서, 퍼스널 컴퓨터(1)에 소정의 암호 키를 송신한다. 스텝(S679)에 있어서, 퍼스널 컴퓨터(1)는 네트워크(2)를 거쳐서, EMD서버(4-1 내지 4-3)에서 송신된 소정의 암호키를 수신하고, 처리는 종료한다.
이상과 같이, 퍼스널 컴퓨터(1)가 EMD서버(4-1 내지 4-3)에서 암호키를 다운로드하는 동시에, EMD서버(4-1 내지 4-3)는 결제의 처리를 하면, 퍼스널 컴퓨터(1)가 EMD서버(4-1 내지 4-3)에서 음악데이터를 다운로드할 때, 인증, 암호화, 또는 결제 등의 처리가 필요하지 않게 되므로, 비교적 큰 데이터인 음악데이터를 신속하 게 다운로드할 수 있다.
이상에 있어서, 기록매체로서 포터블 디바이스(6)를 이용할 경우를 예로서 설명하였으나, 본 발명은 기타의 기록매체에 데이터를 이전 또는 복사할 경우에도 응용하는 것이 가능하다. 크레디트카드의 번호 등의 데이터를 기초로, 결제의 처리를 실행하는 것으로 설명하였으나, smash(상표) 등의 수속에 의해, 결제를 행하도록 해도 좋다.
또, 도 49의 플로차트에 나타내는 처리의 앞에, 퍼스널 컴퓨터(1)와 EMD서버(4-1 내지 4-3)가, 예를 들면, IS0 9798-3에서 규정되어 있는 http(Hypertext Transport Protocol)상의 프로토콜을 사용하여, 상호인증하도록 해도 좋다.
또한, 포터블 디바이스(6)는 미리 개별키를 기억하고 있는 것으로 설명하였으나, 사용자가 포터블 디바이스(6)를 구입 후, EMD서버(4-1 내지 4-3) 등에서 다운로드하도록 해도 좋다.
또, 데이터는 음악데이터 이외에, 화상데이터, 기타의 데이터로 할 수도 있다.
이상에 있어서는, 기록매체로서 포터블 디바이스(6)를 이용하는 경우를 예로서 설명하였으나, 본 발명은 기타의 기록매체에 데이터를 이전 또는 복사할 경우에도 응용하는 것이 가능하다. 또, 콘텐츠는 곡의 데이터 또는 음성데이터 등의 음악데이터 이외에 화상데이터, 기타의 데이터로 할 수도 있다.
이와 같이, 본 발명에 의하면, 다음과 같은 효과를 나타낼 수 있다.
(1) HDD(21)에 암호화하여 데이터를 기록하는 동시에, 암호키도 보존용 키로 암호화한 위에서 HDD(21)에 기록하도록 하였으므로, HDD(21)에 기록되어 있는 콘텐츠를 복사하여도, 이것을 복호할 수 없으므로, 복제가 대량으로 배포되는 것을 방지할 수 있다.
(2) 소정의 곡을 1회 복사하였을 때, 일정시간(상기 예의 경우, 48시간) 동안, 그 곡을 복사할 수 없도록 하기 위해, 그 곡과 녹음일시를 곡데이터 베이스 상에 등록하도록 하였으므로, 그 복사횟수를 제한할 수 있고, 복제를 대량으로 배포하는 것을 방지할 수 있다.
또한 데이터베이스를 갱신할 때마다, 데이터의 해시치를 계산하여 보존하도록 하였으므로, 데이터베이스의 개찬을 방지하는 것이 용이하게 된다.
(3) 외부의 장치에 콘텐츠를 건너주면, HDD(21)상의 콘텐츠를 소거하도록 하였으므로, HDD(21)내에 원래의 디지털데이터인 콘텐츠가 남지않고, 그 복제를 대량으로 배포하는 것이 방지된다.
(4) HDD(21)내에 곡데이터 베이스를 설치하고, 전체의 해시치를 매회 체크하도록 하였으므로, HDD(21)의 내용을 무브직전에 백업하고, 무브직후에 백업한 데이터를 HDD(21)에 리스토어하도록 하여도, 송부원의 데이터를 확실히 소거하는 것이 가능하게 된다.
(5) 퍼스널 컴퓨터(1)가 외부의 기기에 데이터를 넘길 때, 그 전에 상호인증처리를 행하도록 하였으므로, 부정한 기기에 데이터를 넘기게 되는 일이 방지된다.
(6) 외부기기에서, 퍼스널 컴퓨터(1)에 대하여 데이터를 넘기기 전에, 퍼스 널 컴퓨터(1)의 소프트웨어가 정당한 것인지 아닌지를 상호인증에 의해 확인하도록 하였으므로, 부정한 소프트웨어에 대하여 콘텐츠를 넘기게 되는 일이 방지된다.
(7) 곡의 동일성의 판정에 ISRC를 이용하고, ISRC가 취득할 수 없을 때는, TOC를 이용하도록 하였으므로, ISRC가 취득할 수 없어도 곡의 동일성을 판정하는 것이 가능하게 된다.
(8) 퍼스널 컴퓨터(1)에 있어서의 소프트웨어기능 중, 소정의 부분을 퍼스널 컴퓨터(1)에 외부 부착되는 어댑터(26)에 부담시키도록 하였으므로, 퍼스널 컴퓨터(1)의 소프트웨어를 해석한 것만으로는, 전체로서 어떠한 처리가 되어 있는지가 판정되지 않으므로, 소프트웨어를 개찬을 하여 의도하는 기능을 가지게 하는 것이 곤란하게 된다.
또한, 그 소프트웨어가, 안전한 인증국 또는 EMD서버(4-1 내지 4-3)에서 암호화 또는 셔플되도록 하였으므로, 소프트웨어의 개찬은 보다 곤란하게 된다.
(9) 프로그램을 프로그램에 대응하는 키로 암호화하고, 프로그램의 실행에 필요한 데이터를, 어댑터(26)가 생성하는 고유의 키로 암호화하도록 하였으므로, 프로그램만을 CD-ROM 등의 매체에서 배포가능하면서 프로그램을 다른 어댑터(26)에서 실행하는 것이 방지된다.
(10) 음악데이터 등의 콘텐츠를 암호화하는 키를 다운로드할 때, 결제되도록 하였으므로, 비교적 큰 데이터인 음악데이터 등의 콘텐츠를 신속하게 다운로드할 수 있도록 된다.
또한, 본 명세서에 있어서, 시스템과는, 복수의 장치에 의해 구성되는 장치 전체를 나타내는 것으로 한다.
또한, 상술한 바와 같은 처리를 행하는 컴퓨터프로그램을 사용자에게 제공하는 제공매체로서는, 자기디스크, CD-ROM, 고체메모리 등의 기록매체이외, 네트워크, 위성 등의 통신매체를 이용할 수 있다.
이상과 같이 본 발명에 관계되는 정보제공장치, 정보제공방법 및 프로그램 제공매체에서는, 정보처리장치에서 소정의 프로그램이 수신되는 동시에, 암호화된 프로그램이 정보처리장치에 송신되고, 수신한 프로그램이 암호화되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보처리장치, 정보처리방법 및 프로그램 제공매체에서는, 소정의 처리에 대응하여 1 이상의 상호인증의 수속에서, 실행하는 상호인증의 처리가 선택되고, 선택된 상호인증의 수속이 실행되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보제공장치, 정보제공방법 및 프로그램 제공매체에서는, 정보처리장치에서 정보처리장치가 다운로드한 데이터의 이용에 관한 데이터 및 결제에 필요한 데이터가 수신되는 동시에, 정보처리장치에 키가 송신되고, 정보처리장치에서 수신한 데이터의 이용에 관한 데이터 및 결제에 필요한 데이터를 기초로 결제되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보처리장치, 정보처리방법 및 프로그램 제공매체 에 의하면, 암호화되어 있는 프로그램이 복호되어 실행되고, 프로그램이 공급되는 동시에, 암호화되어 있는 프로그램이 복호되고, 실행의 결과를 기초로 프로그램이 실행되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보처리장치, 정보처리방법 및 프로그램 제공매체에서는, 반도체IC에 실행시키는 프로그램이 인증국에 송신되는 동시에, 인증국에서 암호화된 프로그램이 수신되고, 인증국에서 수신한 암호화된 프로그램이 기록되고, 기록되어 있는 프로그램이 반도체IC에 송신되도록 하였음으로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보처리 시스템에서는, 반도체IC에 실행시키는 프로그램이 인증국에 송신되는 동시에, 인증국에서 암호화된 프로그램이 수신되고, 인증국에서 수신한 암호화된 프로그램이 기록되고, 기록되어 있는 프로그램이 반도체IC에 송신되고, 반도체IC에 실행시키는 프로그램이 수신되는 동시에, 정보처리장치에 암호화된 프로그램이 송신되고, 수신한 프로그램이 소정의 방식으로 암호화되도록 하였음으로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보처리장치, 정보처리방법 및 프로그램 제공매체에서는, 반도체IC에 실행시키는 프로그램에 포함되는 명령렬이 병렬 변환되어서, 명령렬이 병렬 변환된 프로그램이 기록되고, 기록되어 있는 프로그램이 반도체IC에 송신되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것 을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보처리장치, 정보처리방법 및 프로그램 정보매체에서는, 반도체IC에 실행시키는 프로그램에 포함되는 명령렬이 병렬 변환되어서 프로그램이 암호화되고, 명령렬이 병렬 변환되어서 암호화된 프로그램이 기록되고, 기록되어 있는 프로그램이 반도체IC에 송신되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보처리장치, 정보처리방법 및 프로그램 제공매체에서는, 프로그램 및 프로그램의 실행에 필요한 데이터가 축적되고, 프로그램 및 데이터의 축적 또는 독출이 제어되고, 프로그램이 반도체IC에서 공급된 제 1키로 암호화되고, 데이터가 반도체IC에서 공급된 제 2키로 암호화되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 반도체IC, 정보처리방법 및 프로그램 제공매체에 의하면, 정보처리장치에서 전송되어 오는 암호화되어 있는 제 1프로그램이 수신되고, 수신된 제 1프로그램이 복호되고, 복호된 제 1프로그램을 처리하는 제 2프로그램이 유지되고, 유지되어 있는 제 2프로그램에 의거하여 처리된 제 1프로그램이 실행되고, 실행한 결과가 정보처리장치에 전송되어 계시동작을 행하는 동시에, 정보처리장치로부터의 시각정보에 의거하여, 현재시각이 수정되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 정보처리장치, 정보처리방법 및 프로그램 제공매체에서는, 반도체IC에 암호화되어 있는 프로그램이 송신되고, 반도체IC가 프로그램을 처리한 결과를 생성하고, 출력한 데이터가 수신되어 다른 장치에서 데이터와 시각정보가 수신되고, 수신한 데이터가 축적되고, 수신한 시각정보에 의거하여 반도체IC의 시각정보가 수정되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또, 본 발명에 관계되는 반도체IC, 정보처리방법, 프로그램 제공매체에서는, 반도체IC 고유의 제 1키가 미리 기억되고, 기억하고 있는 제 1키 및 정보처리장치에서 공급된 프로그램의 속성에서 제 2키가 생성되고, 프로그램이 제 3키로 복호되고 데이터가 제 2키로 복호되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
또한, 본 발명에 관계되는 정보처리 시스템에 의하면, 프로그램 및 프로그램의 실행에 필요한 데이터가 축적되고, 프로그램 및 데이터의 축적 또는 독출이 제어되고, 프로그램이 반도체IC에서 공급된 제 1키로 암호화되고, 데이터가 반도체IC에서 공급된 제 2키로 암호화되고, 암호화된 프로그램 및 프로그램의 실행에 필요한 데이터가 반도체IC에 송신되는 동시에, 제 1키 및 제 2키가 반도체IC에서 수신되고, 암호화된 프로그램 및 프로그램의 실행에 필요한 데이터가 수신되는 동시에, 제 1키 및 제 2키가 정보처리장치에 송신되고, 반도체IC 고유의 제 3키가 미리 기억되고, 기억하고 있는 제 3 키 및 정보처리장치에서 공급되는 프로그램의 속성에서 제 2키가 생성되고, 수신한 프로그램이 제 1키로 복호되고, 수신한 데이터가 제 2키로 복호되도록 하였으므로, 기억되어 있는 데이터가 부정하게 독출되고, 해석되는 것을 방지할 수 있게 된다.
Claims (43)
- 다른 정보처리장치와 상호인증을 행하는 정보처리장치에 있어서,1 이상의 상호인증의 처리에서, 실행하는 상호인증의 처리를 선택하는 선택수단과,상기 선택수단이 선택된 상호인증의 처리를 실행하는 상호인증수단을 포함하며,상기 정보처리장치는 제 1난수(亂數)를 발생하고, 상기 정보처리장치의 식별정보와 키의 속성정보와, 상기 제 1난수를 상기 다른 정보처리장치에 송신하고,상기 다른 정보처리장치는 제 2난수를 발생하고, 상기 정보처리장치에서 송신된 상기 식별정보와 키의 속성정보와 상기 제 1난수를 수신하고,상기 다른 정보처리장치는 상기 키의 속성정보에서 키를 계산하고, 상기 키와 상기 제 1·제 2난수에서 제 3난수를 발생하고,상기 다른 정보처리장치는 상기 제 2·제 3난수와 키에 관한 정보를 상기 정보처리장치에 송신하고,상기 정보처리장치는 상기 다른 정보처리장치에서 송신된 상기 제 2·제 3난수와 키에 관한 정보를 수신하고, 상기 키에 관한 정보에서 키를 생성하고,상기 정보처리장치는 상기 키와 상기 제 1·제 2난수에서 제 4난수를 발생하여, 상기 제 4난수를 다른 정보처리장치에 송신하고,상기 정보처리장치 및 다른 정보처리장치의 각각에 있어서, 상기 제 3·제 4난수와 키에서 일시키를 구하는 것을 특징으로 하는 정보처리장치.
- 다른 정보처리장치와 상호인증을 행하는 정보처리장치의 정보처리방법에 있어서,1 이상의 상호인증의 처리에서, 실행하는 상호인증의 처리를 선택하는 선택스텝과,상기 선택스텝에서 선택된 상호인증의 처리를 실행하는 상호인증 스텝을 포함하며,상기 정보처리장치는 제 1난수(亂數)를 발생하고, 상기 정보처리장치의 식별정보와 키의 속성정보와, 상기 제 1난수를 상기 다른 정보처리장치에 송신하고,상기 다른 정보처리장치는 제 2난수를 발생하고, 상기 정보처리장치에서 송신된 상기 식별정보와 키의 속성정보와 상기 제 1난수를 수신하고,상기 다른 정보처리장치는 상기 키의 속성정보에서 키를 계산하고, 상기 키와 상기 제 1·제 2난수에서 제 3난수를 발생하고,상기 다른 정보처리장치는 상기 제 2·제 3난수와 키에 관한 정보를 상기 정보처리장치에 송신하고,상기 정보처리장치는 상기 다른 정보처리장치에서 송신된 상기 제 2·제 3난수와 키에 관한 정보를 수신하고, 상기 키에 관한 정보에서 키를 생성하고,상기 정보처리장치는 상기 키와 상기 제 1·제 2난수에서 제 4난수를 발생하여, 상기 제 4난수를 다른 정보처리장치에 송신하고,상기 정보처리장치 및 다른 정보처리장치의 각각에 있어서, 상기 제 3·제 4난수와 키에서 일시키를 구하는 것을 특징으로 하는 것을 특징으로 하는 정보처리방법.
- 다른 정보처리장치와 상호인증을 행하는 정보처리장치에,1 이상의 상호인증의 처리에서, 실행하는 상호인증의 처리를 선택하는 선택스텝과,상기 선택스텝에서 선택된 상호인증의 처리를 실행하는 상호인증스텝을 포함하며,상기 정보처리장치는 제 1난수(亂數)를 발생하고, 상기 정보처리장치의 식별정보와 키의 속성정보와, 상기 제 1난수를 상기 다른 정보처리장치에 송신하고,상기 다른 정보처리장치는 제 2난수를 발생하고, 상기 정보처리장치에서 송신된 상기 식별정보와 키의 속성정보와 상기 제 1난수를 수신하고,상기 다른 정보처리장치는 상기 키의 속성정보에서 키를 계산하고, 상기 키와 상기 제 1·제 2난수에서 제 3난수를 발생하고,상기 다른 정보처리장치는 상기 제 2·제 3난수와 키에 관한 정보를 상기 정보처리장치에 송신하고,상기 정보처리장치는 상기 다른 정보처리장치에서 송신된 상기 제 2·제 3난수와 키에 관한 정보를 수신하고, 상기 키에 관한 정보에서 키를 생성하고,상기 정보처리장치는 상기 키와 상기 제 1·제 2난수에서 제 4난수를 발생하여, 상기 제 4난수를 다른 정보처리장치에 송신하고,상기 정보처리장치 및 다른 정보처리장치의 각각에 있어서, 상기 제 3·제 4난수와 키에서 일시키를 구하는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 하는 프로그램 제공매체.
- 삭제
- 다른 정보처리장치와 상호인증을 행하는 정보처리장치에 있어서,1 이상의 상호인증의 처리에서, 실행하는 상호인증의 처리를 선택하는 선택수단과,상기 선택수단이 선택된 상호인증의 처리를 실행하는 상호인증수단을 포함하며,상기 정보처리장치는 제 1난수(亂數)를 발생하고,상기 정보처리장치의 식별정보 및 키의 속성정보와, 다른 정보처리장치의 키의 속성정보와 상기 제 1난수를 상기 정보처리장치에서 상기 다른 정보처리장치로 송신하고,상기 다른 정보처리장치는 제 2난수를 발생하고,상기 다른 정보처리장치는, 상기 정보처리장치에서 송신된 상기 정보처리장치의 식별정보 및 키의 속성정보와, 상기 다른 정보처리장치의 키의 속성정보와 상기 제 1난수를 수신하고,상기 다른 정보처리장치는, 상기 다른 정보처리장치의 키의 속성정보에서 제 1키를 계산하고, 상기 정보처리장치의 키의 속성정보에서 제 2키를 계산하고,상기 다른 정보처리장치는, 상기 제 2키와 상기 제 1·제 2난수에서 제 3난수를 발생하고, 상기 제 2·제 3난수와 키에 관한 정보를 상기 정보처리장치에 송신하고,상기 정보처리장치는, 상기 다른 정보처리장치에서 송신된 상기 제 2·제 3난수와 키에 관한 정보를 수신하고,상기 정보처리장치는, 상기 키에 관한 정보에서 제 2키를 생성하고, 상기 제 2키와 상기 제 1·제 2난수에서 제 4난수를 발생하고,상기 제 4난수를 상기 정보처리장치에서 상기 다른 정보처리장치에 송신하고,상기 정보처리장치 및 상기 다른 정보처리장치의 각각에 있어서, 상기 제 3·제 4난수와 제 2키에서 일시키를 구하는 것을 특징으로 하는 특징으로 하는 정보처리장치.
- 제 1항에 있어서,암호화되어 있는 프로그램을 복호하여 실행하는 제 1실행수단과,상기 프로그램을 상기 제 1실행수단에 공급하는 동시에, 암호화되어 있는 상기 프로그램을 복호하고, 상기 제 1실행수단의 실행의 결과를 기초로, 상기 프로그램을 실행하는 제 2실행수단을 더 포함하는 것을 특징으로 하는 정보처리장치.
- 제 6항에 있어서,상기 제 1실행수단 및 상기 제 2실행수단은, 각각 독립한 하드웨어에 설치되어 있는 것을 특징으로 하는 정보처리장치.
- 제 6항에 있어서,상기 프로그램은, 인터프리터에 실행시키는 소스프로그램인 것을 특징으로 하는 정보처리장치.
- 제 6항에 있어서,상기 프로그램은, 오브젝트 프로그램인 것을 특징으로 하는 정보처리장치.
- 제 2항에 있어서,암호화되어 있는 프로그램을 복호하여 실행하는 제 1실행스텝과,상기 프로그램을 상기 제 1실행스텝에 공급하는 동시에, 암호화되어 있는 상기 프로그램을 복호하고, 상기 제 1실행스텝의 실행의 결과를 기초로, 상기 프로그램을 실행하는 제 2실행스텝을 더 포함하고, 상기 제 1실행스텝 및 상기 제 2실행스텝은 각각 독립한 하드웨어에 실행되는 것을 특징으로 하는 정보처리장치의 정보처리방법.
- 제 3항에 있어서,암호화되어 있는 프로그램을 복호하여 실행하는 제 1실행스텝과,상기 프로그램을 상기 제 1실행스텝에 공급하는 동시에, 암호화되어 있는 상기 프로그램을 복호하고, 상기 제 1실행스텝의 실행의 결과를 기초로, 상기 프로그램을 실행하는 제 2실행스텝을 더 포함하고, 상기 제 1실행스텝 및 상기 제 2실행스텝은 각각 독립한 하드웨어에 실행되는 처리를 실행시키는 컴퓨터가 독해 가능한 프로그램을 제공하는 것을 특징으로 하는 프로그램 제공매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-1999-00088346 | 1999-03-30 | ||
JP8834699 | 1999-03-30 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007013414A Division KR100756076B1 (ko) | 1999-03-30 | 2000-03-30 | 정보처리 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070053792A KR20070053792A (ko) | 2007-05-25 |
KR100862371B1 true KR100862371B1 (ko) | 2008-10-13 |
Family
ID=13940290
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007013414A KR100756076B1 (ko) | 1999-03-30 | 2000-03-30 | 정보처리 시스템 |
KR1020077007169A KR100862371B1 (ko) | 1999-03-30 | 2000-03-30 | 정보처리 시스템 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020007013414A KR100756076B1 (ko) | 1999-03-30 | 2000-03-30 | 정보처리 시스템 |
Country Status (9)
Country | Link |
---|---|
US (2) | US7237112B1 (ko) |
EP (1) | EP1087291A4 (ko) |
KR (2) | KR100756076B1 (ko) |
CN (1) | CN1249571C (ko) |
AU (1) | AU773975B2 (ko) |
CA (1) | CA2333642A1 (ko) |
SG (1) | SG116447A1 (ko) |
TW (1) | TW518497B (ko) |
WO (1) | WO2000058827A1 (ko) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6742129B1 (en) * | 1999-12-08 | 2004-05-25 | Carrier Corporation | Software security mechanism |
DE10043499A1 (de) * | 2000-09-01 | 2002-03-14 | Bosch Gmbh Robert | Verfahren zur Datenübertragung |
JP2003233590A (ja) * | 2002-02-08 | 2003-08-22 | Hitachi Ltd | 移動追従型サービス提供方法、システム及びプログラム |
JP3818503B2 (ja) * | 2002-04-15 | 2006-09-06 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
JP2004112461A (ja) * | 2002-09-19 | 2004-04-08 | Sony Corp | データ処理方法、そのプログラムおよびその装置 |
JPWO2004036914A1 (ja) * | 2002-10-21 | 2006-02-16 | オムロン株式会社 | メディアデータ再生装置、メディアデータ配信装置、メディアデータ再生方法、メディアデータ再生プログラム、メディアデータ配信プログラム、コンピュータ読み取り可能な記録媒体 |
JP3894324B2 (ja) * | 2003-10-08 | 2007-03-22 | 船井電機株式会社 | 記録再生装置および記録再生装置における記録再生方法 |
CN100368999C (zh) * | 2004-01-08 | 2008-02-13 | 松下电器产业株式会社 | 内容管理装置和内容管理方法 |
JP4335707B2 (ja) * | 2004-02-06 | 2009-09-30 | Necエレクトロニクス株式会社 | プログラム改竄検出装置、及びプログラム改竄検出プログラムおよびプログラム改竄検出方法 |
JP2005293109A (ja) * | 2004-03-31 | 2005-10-20 | Canon Inc | ソフトウェア実行管理装置、ソフトウェア実行管理方法、及び制御プログラム |
TWI249677B (en) * | 2004-07-20 | 2006-02-21 | Advantech Co Ltd | Two-layer key protection method and architecture for computer peripheral interface |
US8266429B2 (en) | 2004-07-20 | 2012-09-11 | Time Warner Cable, Inc. | Technique for securely communicating and storing programming material in a trusted domain |
US8312267B2 (en) * | 2004-07-20 | 2012-11-13 | Time Warner Cable Inc. | Technique for securely communicating programming content |
US7685166B2 (en) * | 2005-01-19 | 2010-03-23 | Panasonic Corporation | Information recording apparatus |
US8195789B2 (en) * | 2005-04-20 | 2012-06-05 | Oracle International Corporation | System, apparatus and method for characterizing messages to discover dependencies of services in service-oriented architectures |
US8520850B2 (en) | 2006-10-20 | 2013-08-27 | Time Warner Cable Enterprises Llc | Downloadable security and protection methods and apparatus |
US8732854B2 (en) | 2006-11-01 | 2014-05-20 | Time Warner Cable Enterprises Llc | Methods and apparatus for premises content distribution |
US8621540B2 (en) | 2007-01-24 | 2013-12-31 | Time Warner Cable Enterprises Llc | Apparatus and methods for provisioning in a download-enabled system |
US8806220B2 (en) * | 2009-01-07 | 2014-08-12 | Microsoft Corporation | Device side host integrity validation |
US9602864B2 (en) | 2009-06-08 | 2017-03-21 | Time Warner Cable Enterprises Llc | Media bridge apparatus and methods |
US9866609B2 (en) | 2009-06-08 | 2018-01-09 | Time Warner Cable Enterprises Llc | Methods and apparatus for premises content distribution |
KR101704531B1 (ko) * | 2010-04-22 | 2017-02-08 | 삼성전자주식회사 | 휴대 단말기의 텍스트 정보 표시 방법 및 장치 |
US9906838B2 (en) | 2010-07-12 | 2018-02-27 | Time Warner Cable Enterprises Llc | Apparatus and methods for content delivery and message exchange across multiple content delivery networks |
US9385871B2 (en) * | 2011-05-23 | 2016-07-05 | Samsung Electronics Co., Ltd | Method and apparatus for authenticating a non-volatile memory device |
US9565472B2 (en) | 2012-12-10 | 2017-02-07 | Time Warner Cable Enterprises Llc | Apparatus and methods for content transfer protection |
US20140282786A1 (en) | 2013-03-12 | 2014-09-18 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing and uploading content to personalized network storage |
US10368255B2 (en) | 2017-07-25 | 2019-07-30 | Time Warner Cable Enterprises Llc | Methods and apparatus for client-based dynamic control of connections to co-existing radio access networks |
US9066153B2 (en) | 2013-03-15 | 2015-06-23 | Time Warner Cable Enterprises Llc | Apparatus and methods for multicast delivery of content in a content delivery network |
US9313568B2 (en) | 2013-07-23 | 2016-04-12 | Chicago Custom Acoustics, Inc. | Custom earphone with dome in the canal |
US9251355B2 (en) | 2013-07-30 | 2016-02-02 | International Business Machines Corporation | Field level database encryption using a transient key |
CN104243480A (zh) * | 2013-09-22 | 2014-12-24 | 摩尔动力(北京)技术股份有限公司 | 信息传播系统 |
US9621940B2 (en) | 2014-05-29 | 2017-04-11 | Time Warner Cable Enterprises Llc | Apparatus and methods for recording, accessing, and delivering packetized content |
US11540148B2 (en) | 2014-06-11 | 2022-12-27 | Time Warner Cable Enterprises Llc | Methods and apparatus for access point location |
US9935833B2 (en) | 2014-11-05 | 2018-04-03 | Time Warner Cable Enterprises Llc | Methods and apparatus for determining an optimized wireless interface installation configuration |
US9986578B2 (en) | 2015-12-04 | 2018-05-29 | Time Warner Cable Enterprises Llc | Apparatus and methods for selective data network access |
US9918345B2 (en) | 2016-01-20 | 2018-03-13 | Time Warner Cable Enterprises Llc | Apparatus and method for wireless network services in moving vehicles |
US10492034B2 (en) | 2016-03-07 | 2019-11-26 | Time Warner Cable Enterprises Llc | Apparatus and methods for dynamic open-access networks |
US10164858B2 (en) | 2016-06-15 | 2018-12-25 | Time Warner Cable Enterprises Llc | Apparatus and methods for monitoring and diagnosing a wireless network |
US10645547B2 (en) | 2017-06-02 | 2020-05-05 | Charter Communications Operating, Llc | Apparatus and methods for providing wireless service in a venue |
US10638361B2 (en) | 2017-06-06 | 2020-04-28 | Charter Communications Operating, Llc | Methods and apparatus for dynamic control of connections to co-existing radio access networks |
TWI653864B (zh) | 2017-11-21 | 2019-03-11 | 國立交通大學 | 高安全性之區塊鏈資料傳送方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR970049735A (ko) * | 1995-12-11 | 1997-07-29 | 포만 제프리 엘 | 상호 인증을 개선하는 방법 및 장치와, 컴퓨터 판독가능한 프로그램 제품 |
KR19980033368A (ko) * | 1996-10-31 | 1998-07-25 | 모리시다요이치 | 인증 함수를 변경할 수 있는 기기 인증 시스템 |
KR0148300B1 (ko) * | 1994-07-29 | 1998-08-17 | 미따라이 하지메 | 복수의 정보 처리 장치를 구비하는 통신 시스템에서 비밀 정보의 분산, 디지탈 서명의 생성 및 인증의 수행 방법과 그 통신 시스템 |
KR19980079682A (ko) * | 1997-03-28 | 1998-11-25 | 포맨 제프리 엘 | 인터넷을 통한 경보안 통신 터널링 방법 및 그 장치 |
KR19990013450A (ko) * | 1997-07-24 | 1999-02-25 | 니시무로타이조 | 정보 기록 매체에 기록되어 있는 정보를 재생하는 정보 재생장치, 인증 처리를 하는 인증 장치, 제1 장치와 복수의 제2장치 사이에서 상호 인증을 행함으로써 정보를 전송하는 정보처리 시스템 |
KR100293174B1 (ko) * | 1998-05-27 | 2001-07-12 | 이종인 | 전화기의다주파부호(mfc)톤다이얼신호보안방법및장치 |
KR100500976B1 (ko) * | 1996-06-28 | 2005-12-06 | 소니 가부시끼 가이샤 | 인증방법,통신방법및정보처리장치 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2549989B1 (fr) * | 1983-07-29 | 1985-09-13 | Philips Ind Commerciale | Systeme d'authentification entre un lecteur de carte et une carte de paiement echangeant des informations |
GB2163577B (en) * | 1984-08-23 | 1988-01-13 | Nat Res Dev | Software protection device |
DE3736882C2 (de) * | 1987-10-30 | 1997-04-30 | Gao Ges Automation Org | Verfahren zur Echtheitsprüfung eines Datenträgers mit integriertem Schaltkreis |
US5058157A (en) * | 1989-09-06 | 1991-10-15 | Macrovision Corporation | Method and apparatus for encrypting and decrypting time domain signals |
EP0440158B1 (en) * | 1990-01-30 | 1997-09-10 | Kabushiki Kaisha Toshiba | Mutual authentication system |
JP3425177B2 (ja) * | 1993-03-24 | 2003-07-07 | 株式会社東芝 | データ伝送システム |
FR2718312B1 (fr) * | 1994-03-29 | 1996-06-07 | Rola Nevoux | Procédé d'authentification combinée d'un terminal de télécommunication et d'un module d'utilisateur. |
DE4413451A1 (de) * | 1994-04-18 | 1995-12-14 | Rolf Brugger | Vorrichtung zum Vertrieb von Musikinformationen in digitaler Form |
US5778071A (en) * | 1994-07-12 | 1998-07-07 | Information Resource Engineering, Inc. | Pocket encrypting and authenticating communications device |
JP3395863B2 (ja) | 1994-08-10 | 2003-04-14 | 富士通株式会社 | ソフトウエア管理モジュール、ソフトウエア再生管理装置およびソフトウエア再生管理システム |
CN1912885B (zh) | 1995-02-13 | 2010-12-22 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
US5754657A (en) * | 1995-08-31 | 1998-05-19 | Trimble Navigation Limited | Authentication of a message source |
JP3541522B2 (ja) * | 1995-10-09 | 2004-07-14 | 松下電器産業株式会社 | 機器間通信保護システムおよび機器 |
US5991407A (en) * | 1995-10-17 | 1999-11-23 | Nokia Telecommunications Oy | Subscriber authentication in a mobile communications system |
US6292896B1 (en) * | 1997-01-22 | 2001-09-18 | International Business Machines Corporation | Method and apparatus for entity authentication and session key generation |
US6182215B1 (en) * | 1997-02-28 | 2001-01-30 | Matsushita Electric Industrial Co., Ltd. | Information devices which select and use one out of plurality of encryption utilization protocols for protecting copyrights of digital productions |
JP3050843B2 (ja) | 1997-02-28 | 2000-06-12 | 松下電器産業株式会社 | デジタル著作物の著作権保護のための暗号技術利用プロトコルを複数から選択して使用する情報機器 |
US6105133A (en) * | 1997-03-10 | 2000-08-15 | The Pacid Group | Bilateral authentication and encryption system |
JP4268690B2 (ja) * | 1997-03-26 | 2009-05-27 | ソニー株式会社 | 認証システムおよび方法、並びに認証方法 |
JP3474075B2 (ja) | 1997-04-07 | 2003-12-08 | 富士通株式会社 | 複数の記録媒体上へのデータ記録方法および装置 |
JP3864401B2 (ja) | 1997-04-23 | 2006-12-27 | ソニー株式会社 | 認証システム、電子機器、認証方法、および記録媒体 |
JP3988172B2 (ja) * | 1997-04-23 | 2007-10-10 | ソニー株式会社 | 情報処理装置および方法、並びに記録媒体 |
JPH10301772A (ja) | 1997-04-30 | 1998-11-13 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
JPH10301773A (ja) | 1997-04-30 | 1998-11-13 | Sony Corp | 情報処理装置および情報処理方法、並びに記録媒体 |
US6003135A (en) * | 1997-06-04 | 1999-12-14 | Spyrus, Inc. | Modular security device |
JPH1139158A (ja) | 1997-07-18 | 1999-02-12 | Nippon Telegr & Teleph Corp <Ntt> | 実行プログラムの保護方法およびその装置 |
JP3688099B2 (ja) * | 1997-07-22 | 2005-08-24 | 富士通株式会社 | 電子情報配布方法及び記録媒体 |
JP3272283B2 (ja) * | 1997-11-14 | 2002-04-08 | 富士通株式会社 | 電子データ保管装置 |
EP0932112A1 (fr) * | 1998-01-20 | 1999-07-28 | Koninklijke Philips Electronics N.V. | Lecteur de carte à puce muni d'un commutateur d'horloge |
JPH11249964A (ja) * | 1998-03-03 | 1999-09-17 | Fujitsu Ltd | 時計装置及びコンピュータ装置 |
US6918035B1 (en) * | 1998-07-31 | 2005-07-12 | Lucent Technologies Inc. | Method for two-party authentication and key agreement |
US6591364B1 (en) * | 1998-08-28 | 2003-07-08 | Lucent Technologies Inc. | Method for establishing session key agreement |
JP2000076787A (ja) * | 1998-09-02 | 2000-03-14 | Sony Corp | 情報記録再生装置および方法、並びに提供媒体 |
FI981902A (fi) * | 1998-09-04 | 2000-03-05 | Sonera Oyj | Turvamoduuli, turvajärjestelmä ja matkaviestin |
US6119108A (en) * | 1998-10-01 | 2000-09-12 | Aires Systems Corporation | Secure electronic publishing system |
SG77270A1 (en) * | 1998-10-16 | 2000-12-19 | Matsushita Electric Ind Co Ltd | Digital content protection system |
US6728880B1 (en) * | 1999-09-17 | 2004-04-27 | Adobe Systems Incorporated | Secure time on computers with insecure clocks |
-
2000
- 2000-03-28 TW TW089105729A patent/TW518497B/zh not_active IP Right Cessation
- 2000-03-30 US US09/701,084 patent/US7237112B1/en not_active Expired - Fee Related
- 2000-03-30 KR KR1020007013414A patent/KR100756076B1/ko not_active IP Right Cessation
- 2000-03-30 SG SG200202360A patent/SG116447A1/en unknown
- 2000-03-30 AU AU34566/00A patent/AU773975B2/en not_active Ceased
- 2000-03-30 KR KR1020077007169A patent/KR100862371B1/ko not_active IP Right Cessation
- 2000-03-30 EP EP00912991A patent/EP1087291A4/en not_active Ceased
- 2000-03-30 CA CA002333642A patent/CA2333642A1/en not_active Abandoned
- 2000-03-30 CN CNB00800997XA patent/CN1249571C/zh not_active Expired - Fee Related
- 2000-03-30 WO PCT/JP2000/002041 patent/WO2000058827A1/ja active IP Right Grant
-
2007
- 2007-04-18 US US11/736,605 patent/US7958366B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0148300B1 (ko) * | 1994-07-29 | 1998-08-17 | 미따라이 하지메 | 복수의 정보 처리 장치를 구비하는 통신 시스템에서 비밀 정보의 분산, 디지탈 서명의 생성 및 인증의 수행 방법과 그 통신 시스템 |
KR970049735A (ko) * | 1995-12-11 | 1997-07-29 | 포만 제프리 엘 | 상호 인증을 개선하는 방법 및 장치와, 컴퓨터 판독가능한 프로그램 제품 |
KR100500976B1 (ko) * | 1996-06-28 | 2005-12-06 | 소니 가부시끼 가이샤 | 인증방법,통신방법및정보처리장치 |
KR19980033368A (ko) * | 1996-10-31 | 1998-07-25 | 모리시다요이치 | 인증 함수를 변경할 수 있는 기기 인증 시스템 |
KR19980079682A (ko) * | 1997-03-28 | 1998-11-25 | 포맨 제프리 엘 | 인터넷을 통한 경보안 통신 터널링 방법 및 그 장치 |
KR19990013450A (ko) * | 1997-07-24 | 1999-02-25 | 니시무로타이조 | 정보 기록 매체에 기록되어 있는 정보를 재생하는 정보 재생장치, 인증 처리를 하는 인증 장치, 제1 장치와 복수의 제2장치 사이에서 상호 인증을 행함으로써 정보를 전송하는 정보처리 시스템 |
KR100293174B1 (ko) * | 1998-05-27 | 2001-07-12 | 이종인 | 전화기의다주파부호(mfc)톤다이얼신호보안방법및장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20010043903A (ko) | 2001-05-25 |
WO2000058827A1 (fr) | 2000-10-05 |
KR100756076B1 (ko) | 2007-09-07 |
TW518497B (en) | 2003-01-21 |
US7958366B2 (en) | 2011-06-07 |
AU773975B2 (en) | 2004-06-10 |
US20070192603A1 (en) | 2007-08-16 |
AU3456600A (en) | 2000-10-16 |
EP1087291A4 (en) | 2008-10-08 |
SG116447A1 (en) | 2005-11-28 |
CA2333642A1 (en) | 2000-10-05 |
US7237112B1 (en) | 2007-06-26 |
CN1310817A (zh) | 2001-08-29 |
CN1249571C (zh) | 2006-04-05 |
EP1087291A1 (en) | 2001-03-28 |
KR20070053792A (ko) | 2007-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100862371B1 (ko) | 정보처리 시스템 | |
KR100632495B1 (ko) | 정보처리장치 및 방법과 프로그램 격납매체 | |
KR100654879B1 (ko) | 정보 처리 장치 및 방법, 및 프로그램 저장 매체 | |
US7266691B1 (en) | Contents providing system | |
KR100633588B1 (ko) | 반도체 ic, 정보처리방법, 정보처리장치 및 프로그램 기록매체 | |
JP4568933B2 (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP4556277B2 (ja) | 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体 | |
JP2000305846A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000347852A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP4379653B2 (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP4304819B2 (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP4300442B2 (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000348105A (ja) | 情報提供装置および方法、並びにプログラム格納媒体 | |
JP2000349751A (ja) | 情報処理装置および方法、認証方法、並びにプログラム格納媒体 | |
JP2000306006A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000347851A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000347847A (ja) | 情報処理装置および方法、半導体ic、情報処理システム、並びにプログラム格納媒体 | |
JP2000347848A (ja) | 半導体ic、情報処理方法、情報処理装置、並びにプログラム格納媒体 | |
JP2000305855A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000347850A (ja) | 情報処理装置および方法、並びにプログラム格納媒体 | |
JP2000347849A (ja) | 情報提供装置および方法、並びにプログラム格納媒体 | |
MXPA00011785A (en) | Information processing system | |
AU2003262490A1 (en) | Information processing system | |
JP2000307568A (ja) | 半導体ic、情報処理方法、情報処理装置、並びにプログラム格納媒体 | |
AU2003257706A1 (en) | Information processing apparatus and method, and program storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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 |