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

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

Info

Publication number
KR20010014982A
KR20010014982A KR1020000029219A KR20000029219A KR20010014982A KR 20010014982 A KR20010014982 A KR 20010014982A KR 1020000029219 A KR1020000029219 A KR 1020000029219A KR 20000029219 A KR20000029219 A KR 20000029219A KR 20010014982 A KR20010014982 A KR 20010014982A
Authority
KR
South Korea
Prior art keywords
content
program
data
information
stored
Prior art date
Application number
KR1020000029219A
Other languages
English (en)
Other versions
KR100711171B1 (ko
Inventor
이시구로류지
오까우에다꾸미
오오이시다떼오
Original Assignee
이데이 노부유끼
소니 가부시끼 가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이데이 노부유끼, 소니 가부시끼 가이샤 filed Critical 이데이 노부유끼
Publication of KR20010014982A publication Critical patent/KR20010014982A/ko
Application granted granted Critical
Publication of KR100711171B1 publication Critical patent/KR100711171B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • G11B20/00333Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being stored in header data, e.g. in sector headers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00666Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of erasing or nullifying data, e.g. data being overwritten with a random string
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0071Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a purchase action
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00789Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of functional copies, which can be accessed at a time, e.g. electronic bookshelf concept, virtual library, video rentals or check-in/check out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1883Methods for assignment of alternate areas for defective areas
    • G11B20/1889Methods for assignment of alternate areas for defective areas with discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Abstract

컨텐트가 플래쉬 메모리로부터 컨텐트 데이터 베이스로 이동될 때, 사용 규칙 관리 프로그램은 플래쉬 메모리에 저장된 매체 결함 리스트(media defect list)의 0번째 결함 블록(defect block)에 저장되어 있는 변수(seq-1)를 새로운 값(se1-2)으로 갱신한다. 사용 규칙 관리 프로그램은 플래쉬 메모리의 데이터부에 저장되어 있는 컨텐트와, 암호화된 암호화키와, 변수(seq#)를 포함하는 중요 정보에 의거하여 MAC 값(해쉬(hash)값)을 연산한다. 사용 규칙 관리 프로그램은 그리고나서 이 연산된 값을 플래쉬 메모리의 헤더부에 저장되어 있는 MAC 값과 비교한다. 이 두 값이 동일하지 않으면, 사용 규칙 관리 프로그램은 컨텐트의 재생을 할 수 없게 하고 따라서 컨텐트가 비인증 방식으로 복제되는 것을 방지한다.

Description

정보 처리 장치, 정보 처리 방법, 및 프로그램 저장 매체{INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND PROGRAM STORAGE MEDIUM}
본 발명은 정보 처리 장치, 정보 처리 방법, 및 프로그램 저장 매체에 관한 것으로, 더욱 특히, 데이터가 권원없이 변경(temper)되거나 또는 카피되는 것을 방지하는 것이 가능한, 정보 처리 장치, 정보 처리 방법, 및 프로그램 저장 매체에 관한 것이다.
디지털 기술은 매우 대중적이 되었다. 그 결과, 음악 데이터 및 이미지 데이터와 같은 다양한 타입의 컨텐트 데이터는 디지털로 기록되며 저장 매체 상에 또는 저장 매체로부터 재생된다. 이는 이미지 또는 사운드 품질의 열화를 초래하는 일 없이 여러번 컨텐트 데이터를 카피하는 것이 가능하게 한다.
그러나, 디지털 기술에서의 진보는 다음의 문제를 가져온다.
1. 예컨데, 디지털 음악 데이터는 컴팩트 디스크(CD)로부터 퍼스널 컴퓨터의 하드 디스크로 카피될 수 있다. 이 경우, CD 상에 기록된 음악 데이터는 하드 디스크 상에 직접 기록되거나 또는 압축된 후 기록된다. 이는 인터넷과 같은 네트워크를 통해 많은 수의 카피를 퍼트리는 것이 가능하게 한다.
2. 디지털 음악 데이터가 CD로부터 퍼스널 컴퓨터의 하드 디스크로 카피되는 횟수의 최대 수에는 제한이 없다. 이는 많은 수의 카피를 퍼트리는 것이 가능하게 한다.
3. 퍼스널 컴퓨터의 하드 디스크 상에 기록된 디지털 음악 데이터가 휴대 장치와 같은 외부 디바이스로 카피될 때, 원래의 음악 데이터는 카피를 실행한 후 하드 디스크 상에 남아있게 된다. 이는 많은 수의 카피를 퍼트리는 것이 가능하게 한다.
4. 3에 개시된 문제는 퍼스널 컴퓨터가, 하드 디스크 상에 저장된 디지털 음악 데이터와 같은 데이터가 외부 디바이스로 전달된 후(즉, 음악 데이터가 이동된 후) 그 데이터가 삭제되도록 소프트웨어에 의해서 제어된다. 그러나, 이 경우, 원래의 데이터는 데이터를 이동하여 하드 디스크 상에 백업 데이터를 재저장하기 전에 하드 디스크 사에 저장된 데이터의 백업 카피를 다른 저장 매체 상에 행함으로써 하드 디스크 상에 남아있을 수 있다.
5. 컴퓨터의 하드 디스크 상에 기록된 디지털 음악 데이터가 휴대 장치와 같은 외부 디바이스에 카피될 때, 퍼스널 컴퓨터는 외부 디바이스의 인증을 체크하지 않는다. 이는 디지털 음악 데이터를 비인증 디바이스에 카피하는 것이 가능하게 한다.
6. 디지털 음악 데이터가 휴대 장치와 같은 외부 디바이스로부터 퍼스널 컴퓨터로 카피될 때, 외부 디바이스는 퍼스널 컴퓨터를 제어하는 소프트웨어의 인증을 체크하지 않는다. 이는 디지털 음악 데이터가 비인증 소프트웨어를 사용하는 퍼스널 컴퓨터로 카피되는 것이 가능하게 한다.
7. 몇몇 경우에 있어서, 음악 데이터가 CD로부터 퍼스널 컴퓨터에 의해 재생될 때, 음악 데이터에 포함되는 ISRC(International Standard Recording Code)는 복수의 컨텐트가 동일한지 여부를 결정하기 위하여 퍼스널 컴퓨터에 의하여 사용된다. 그러나, 몇몇 CD는 ISRC 데이터를 포한하지 않는다. 이 경우, 복수의 컨텐트가 동일한지 여부를 결정하는 것이 불가능하다.
8. 상술한 다양한 기능은 소프트웨어에 의하여 퍼스널 컴퓨터 상에서 실현된다. 따라서, 소프트웨어가 템퍼되는 경우, 시스템 설계자에 의하여 의도되는 방식과 다른 방식으로 컴퓨터를 동작시키는 것이 가능하게 된다.
상술한 관점에서, 본 발명의 목적은 하드 디스크 상에 저장된 컨텐트 데이터가 비인증 방식으로 템퍼 또는 카피되는 것을 방지하기 위한 기술을 제공하는 것이다.
본 발명의 일면에 따르면, 암호화 키로 암호화된 컨텐트 데이터를 저장하기 위한 저장 수단; 저장 수단에 저장된 컨텐트 데이터와 연관된 관리 정보를 유지하기 위한 유지 수단; 소정의 타이밍으로 갱신되는 갱신 정보를 포함하며 관리 정보에 포함되는 연산 정보 및 암호화 키를 기초로 하여 소정의 연산을 수행하기 위한 연산 수단; 연산 수단에 의해 수행된 연산의 결과를 저장하기 위한 메모리 수단; 및 연산 수단에 의해 수행된 연산의 결과와 메모리 수단에 저장된 이전 연산 결과를 비교하며, 비교 결과에 따라 저장 수단에 저장된 컨텐트 데이터의 사용을 제어하기 위한 제어 수단을 포함하는 정보 처리 장치가 제공된다. 바람직하게, 연산 수단은 해쉬(hash) 기능을 연산 정보 및 암호화 키에 더함으로써 연산을 수행한다.
바람직하게, 컨텐트 데이터는 음악 데이터를 포함하며, 연산 정보는 음악 데이터를 식별하는 식별 정보를 포함하며, 유지 수단은 범용으로 판독 또는 기록이 허용되지 않는 영역에서 갱신 정보를 유지한다.
본 발명의 다른 면에 따르면, 암호화 키로 암호화된 컨텐트 데이터를 저장하는 단계; 저장 단계에 저장된 컨텐트 데이터와 연관된 관리 정보를 유지하는 단계; 소정의 타이밍으로 갱신되는 갱신 정보를 포함하며 관리 정보에 포함되는 연산 정보 및 암호화 키를 기초로 하여 소정의 연산을 수행하는 단계; 연산 수단에 의해 수행된 연산의 결과를 메모리하는 단계; 및 연산 단계에 의해 수행된 연산의 결과와 메모리 단계에 저장된 이전 연산 결과를 비교하며, 비교 결과에 따라 저장 단계에 저장된 컨텐트 데이터의 사용을 제어하는 단계를 포함하는 정보 처리 방법이 제공된다.
본 발명의 또 다른 면에 따르면, 프로그램이 저장되는 프로그램 저장 매체가 제공되는데, 여기서 프로그램은, 암호화 키를 가지며 암호화된 컨텐트 데이터를 저장하는 단계; 저장 단계에 저장된 컨텐트 데이터와 연관된 관리 정보를 유지하는 단계; 소정의 타이밍으로 갱신되는 갱신 정보를 포함하며 관리 정보에 포함되는 연산 정보 및 암호화 키를 기초로 하여 소정의 연산을 수행하는 단계; 연산 수단에 의해 수행된 연산의 결과를 메모리하는 단계; 및 연산 단계에 의해 수행된 연산의 결과와 메모리 단계에 저장된 이전 연산 결과를 비교하며, 비교 결과에 따라 저장 단계에 저장된 컨텐트 데이터의 사용을 제어하는 단계를 포함한다.
상술한 바와 같이, 본 발명에 따르는 정보 처리 장치, 정보 처리 방법, 및 프로그램 저장 매체에 저장된 프로그램에 있어서, 연산 정보 및 암호화 키를 기초로 하여 수행되는 연산의 결과는 이전 연산 결과와 비교되고, 저장된 컨텐트 데이터의 사용은 비교 결과에 따라 제어된다.
도 1은 본 발명에 따르는 컨텐트 데이터 관리 시스템의 실시예를 예시하는 개요도.
도 2는 도 1에 도시된 퍼스널 컴퓨터의 구성을 예시하는 개요도.
도 3은 도 1에 도시된 휴대 장치의 구성을 예시하는 개요도.
도 4는 도 1에 도시된 퍼스널 컴퓨터의 기능을 예시하는 블럭도.
도 5는 컨텐트 파일을 예시하는 개요도.
도 6은 도 1에 도시된 휴대 장치로부터의 컨텐트를 도 1에 도시된 퍼스널 컴퓨터에 출력하는 프로세스를 예시하는 플로우 챠트.
도 7은 도 6에 도시된 프로세스 동안에 수행되는 도 3에 도시된 플래쉬 메모리의 동작을 예시하는 개요도.
도 8은 매체 결함 리스트를 예시하는 개요도.
도 9는 휴대 장치로부터 도 2에 도시된 HDD까지의 데이터의 이동 프로세스를 예시하는 플로우 챠트.
도 10은 도 9에 도시된 프로세스 동안 수행된 플래쉬 메모리의 동작을 예시하는 개요도.
〈도면의 주요 부분에 대한 부호의 설명〉
1: 퍼스널 컴퓨터
2: 입력부
3: 디스플레이
4: 인터넷
5: EMD 서버
6: 메모리 스틱 워크맨
7: 어댑터
12: CPU
13: 메모리
14: CD-ROM 드라이버
15: 하드 디스크
16: 음성 입출력 인터페이스
16a: IEC 60958 단자
22: 제어부
23-1,23-2: 불휘발성 메모리
32: CPU
도 1은 본 발명에 따르는 컨텐트 데이터 관리 시스템의 실시예를 예시하는 개요도이다. 퍼스널 컴퓨터(1)는 국부 영역 네트워크 또는 인터넷과 같은 네트워트(2)에 연결된다. 퍼스널 컴퓨터(1)가 EMD(electrical music distribution) 서버(4-1 내지 4-3)의 임의의 하나로부터 음악 데이터(이하, 컨텐트라 표현됨)를 수신하거나 또는 후술될 CD를 형성하는 경우, 퍼스널 컴퓨터(1)는 소정의 압축 방법(예컨데, ATRAC-3(상표))과 DES(Data Encryption Standard)와 같은 암호화 방법에 따라 수신된 데이터를 압축하고 암호화한 후 수신된 데이터를 저장한다.
퍼스널 컴퓨터(1)는 또한 암호화 형태로 저장된 컨텐트를 사용하는 규칙을 나타내는 데이터를 저장한다.
사용 규칙 데이터는 예컨데 이와 같은 사용 규칙 데이터(즉, 체크 아웃되도록 허용되는 휴대 장치(PD)의 수)에 대응하는 컨텐트를 동시에 사용하도록 허용되는 PD의 수를 나타낸다. 퍼스널 컴퓨터(1)는 체크 아웃된 PD의 수가 사용 규칙 데이터에 의해 특정된 수 이하이기만 하다면 컨텐트를 재생할 수 있다.
사용 규칙 데이터는 또한 컨텐트가 카피되도록 허용되는 것을 나타낸다. 즉, 컨텐트가 휴대 장치(6-1 내지 6-3)중 임의의 하나에 카피될 때에도, 퍼스널 컴퓨터(91)는 저장된 컨텐트를 재생할 수 있다. 컨텐트가 휴대 장치(6-1 내지 6-3)에 카피되도록 허용되는 최대 횟수는 특정될 수 있다. 이 경우, 컨텐트는 특정 회수 보다 큰 수로 카피될 수 없다.
사용 규칙 데이터는 또한 컨텐트가 다른 퍼스널 컴퓨터로 이동되도록 허용되는 것을 나타낸다. 컨텐트가 임의의 휴대 장치(6-1 내지 6-3)로 이동된다면, 퍼스널 컴퓨터(1)에 저장된 컨텐트는 사용불가 된다(컨텐트는 삭제되거나 또는 사용 규칙 데이터는 컨텐트의 사용이 디스에이블(disable)되도록 변경된다).
사용 규칙 데이터의 상세는 후술된다.
암호화된 형태로 저장된 컨텐트가 퍼스널 컴퓨터(1)로부터 관련된 데이터(컨텐트 타이틀 및 재생 조건을 나타내는)와 함께 USB(universal serial bus)(7-1)를 통해 휴대 장치(6-1)로 카피될 때, 카피된 컨텐트와 연관된 사용 규칙 데이터는 갱신된다(즉, 체크 아웃된다). 더욱 특히, 컨텐트가 체크 아웃될 때, 체크 아웃 컨텐트에 대응하는 최대 허용가능한 체크 아웃 수의 관점에서 퍼스널 컴퓨터(1)에 저장된 사용 규칙 데이터는 1만큼 감분된다. 최대 허용가능한 체크 아웃 수가 0과 동일한 경우, 대응하는 컨텐트는 더 이상 체크 아웃되도록 허용되지 않는다.
퍼스널 컴퓨터(1)에서 암호화 형태로 저장된 컨텐트는 연관된 데이터를 USB 케이블(7-2)를 통해 휴대 장치(6-2)로 또한 카피할 수 있다. 이 경우, 휴대 장치(6-2)에 카피된 컨텐트와 연관된 사용 규칙 데이터는 갱신된다. 유사하게, 퍼스널 컴퓨터(1)에서 암호화 형태로 저장된 컨텐트는 연관된 데이터를 USB 케이블(6-3)을 통해 휴대 장치(6-3)에 함께 카피된다. 휴대 장치(6-3)에 카피된 컨텐트와 연관된 데이터는 갱신된다.
퍼스널 컴퓨터(1)는 체크-아웃된 컨텐트를 삭제하라는(또는 사용을 디스에이블시키라는) 명령을 USB 케이블(7-1)을 통해서 휴대 장치(6-1)에 송신하기도 한다. 이 경우에는, 삭제된 컨텐트와 관련된 사용 규칙 데이터가 갱신된다(즉, 체크-인 된다). 특히, 컨텐트가 체크-인 될 때, 체크-인 된 컨텐트에 대응하는 최대 허용가능 체크-아웃 수에 의해서 퍼스널 컴퓨터(1)에 저장된 사용 규칙은 1씩 증가된다.
퍼스널 컴퓨터(1)는 또한 체크-아웃된 컨텐트를 삭제하라는(또는 사용을 디스에이블시키라는) 명령을 USB 케이블(7-2)을 통해서 휴대 장치(6-2)에 송신하기도 한다. 이 경우에는, 삭제된 컨텐트와 관련된 사용 규칙 데이터가 갱신된다. 유사하게, 퍼스널 컴퓨터(1)는 또한 체크-아웃된 컨텐트를 삭제하라는(또는 사용을 디스에이블시키라는) 명령을 USB 케이블(7-3)을 통해서 휴대 장치(6-3)에 송신하고, 삭제된 컨텐트와 관련된 사용 규칙 데이터가 갱신되기도 한다.
휴대 장치(6-1)가 퍼스널 컴퓨터(1) 이외의 또 다른 퍼스널 컴퓨터(도 1에 도시되지 않음)로부터 컨텐트를 체크-아웃한 경우에, 그 컨텐트는 퍼스널 컴퓨터(1)로 체크-인 될 수 없다. 유사하게, 휴대 장치(6-2)가 퍼스널 컴퓨터(1) 이외의 또 다른 퍼스널 컴퓨터로부터 컨텐트를 체크-아웃한 경우에, 그 컨텐트는 퍼스널 컴퓨터(1)로 체크-인 될 수 없다. 또한, 휴대 장치(6-3)가 퍼스널 컴퓨터(1) 이외의 또 다른 퍼스널 컴퓨터로부터 컨텐트를 체크-아웃한 경우에, 그 컨텐트는 퍼스널 컴퓨터(1)로 체크-인 될 수 없다.
퍼스널 컴퓨터(1)가 EMD 서버(4-1 내지 4-3)들 중 하나로부터 컨텐트를 얻기 시작할 때, 퍼스널 컴퓨터(1)는 퍼스널 컴퓨터(1)와 EMD 서버(4-1 내지 4-3)들 중 하나 간의 상호 인증을 위해서 요구되는 인증키를 EMD 등록 서버(3)가 전송할 것을 요청한다. 퍼스널 컴퓨터(1)로부터의 요청에 응답하여, EMD 등록 서버(3)는 네트워크(2)를 통해서 퍼스널 컴퓨터(1)로 인증키를 전송한다. EMD 등록 서버(3)는 또한 EMD 서버(4-1 내지 4-3)들 중 하나와 접속하기 위해 요구되는 프로그램을 퍼스널 컴퓨터(1)로 전송한다.
EMD 서버(4-1)가 퍼스널 컴퓨터(1)로부터의 요청을 수신하면, EMD 서버(4-1)는 요청된 컨텐트를 관련 데이터(예를 들어, 타이틀 및 재생에서의 제한 등을 나타냄)와 함께 네트워크(2)를 통해서 퍼스널 컴퓨터(1)에 공급한다. 유사하게, EMD 서버(4-2)가 퍼스널 컴퓨터(1)로부터의 요청을 수신하면, EMD 서버(4-2)는 요청된 컨텐트를 관련 데이터와 함께 네트워크(2)를 통해서 퍼스널 컴퓨터(1)에 공급한다. 또한, EMD 서버(4-3)가 퍼스널 컴퓨터(1)로부터의 요청을 수신하면, EMD 서버(4-3)는 관련 데이터와 함께 요청된 컨텐트를 네트워크(2)를 통해서 퍼스널 컴퓨터(1)에 공급한다.
각각의 EMD 서버(4-1 내지 4-3)들로부터 공급된 컨텐트는 동일한 또는 서로 다른 압축 방법에 따라서 압축된다. 각각의 EMD 서버(4-1 내지 4-3)들로부터의 컨텐트는 동일한 또는 서로 다른 암호화 방법(encryption method)에 따라서 암호화된다.
월드 와이드 웹(World Wide Web; 이하 'WWW'라 함) 서버(5-1)가 퍼스널 컴퓨터(1)로부터의 요청을 수신하면, WWW 서버(5-1)는 컨텐트가 판독된 CD와 관련된 정보(예를 들어, 앨범 타이틀 및 CD 제작자 등에 관한 정보)를 나타내는 데이터 및 그 컨텐트와 관련된 정보(예를 들어, 컨텐트 타이틀 및 작곡자 이름 등에 관한 정보)를 나타내는 데이터를 네트워크(2)를 통해서 퍼스널 컴퓨터(1)로 전송한다. WWW 서버(5-2)가 퍼스널 컴퓨터(1)로부터의 요청을 수신하면, WWW 서버(5-2)는 컨텐트가 판독된 CD와 관련된 정보를 나타내는 데이터 및 그 컨텐트와 관련된 정보를 나타내는 데이터를 네트워크(2)를 통해서 퍼스널 컴퓨터(1)로 전송한다.
휴대 장치(6-1)는 퍼스널 컴퓨터(1)로부터 공급된 컨텐트(즉, 체크-아웃된 컨텐트)를 관련 데이터(예를 들어, 타이틀 및/또는 재생에서의 제한 등을 나타내는 데이터)와 함께 저장한다. 컨텐트와 관련된 데이터에 따라서, 휴대 장치(6-1)는 그 속에 저장된 컨텐트를 재생하고 이것을 헤드폰 등(도시되지 않음)에 출력한다
예를 들어, 컨텐트가 그 컨텐트와 관련된 데이터에 의해서 특정화된 최대 허용가능 수의 횟수보다 큰 횟수로 재생되려고 시도된다면, 휴대 장치(6-1)는 그 컨텐트의 재생을 종료한다. 컨텐트가 그 컨텐트와 관련된 데이터에 의해서 특정화된 소멸일 이후에 재생되려고 시도된다면, 휴대 장치(6-1)는 그 컨텐트를 재생하지 않는다.
사용자는 컨텐트가 저장된 휴대 장치(6-1)를 퍼스널 컴퓨터로부터 제거하기도 하고, 저장된 컨텐트를 재생하여 헤드폰 등을 통해서 컨텐트에 대응하는 음악을 듣기 위해서 휴대하기도 한다.
유사하게, 휴대 장치(6-2)는 퍼스널 컴퓨터(1)로부터 공급된 컨텐트를 관련 데이터와 함께 저장한다. 컨텐트와 관련된 데이터에 따라서, 휴대 장치(6-2)는 저장된 컨텐트를 재생하고 이것을 헤드폰 등(도시되지 않음)으로 출력한다. 사용자는 컨텐트가 저장된 휴대 장치(6-2)를 퍼스널 컴퓨터(1)로부터 제거하기도 하고, 컨텐트를 재생하여 헤드폰 등을 통해서 컨텐트에 대응하는 음악을 듣기 위해서 휴대하기도 한다.
유사하게, 휴대 장치(6-3)는 퍼스널 컴퓨터(1)로부터 공급된 컨텐트를 관련 데이터와 함께 저장한다. 컨텐트와 관련된 데이터에 따라서, 휴대 장치(6-3)는 저장된 컨텐트를 재생하고 이것을 헤드폰 등(도시되지 않음)에 출력한다. 사용자는 컨텐트가 저장된 휴대 장치(6-3)를 퍼스널 컴퓨터(1)로부터 제거하기도 하고, 컨텐트를 재생하여 헤드폰 등을 통해서 컨텐트에 대응하는 음악을 듣기 위해서 휴대하기도 한다.
이하의 논의에서는, 특별한 하나로 특정화하지 않고서 휴대 장치(6-1 내지 6-3)들 중 하나가 설명되는 경우에, 간단히 휴대 장치(6)로 나타낸다.
도 2는 휴대용 컴퓨터(1)의 구성을 도시한다. 중앙 처리 유닛(11)(이하, 'CPU'라 함)은 다양한 어플리케이션 프로그램(이하, 상세히 설명될 것임) 및 운영 시스템(이하, 'OS'라 함)을 실행한다. 리드 온리 메모리(12)(이하, 'ROM'이라 함)는 프로그램의 고정된 부분 및/또는 CPU(11)에 의해서 사용되는 고정된 파라미터를 저장한다. 랜덤 액세스 메모리(13)(이하, 'RAM'이라 함)는 CPU(11)에 의해서 실행되는 프로그램 및/또는 프로그램의 실행동안 변화하는 파라미터를 저장한다. 이러한 소자들은 CPU 버스 등과 같은 호스트 버스(14)를 통해서 상호 접속된다.
호스트 버스(14)는 브리지(15)를 통해서 PCI(Peripheral Component Interconnect/Interface) 버스 등과 같은 외부 버스(16)에 접속된다.
키보드(18)는 사용자가 CPU(11)에 다양한 명령들을 입력하기 위해서 사용된다. 마우스(19)는 사용자가 디스플레이(20)의 스크린 상에 일 지점을 지정 또는 선택하기 위해서 사용된다. 디스플레이(20)는 액정 디스플레이 또는 음극선관(이하, 'CRT'라 함) 디스플레이일 수 있고, 이것은 다양한 종류의 정보를 텍스트 또는 이미지의 형태로 디스플레이하는 기능을 한다. 하드 디스크 드라이브(21)(이하, 'HDD'라 함)는 CPU(11)에 의해서 실행되는 프로그램 또는 기타 정보를 기록 또는 재생하기 위해서 하드 디스크를 구동한다.
드라이브(22)는 드라이브(22) 상에 탑재된 자기 디스크(41), (CD와 같은)광 디스크(42), 자기광 디스크(43), 또는 반도체 메모리(44)로부터 데이터 또는 프로그램을 판독하고, 결과적인 데이터 또는 프로그램을 인터페이스(17), 외부 버스(16), 브리지(15), 및 호스트 버스(14)를 통해서 RAM(13)에 공급한다.
USB 포트(23-1)는 USB 케이블(7-1)을 통해서 휴대 장치(6-1)에 접속된다. USB 포트(23-1)는 HDD(21), CPU(11), 또는 RAM(13)으로부터 공급되는 데이터(컨텐트 또는 휴대 장치(6-1)로의 명령 등)를 인터페이스(17), 외부 버스(16), 브리지(15), 및/또는 호스트 버스(14)를 통해서 휴대 장치(6-1)에 출력한다.
USB 포트(23-2)는 USB 케이블(7-2)을 통해서 휴대 장치(6-2)에 접속된다. USB 포트(23-2)는 HDD(21), CPU(11), 또는 RAM(13)으로부터 공급되는 데이터(컨텐트 또는 휴대 장치(6-2)로의 명령 등)를 인터페이스(17), 외부 버스(16), 브리지(15), 및/또는 호스트 버스(14)를 통해서 휴대 장치(6-2)에 출력한다.
USB 포트(23-3)는 USB 케이블(7-3)을 통해서 휴대 장치(6-3)에 접속된다. USB 포트(23-3)는 HDD(21), CPU(11), 또는 RAM(13)으로부터 공급되는 데이터(컨텐트 또는 휴대 장치(6-3)로의 명령 등)를 인터페이스(17), 외부 버스(16), 브리지(15), 및/또는 호스트 버스(14)를 통해서 휴대 장치(6-3)에 출력한다.
오디오 입력/출력 인터페이스(24)는 IEC(International Electrotechnical Commission)-60598 단자(24a)를 구비하고 디지털 오디오 데이터 또는 아날로그 오디오 데이터를 입력/출력하기 위한 인터페이싱 프로세스를 실행한다. 스피커(45)는 오디오 입력/출력 인터페이스(24)를 통해서 공급된 오디오 신호에 따르는 컨텐트에 대응하는 음성/사운드를 발생한다.
키보드(18)에서부터 오디오 입력/출력 인터페이스(24)까지 이르는 상술된 부분들은 외부 버스(16), 브리지(15), 및 호스트 버스(14)를 통해서 CPU(11)에 접속되는 인터페이스(17)에 접속된다.
통신 기기(25)는 CPU(11) 또는 HDD(21)로부터 공급되는 데이터(등록 요청 또는 컨텐트 전송 요청 등)가 네트워크(2)를 통해서 패킷의 형태로 전송되도록 네트워크(2)에 접속된다. 통신 기기(25)는 또한 데이터(인증키 또는 컨텐트 등)를 패킷의 형태로 수신하고 수신된 데이터를 CPU(11), RAM(13), 또는 HDD(21)로 공급하기 위해서 사용된다.
어댑터(26)는 일반적으로 반도체 집적회로의 형태로 구성된 CPU(32)를 구비한다. 어댑터(26)가 퍼스널 컴퓨터(1)에 장착될 때, CPU(32)는 다양한 프로세스를 실행하기 위해서 외부 버스(16), 브리지(15), 및 호스트 버스(14)를 통해서 CPU(11)와 함께 작동한다. RAM(33)은 CPU(32)가 다양한 프로세스를 실행하기 위해서 요구되는 데이터 또는 프로그램을 저장하기 위해서 사용된다. 비휘발성 메모리(34)는 퍼스널 컴퓨터(1)의 전력이 턴-오프 된 후 유지될 필요가 있는 데이터를 저장한다. ROM(36)은 퍼스널 컴퓨터(1)로부터 수신된 암호화된 프로그램을 복호화하기 위한 프로그램을 저장한다. 실시간 클럭(35)(이하, 'RTC'라 함)은 클럭킹 동작을 수행하고 시간 정보를 공급한다.
통신 기기(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)로부터 전원 전압을 수신하고 이것을 소정 전압을 갖는 내부 전력으로 변환한다. 그 결과인 전력은 전체 휴대 장치(6)에 걸쳐 CPU(53)로부터 디스플레이(67)까지의 다양한 부분들에 공급된다.
USB 제어기(57)가 USB 커넥터(56) 및 USB 케이블(7)을 통해서 퍼스널 컴퓨터에 접속될 때, USB 제어기(57)가 퍼스널 컴퓨터(1)로부터의 컨텐트 등과 같은 데이터를 수신하면, USB 제어기(57)는 이것을 내부 버스(58)을 통해서 CPU(53)로 전송한다.
퍼스널 컴퓨터(1)로부터 전송된 데이터는 각각 64 바이트를 포함하는 패킷의 형태이고, 이 데이터는 12 Mbits/sec의 속도로 전송된다. 휴대 장치(6)으로 전송되는 데이터는 헤더 및 컨텐트(이하 상세히 설명될 것임)로 형성된다.
휴대 장치(6)가 퍼스널 컴퓨터(1)로부터의 컨텐트와 함께 컨텐트 기록 명령을 수신하면, CPU(53)는 퍼스널 컴퓨터(1)로부터 수신된 컨텐트를 기록 명령에 따라서 플래쉬 메모리(61)로 기록하기 위해서 플래쉬 메모리 제어기(60)를 ROM(55)으로부터 RAM(54)으로 로드된 메인 프로그램의 제어하에 제어한다.
플래쉬 메모리는 컨텐트를 저장하기에 유용한 약 64 메가바이트의 기억 용량을 갖는다. 플래쉬 메모리(61)는 소정의 방법에 따라 압축 컨텐트를 해제하기 위한 재생 코드를 포함한다.
플래쉬 메모리(61)는 휴대 장치(6)로부터 제거될 수 있는 메모리 카드의 형태로 구성된다.
만약 사용자가 재생/정지 버턴(도시되지 않음)을 누르고, 그 결과로서 만약 재생 커맨드가 커맨드 키 제어기(62)를 통해 CPU(53)에 공급되면, CPU(53)는 플래쉬 메모리(61)로부터 재생 코드 및 컨텐트를 판독하고 이를 DSP(59)에 전달하도록 플래쉬 메모리 제어기(60)를 제어한다.
플래쉬 메모리(61)로부터 수신된 재생 코드에 따라, DSP(59)는 컨텐트에 대해 CRC(사이클 리던던시 검사) 에러 검출 동작을 수행하고, 이를 재생한다. 재생 데이타(도 3의 D1으로 도시됨)는 디지털-아날로그 변환기(63)에 공급된다.
DSP(59)는 외부 석영 공진기를 포함하는 발진기(59A)와 결합된 내부 발진기 회로에 의해 발생된 마스터 클럭 MCLK에 동기하여 컨텐트를 재생한다. 마스터 클럭 MCLK, 마스트 클럭 MCLK에 기초하여 내부 발진기 회로에 의해 발생된 선정 주파수를 갖는 비트 클럭 BCLK, 프레임 간격에 대응하는 주기를 갖는 L-채널 클럭 LCLK 및 R-채널 클럭 RCLK를 포함하는 동작 클럭 LRCLK를 디지털-아날로그 변환기(63)에 공급한다.
DSP(59)는 컨텐트가 재생될 때 재생 코드에 따라 디지털-아날로그 변환기에 상술한 동작 클럭을 공급한다. 그러나, 어떠한 컨텐트도 재생되지 않을 때, DSP(50)는 재생 코드에 따라 동작 클럭의 공급을 중지하고, 이로서 휴대 장치(6)의 총 전력 소모를 줄이기 위해 디지털-아날로그 변환기(63)의 동작을 중지한다.
유사하게, CPU(53) 및 USB 제어기(57)는 각각이 석영 공진기를 포함하는 외부 발진기(53A 및 57A)를 각각 가지며, 발진기(53A 및 57A)로부터 공급된 마스터 클럭 MCLK에 따라 다양한 동작을 수행한다.
휴대 장치(6)를 상술한 방식으로 형성함으로써, 휴대 장치는 CPU(53), DSP(59), 및 USB 제어기(57)와 같은 회로 블럭에 클럭을 공급하기 위한 클럭 발생 모듈를 포함할 필요가 있게 된다. 이는 결국 회로 구성이 간단하게 되고 또한 사이즈가 줄어든다.
디지털-아날로그 변환기(63)는 재생 컨텐트를 아날로그 오디오 신호로 변환하여 증폭기(64)에 상기 신호를 공급한다. 증폭기(64)는 오디오 신호를 증폭하여 증폭된 오디오 신호를 헤드폰 잭(65)을 통해 헤드폰(도시되지 않음)에 공급한다.
상술한 바와 같이, 휴대 장치(6)의 재생/정지 버턴(도시되지 않음)이 눌러질 때, 플래쉬 메모리(61)에 저장된 컨텐트가 CPU(53)의 제어하에 재생된다. 만약 재생/정지 버턴이 재생 동작 동안 눌러지면, 컨텐트 재생은 중지된다.
재생을 중지한 후, 만약 휴대 장치(6)의 재생/정지 버턴이 다시 눌러지면, 컨텐트의 재생은 CPU(53)의 제어하에, 재생이 중지된 위치로부터 재개된다. 만약 재생을 중지하기 위해 재생/중지 버턴이 눌러진 후 몇초 동안 어떤 동작도 수행되지 않으면, 휴대 장치(6)는 전력 소모 감소를 위해 전원을 자동 턴 오프한다.
만약 재생/중지 버턴이 전원이 턴 오프된 후 눌러지면, 휴대 장치(6)는 재생/중지 버턴을 누르는 이전 동작에 의해 재생이 중지된 위치로부터가 아닌 컨텐트의 개시로부터 컨텐트를 재생하기 시작한다.
휴대 장치(6)의 CPU(53)는 (반복 모드, 스캔 앤드 플레이 모드와 같은) 재생 모드 및 이퀼라이저 제어기(다양한 주파수 대역에 대한 오디오 신호의 이득을 제어하기 위한 이득 제어기)에 대한 정보, 컨텐트 넘버, 재생 시간, 동작 상태(재생, 중지, 고속 포워드, 리버스), 사운드 볼륨, 및 드라이 배터리의 여분 용량을 디스플레이 유닛(67) 상에 디스플레이하도록 LCD 제어기(66)를 제어한다.
또한, 휴대 장치(6)는 플래쉬 메모리(61)에 저장된 컨텐트의 수를 나타내는 FAT(파일 할당 테이블), 컨텐트가 저장된 플래쉬 메모리의 블럭 위치, 및 기타 다양한 종류의 메모리 저장 정보를 저장하는 EEPROM(68)을 포함한다.
본 실시예에서, 각 컨텐트는 64 킬로바이트를 각각 포함하는 블럭 유닛에서 취급되고, 각 칸텐트의 블럭 위치는 FAT에 설명된다.
FAT가 플래쉬 메모리(61)에 저장되는 경우, FAT는 다음과 같이 저장된다. 예를 들어, 만약 제1 컨텐트가 CPU(53)의 제어하에 플래쉬 메모리(61)에 기록되면, 제1 컨텐트의 블럭 위치는 플래쉬 메모리(61)의 FAT에 기록된다. 만약 제2 컨텐트가 이후 플래쉬 메모리(61)에서 기록되면, 제2 컨텐트의 블럭 위치는 (동일 메모리 영역에 제1 컨텐트로서) 플래쉬 메모리(61)의 FAT에 기록된다.
상술한 바와 같이, FAT는 컨텐트가 플래쉬 메모리(61)에 기록되는 각 시간당 갱신되고, 동일 데이타가 백업 목적을 위해 이중 형태로 기록된다.
만약 FAT가 플래쉬 메모리(61)에 기록되면, 플래쉬 메모리(61)의 동일 영역이 컨텐트가 기록되는 각 시간당 2회 기록된다. 결과적으로, 플래쉬 메모리(61)에 컨텐트를 기록하는 동작의 작은 회수는 재기록 동작의 회수가 최대 허용 회수에 도잘하게 하여, 더 이상 플래쉬 메모리(61)를 재기록할 수 없게 된다.
휴대 장치(6)에 있어서, 상기 문제를 피하기 위해, FAT는 플래쉬 메모리(61) 대신 FFPROM(68)에 저장되어, 컨텐트가 기록되는 각 시간당 요구되는 플래쉬 메모리(61)를 재기록하는 동작의 회수를 줄인다.
휴대 장치(6)에서, 자주 재기록되는 FAT가 RRPROM(68)에 저장되기 때문에, 기록 동작의 최대 허용 회수는 FAT가 플래쉬 메모리(61)에 저장될 때보다 수십번 이상이 된다. 또한, CPU(53)는 FAT가 부가 형태로 기록되도록 EEPROM(68)을 제어하여, EEPROM(68)의 동일 영역에 기록 동작의 회수를 감소시켜 EEPROM(68)이 짧은 시간에 사용할 수 없게 되는 것을 방지한다.
휴대 장치(6)가 USB 케이블(7)을 통해 퍼스널 컴퓨터(1)에 접속되면(이하, USB-접속 상태로 표현됨), USB 제어기(57)는 인터럽트 신호를 CPU(53)에 송신한다. 그래서, CPU(53)는 휴대 장치(6)가 개인용 컴튜터(1)에 접속된 것을 인식한다.
그 결과로서, 소정의 크기의 전류가 퍼스널 컴퓨터(1)에서 USB 케이블(7)을 통해 휴대 장치(6)에 공급된다. 또한, CPU(53)는 드라이 배터리(51)로부터 전원 공급이 중지되도록 전원 회로(52)를 제어한다.
휴대 장치(6)가 USB-접속 상태일 때, CPU(53)는 컨텐트를 재생하는 것을 중지하도록 DSP(59)를 제어함으로써 퍼스널 컴퓨터(1)로부터 공급된 외부 전원이 최대 허용 전류를 초과하는 것을 방지하여 특정 외부 전원이 휴대 장치(6)에 공급될 수 있게 한다.
휴대 장치(6)가 USB-접속될 때, CPU(53)는 상술한 바와 같이 퍼스널 컴퓨터(1)로부터 공급된 드라이 배터리(51)로부터 전원을 스위치하여, 퍼스널 컴퓨터(1)로부터 공급되고 저 비용을 필요로 하는 외부 전원이 고 전원 비용을 필요로 하는 드라이 배터리(51)를 사용하는 대신 이용된다. 이는 드라이 배터리(51)의 수명을 절감한다.
외부 전원이 퍼스널 컴퓨터(1)로부터 USB 케이블(7)을 통해 휴대 장치(6)에 공급될 때, CPU(53)는 DSP(59)의 재생 동작을 중지시켜 DSP(59)로부터 방사를 줄이고 퍼스널 컴퓨터(1)를 포함하는 시스템으로부터 총 방사를 줄인다.
도 4는 CPU(11)에 의해 프로그램을 실행하는 수단에 의해 달성되는 퍼스널 컴퓨터(1)의 기능을 도시하는 블럭도이다. 컨텐트 관리 프로그램(111)은 RMD 선택 프로그램(131), 체크 인/체크 아웃 관리 프로그램(132), 암호화 방법 변환 프로그램(135), 압축 방법 변환 프로그램(136), 암호화 프로그램(137), 사용 규칙 변환 프로그램(139), 사용 규칙 관리 프로그램(140), 인증 프로그램(141), 복호 프로그램(142), PD 드라이버(143), 구매 프로그램(144), 및 구매 프로그램(145)를 포함하는 복수의 프로그램으로 형성된다.
컨텐트 관리 프로그램(111)은 명령이 외부로부터 취소되도록 셔플(shuffle) 또는 인크립트된 지시에 의해 설명된다. 이는 미인증 사용자가 명령을 분석하기 어렵게 한다(특히, 만약 미인증 사용자가 구매 프로그램(144)를 직접 판독하면, 명령을 분석할 수 없다).
EMD 선택 프로그램(131)은 퍼스널 컴퓨터(1)에 초기 설치된 컨텐트 관리 프로그램(111)에 포함되는 것이 아니라, EMD 선택 프로그램(131)은 후에 설명될 EMD 등록 처리 동안 네트워크를 통해 EMD 등록 서버(3)로부터 다운로드된다. EMD 선택 프로그램(131)은 EMD 서버 4-1 내지 4-3중 하나를 선택하고 퍼스널 컴퓨터(1)를 선택된 EMD 서버에 접속한다. 접속후, 구매 응용 프로그램(115) 또는 구매 프로그램(144 또는 145)은 (구매될 컨텐트를 다운로드하도록) EMD 서버 4-1 내지 4-3중 선택된 EMD 서버와 통신한다.
체크 인/체크 아웃 관리 프로그램(132)은 컨텐트 파일 161-1 내지 161-N중 하나 또는 휴대 장치 6-1 내지 6-3에 저장된 컨텐트를 케크 아웃하고 체크 인/체크 아웃 상태에 따라 휴대 장치 6-1 내지 6-3중 하나에 저장된 컨텐트 및 컨텐트 데이타베이스(114)에 저장된 사용 규칙 파일 162-1 내지 162-N을 체크 인한다.
수행된 체크 인/체크 아웃에 따라, 체크 인/체크 아웃 관리 프로그램(132)은 컨텐트 데이타베이스(114)에 저장된 사용 규칙 162-1 내지162-N에 설명된 사용 규칙 데이타를 갱신한다.
복제 관리 프로그램(133)은 컨텐트 데이타 베이스(114)에 설명된 사용 규칙 파일 162-1 내지 162-N에 따라, 컨텐트 파일 161-1 내지 161-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)은 구매 응용 프로그램(115)의 제어하에 네트워크(2)를 통해 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)은 구매 프로그램(115)의 제어하에 네트워크(2)를 통해 EMD 서버(4-1)로부터 수신된 컨텐트의 압축 방법, 구매 프로그램(144)의 제어하에 EMD 서버(4-2)로부터 수신된 컨텐트의 압축 방법, 또는 구매 프로그램(145)의 제어하에 EMD 서버(4-3)로부터 수신된 컨텐트의 압축 방법을 컨텐트 데이터베이스(114)내에 저장된 컨텐트 파일(161-1 내지 161-N)내에 저장된 컨텐트의 경우와 동일한 압축 방법으로 변환시킨다.
컨텐트가 휴대 장치(6-1 내지 6-3)중 임의의 하나로 검사해서 입력(check out into)되는 경우, 압축 방법 변환 프로그램(136)은 검사될 컨텐트의 압축 방법을 휴대 장치(6-1 내지 6-3)에서 허용된 변환 방법으로 변환시킨다.
암호화 프로그램(137)이 기록 프로그램(113)으로부터 예를 들면 CD로부터 판독된 컨텐트(암호화되지 않음)을 수신하는 경우, 암호화 프로그램(137)은 컨텐트 데이터베이스(114)내에 저장된 컨텐트 파일(161-1 내지 161-N)의 컨텐트와 동일한 암호화 방법에 따라 수신된 컨텐트를 암호화한다.
압축/압축해제 프로그램(138)이 기록 프로그램(113)으로부터 예를 들면 CD로부터 판독된 컨텐트(압축되지 않음)를 수신하는 경우, 압축/압축해제 프로그램(138)은 컨텐트 데이터베이스(114)내에 저장된 컨텐트 파일(161-1 내지 161-N)의 컨텐트와 동일한 압축 방법에 따라 수신된 컨텐트를 압축한다. 압축/압축해제 프로그램(138)은 또한 필요하면 압축된 컨텐트를 압축해제한다.
사용 규칙 변환 프로그램(139)은 구매 프로그램(115)의 제어하에 네트워크(2)를 통해 EMD 서버(4-1)로부터 수신된 컨텐트와 연관된 사용 규칙 데이타, 구매 프로그램(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) 중 하나에 기재된 사용 규칙 데이터에 대응하는 해쉬값(hash value)(후술함)을 기초로 템퍼링(tempered) 된지를 검사한다. 컨텐트 데이터베이스(114)내에 저장된 사용 규칙 파일(162-1 내지 162-N) 중 임의의 하나에 기재된 사용 규칙 데이터가 컨텐트를 복제, 이동, 체크-인 또는 채킹-아웃하는 동작에 응답하여 갱신되는 경우, 사용 규칙 관리 프로그램(140)은 갱신된 사용 규칙 데이터에 대응하는 해시 값을 갱신한다.
인증 프로그램(141)은 컨텐트 관리 프로그램(111)과 구매 신청 프로그램(115) 사이의 상호 인증을 수행하고, 또한 컨텐트 관리 프로그램(111)과 구매 프로그램(144) 사이의 상호 인증을 수행한다. 인증 프로그램(141)은 EMD 서버(4-1)과 구매 신청 프로그램(115) 사이, EMD 서버(4-2)와 구매 프로그램(144) 사이 및 EMD 서버(4-3)와 구매 프로그램(45) 사이의 상호 인증 공정에 이용되는 인증 키를 포함한다.
상호 인증에서 인증 프로그램에 의해 이용되는 인증 키는 컨텐트 관리 프로그램(111)이 퍼스널 컴퓨터(1)에 설치되는 경우에 인증 프로그램(141)에 포함되지 않는다. 디스플레이 제어 프로그램(112)에 의해 등록이 성공적으로 수행되는 경우, 인증키는 EMD 등록 서버(3)로부터 공급되고 인증 프로그램(141)내에 저장된다.
퍼스널 컴퓨터(1)가 컨텐트 데이터베이스(114)내의 컨텐트 파일(161-1 내지 161-N) 중 임의의 하나에 저장된 컨텐트를 재생하는 경우, 복호화 프로그램(142)은 컨텐트를 해독한다.
컨텐트가 휴대 장치(6-2)로 검사하여 입력되는 경우 또는 컨텐트가 휴대 장치로부터 검사하여 입력되는 경우, PD 구동기(143)는 컨텐트를 휴대 장치(6-2)에 공급하고 명령을 휴대 장치(6-2)로 전송하여 체크-아웃 또는 체크-인 공정을 수행한다.
컨텐트가 휴대 장치(6-1)로 입력 시 검사되거나 또는 컨텐트가 휴대 장치(6-1)로부터 출력 시 검사되는 경우, PD 구동기(143)는 컨텐트를 장치 구동기(116-1)로 공급하고 명령을 장치 구동기(116-1)로 전송하여 체크-아웃 또는 체크-인 공정을 수행한다.
컨텐트가 휴대 장치(6-3)로 입력 시 검사되거나 또는 컨텐트가 휴대 장치(6-3)로부터 출력 시 검사되는 경우, PD 구동기(143)는 컨텐트를 장치 구동기(116-2)에 공급하고 명령을 장치 구동기(116-2)에 전송하여 체크-인 또는 체크-아웃 공정을 수행한다.
구매 프로그램(144)은 컨텐트 관리 프로그램(111)과 함께 설치되는 소위 플러그-인 프로그램이다. 구매 프로그램(144)은 네트워크(2)를 통해 EMD 등록 서버(3)으로부터 공급되거나 또는 CD를 통해 공급될 수 있다. 구매 프로그램(144)이 퍼스널 컴퓨터에 설치되는 경우, 구매 프로그램(144)은 컨텐트 관리 프로그램(111)내에 제공된 선정 형태로 인터페이스를 통해 컨텐트 관리 프로그램(111)과 데이터를 교환한다.
구매 프로그램(144)은 변경되거나 암호화된 명령에 의해 기술되어 명령은 외부로부터 취소된다. 이는 인증되지 않은 사용자가 명령을 분석하는 것을 어렵게 한다(보다 상세하게는, 비인증된 사용자가 구매 프로그램(144)을 직접 판독하는 경우, 명령을 분석하는 것이 불가능하다).
구매 프로그램(144)은 네트워크(2)를 통해 EMD 서버(4-2)에 대해 원하는 컨텐트를 전송할 것을 요청하고, EMD 서버(4-2)로부터 컨텐트를 수신한다. 구매 프로그램(144)은 컨텐트가 EMD 서버(4-2)로부터 수신되는 경우 계정 처리를 행한다.
구매 프로그램(145)은 컨텐트 관리 프로그램(111)과 함께 설치된다. 구매 프로그램(145)은 네트워크(2)를 통해 EMD 서버(4-3)에 대해 원하는 컨텐트를 전송할 것을 요청하고, EMD 서버(4-3)로부터 컨텐트를 수신한다. 구매 프로그램(145)은 컨텐트가 EMD 서버(4-3)로부터 수신되는 경우 계정 처리를 행한다.
디스플레이 제어 프로그램(112)은 데이터 파일(181), 디스플레이 데이터 파일(182), 화상 파일(183-1 내지 183-K) 및 이력 데이터 파일(184)을 필터링하는 것에 따라 디스플레이(20) 상에 윈도우 화상을 디스플레이한다. 키보드(18) 또는 마우스(19)를 통한 사용자의 동작에 응답하여, 디스플레이 제어 프로그램(112)은 컨텐트 관리 프로그램(111)에 명령을 전송하여 체크-인, 체크-아웃 또는 다른 처리를 수행한다.
필터링 데이터 파일(181)은 HDD(21)에 저장되고, 컨텐트 데이터베이스(114)내에 저장된 컨텐트 파일(161-1 내지 161-N)에 기술된 각 컨텐트의 가중치를 표시하는 데이터를 포함한다.
디스플레이 데이터 파일(182)은 HDD(21)에 저장되고, 컨텐트 데이터베이스(114)내에 저장된 컨텐트 파일(161-1 내지 161-N)에 기술된 컨텐트에 대응하는 데이터를 포함한다.
화상 파일(183-1 내지 183-K)은 HDD(21) 상에 저장되고 컨텐트 데이터베이스(114)내에 저장된 각 컨텐트 파일(161-1 내지 161-N)내에 기술된 컨텐트에 대응하는 화상을 포함하거나 또는 후술할 패키지에 대응하는 화상을 포함한다.
아래의 설명에서, 화상 파일(183-1 내지 183-K) 중 하나가 특정 개체를 지정하지 않고 기술되는 경우, 단순히 화상 파일(183)로서 표시된다.
이력 데이터 파일(184)은 HDD(21) 상에 저장되고 예를 들면 첵아웃 또는 첵인된 컨텐트 데이터베이스(114)내에 저장된 컨텐트 파일(161-1 내지 161-N)내에 기술된 컨텐트의 날짜 및 시간을 표시하는 이력 데이터를 포함한다.
등록이 수행되는 경우, 디스플레이 제어 프로그램(112)은 컨텐트 관리 프로그램(111)의 미리 저장된 식별 데이터를 네트워크(2)를 통해 EMD 등록 서버(3)로 전송한다.
더욱이, 디스플레이 제어 프로그램(112)은 EMD 등록 서버(3)로부터 인증 키 및 EMD 선택 프로그램(131)을 수신하고 수신된 인증 키 및 EMD 선택 프로그램을 컨텐트 관리 프로그램(111)으로 전송한다.
기록 프로그램(113)은 선정 윈도우 화상을 디스플레이하고, 키보드(18) 또는 마우스(19)를 통해 사용자에 의해 수행되는 동작에 응답하여 컨텐트의 기록 시간과 같은 것을 표시하는 데이터를 드라이브(22)에 장착된 CD(42)와 같은 광 디스크로부터 판독한다.
예를 들면 CD 상에 기록된 컨텐트의 기록 시간을 표시하는 데이터를 기초로, 기록 프로그램(113)은 네트워크(2)를 통해 WWW 서버(5-1 또는 5-2)를 요청하여 CD에 대응하는 데이터(예를 들면, 앨범 타이틀 또는 가수명) 또는 CD에 기록된 컨텐트에 대응하는 데이타(예를 들면, 컨텐트 타이틀)을 요청하고, CD에 대응하는 데이터 또는 WWW 서버(5-1 또는 5-2)로부터 CD에 기록된 컨텐트에 대응하는 데이터를 수신한다.
기록 프로그램(113)이 CD에 대응하는 데이터 또는 CD에 기록된 컨텐트에 대응하는 데이터를 수신하는 경우, 기록 프로그램(113)은 수신된 데이터를 디스플레이 제어 프로그램(112)에 공급한다.
기록 명령이 입력되면, 기록 프로그램(113)은 드라이브(22)에 장착된 광디스크 또는 CD(42)로부터 컨텐트를 독출하여 그 컨텐트를 컨텐트 관리 프로그램(111)으로 출력한다.
컨텐트 데이터베이스(114)가 소정의 압축 기법에 따라 압축되고 소정의 암호화 기법에 따라 암호화된 컨텐트를 컨텐트 관리 프로그램(111)으로부터 수신하면, 컨텐트 데이터베이스(114)는 수신된 컨텐트를 컨텐트 파일들(161-1 내지 161-N) 중 어느 하나에 저장한다. 또한 컨텐트 데이터베이스(114)는 컨텐트 파일들(161-1 내지 161-N)의 컨텐트에 대응하는 이용 규칙 데이터를 각 컨텐트 파일(161-1 내지 161-N)에 대응하는 (HDD(21) 상의) 이용 규칙 파일(162-1 내지 162-N)에 저장한다.
컨텐트 데이터베이스(114)는 컨텐트 파일(161-1 내지 161-N) 또는 이용 규칙 파일(162-1 내지 162-N)을 레코드 형태로 저장할 수도 있다.
예컨대, 컨텐트 파일(161-1)에 저장된 컨텐트과 관련된 이용 규칙 데이터는 이용 규칙 파일(162-1)에 저장된다. 마찬가지로, 컨텐트 파일(161-N)에 저장된 컨텐트과 관련된 이용 규칙 데이터는 이용 규칙 파일(162-N)에 저장된다.
이하의 설명에서는, 컨텐트 파일(161-1 내지 161-N)이 어느 하나로 특정되지 않는 경우에는 단순히 컨텐트 파일(161)로 표현한다. 마찬가지로, 이용 규칙 파일(161-2 내지 162-N)이 어느 하나로 특정되지 않는 경우에는 단순히 컨텐트 파일(162)로 표현한다.
구매 응용 프로그램(115)은 네트워크(2)를 통해 EMD 등록 서버(3)로부터 공급되거나 또는 CD-ROM을 통해 공급될 수 있다. 구매 응용 프로그램(115)은 네트워크(2)를 통해 EMD 서버(4-1)에게 컨텐트를 전송하라고 요구한다. 구매 응용 프로그램(115)이 EMD 서버(41-1)로부터 컨텐트를 수신하면, 구매 응용 프로그램은 수신된 컨텐트를 컨텐트 관리 프로그램(11)에 전송한다. EMD 서버(4-1)로부터 컨텐트이 수신되면 구매 응용 프로그램(115)은 회계 처리를 수행한다.
컨텐트 관리 프로그램(111)의 제어 하에, 드라이버(117)는 오디오 입/출력 인터페이스(24)를 구동하여, 디지털 데이터 형태의 컨텐트를 외부로부터 입력하여 이것을 컨텐트 관리 프로그램(111)에 전송하거나, 컨텐트 데이터베이스(114)로부터 공급된 디지털 데이터 형태의 컨텐트를 컨텐트 관리 프로그램(11)을 통해 출력하거나, 또는 컨텐트 데이터베이스(114)로부터 공급된 컨텐트에 대응하는 아날로그 신호를 컨텐트 관리 프로그램(11)을 통해 출력한다.
이하에서는 휴대 장치(6)의 (Memory Stick(메모리 스틱)(상표명임)과 같은) 플래쉬 메모리(61)에 저장된 컨텐트이 권원없이 복제되는 것을 방지하는 방법에 대해서 설명한다.
휴대 장치(6)의 플래쉬 메모리(61)에 저장된 컨텐트 파일은 도 5에 도시된 바와 같이 헤더부와 데이터부를 포함한다. 헤더부에는 컨텐트 식별자, 재생 동작 회수, 재생 한계, 컨텐트 제목, 및 연주자 이름에 대한 정보가 기재된다. 한편, 데이터부에는 ATRAC-3과 같은 압축 기법에 따라 압축되어 암호화된 컨텐트이 기재된다. 컨텐트가 변경되는 것을 방지하기 위하여, MAC(메시지 인증 코드) 값이 컨텐트 파일의 헤더부에 기재된다. MAC 값은 다음의 수학식 1에 따라 키이드 해시(keyed hash)라 불리는 (SHA 또는 DES와 같은) 일방향 함수를 이용하여 연산된다.
MAC 값 = MAC(Kc, 중요 정보)
여기서 Kc는 데이터부에 기재된 컨텐트를 암호화하는데 사용되는 컨텐트키(암호화키)이고, 중요 정보는 헤더부에 기재된 정보의 (예컨대, 컨텐트 식별자, 수행된 재생 동작의 회수, 및 재생 한계에 대한) 특정 부분이다.
컨텐트 식별자는 컨텐트를 식별하는 컨텐트에 할당된다. 컨텐트 제목은 컨텐트의 제목을 ASCII(American National Standard Code for Information Interchange) 코드로 표현한 데이터이다. 연주자 이름은 컨텐트에 관련된 연주자 이름, 작사가, 및/또는 작곡가를 ASCII 코드로 표현한 데이터이다.
재생 한계는 컨텐트 재생 기간(시작 날짜/시간, 종료 날짜/시간) 또는 재생 동작 회수의 제한(컨텐트 재생 동작의 최대 가능 회수)의 설정 여부를 나타내는 데이터이다. 컨텐트 재생 회수의 제한이 지정되면, 재생 한계는 "1"로 설정되고, 기간이 지정되면 재생 한계는 "2"로 설정된다. 재생 동작의 회수 제한 또는 기간 중 어느 것도 지정되지 않으면(내용이 구매된 경우임), 재생 한계는 "0"으로 설정된다.
재생 한계가 "1" 또는 "2"로 설정되면, 재생 동작 회수값은 컨텐트가 재생될 때마다 CPU(53)에 의해 갱신되어 컨텐트가 재생된 회수를 표시한다.
도 6은 도 5에 도시된 것과 같은 컨텐트를 재생하기 위하여 퍼스널 컴퓨터(1)에 의해 처리되어 휴대 장치(6)의 플래쉬 메모리(61)에 저장되는 처리를 도시한 것이다. 단계(S1)에서, 퍼스널 컴퓨터(1)의 인증 프로그램(141)은 휴대 장치(6)의 CPU(53)와 상호 인증을 수행하여 공통 통신키(Ks)를 획득한다. 이 통신키(Ks)를 이용하여, 인증 프로그램(141)은 플래쉬 메모리(61)의 데이터부에 기재된 컨텐트를 암호화하는데 사용되는 암호화키(Kc)를 획득한다.
더 구체적으로 설명하면, 인증 프로그램(141)은 CPU(53)와 상호 인증을 수행하여 통신키(Ks1)를 획득한다. 한편, CPU(53)는 내부 버스(58)와 플래쉬 메모리 컨트롤러(60)를 통해 플래쉬 메모리(61)와 상호 인증을 수행하여 공통 통신키(Ks2)를 획득한다.
상호 인증 처리가 실패하면, 재생 처리는 종료된다. 상호 인증 처리가 성공하면, 플래쉬 메모리(61)는 저장된 (저장키를 이용하여 암호화된) 암호화키(Kc)를 저장된 저장키를 이용하여 해독한다. 그 다음, 플래쉬 메모리(61)는 통신키(Ks2)를 가지고 암호화키(Kc)를 암호화하고, 이것을 플래쉬 메모리 컨트롤러(60)와 내부 버스(58)를 통해 CPU(53)에 전송한다. CPU(53)는 수신된 암호화키(Kc)를 통신키(Ks2)를 이용하여 해독한다.
더욱이, 플래쉬 메모리(61)는 컨텐트 파일(도 5)의 헤더부에 기재된 중요 정보와 이전의 MAC 값을 독출한다. 플래쉬 메모리(61)는 중요 정보와 이전의 MAC 값을 통신키(Ks)를 가지고 암호화하고, 이들을 CPU(53)에 전송한다. 중요 정보와 이전의 MAC 값을 수신하면, CPU(53)는 이들을 통신키(Ks2)를 이용하여 해독한다.
CPU(53)는 암호화키(Kc), 중요 정보, 및 이전 MAC 값을 통신키(Ks1)를 가지고 암호화하여, 이들을 퍼스널 컴퓨터(1)의 인증 프로그램(141)에 전송한다. 인증 프로그램(141)은 통신키(Ks1)에 따라서 해독 프로그램(142)을 이용하여 이들을 해독한다.
전술한 바와 같이, 플래쉬 메모리(61)와 CPU(53) 간에 또는 CPU(53)와 인증 프로그램(141) 간에 컨텐트가 전송될 때에, 컨텐트는 통신키(Ks2또는 Ks1)를 이용하여 암호화된다. 그러나, 이와 같은 암호화 처리는 강조 목적이 아니라면 이후로는 설명하지 않겠다.
단계(S2)에서, 사용자 상태 관리 프로그램(140)은 단계(S1)에서 구해진 컨텐트 파일의 헤더부에 기재된 중요 정보와 암호화키(Kc)로부터의 MAC 값을 전술한 수학식 1에 따라서 연산한다. 연산된 값은 R에 대입된다. 단계(S3)에서, 이용 규칙 관리 프로그램(140)은 단계(S2)에서 연산된 R의 값을 컨텐트 파일의 헤더부에 기재된 이전의 MAC 값과 비교한다. 이들 두 개의 값이 서로 같지 않으면, 이용 규칙 관리 프로그램(140)은 단계(S4)로 진행한다. 단계(S4)에서, 디스플레이 제어 프로그램은 "컨텐트가 변경될 수가 있습니다"와 같은 메시지를 디스플레이(20) 상에 표시하고, 처리는 종료된다. 이 경우, 휴대 장치(6)의 플래쉬 메모리(61)에 저장된 컨텐트는 변경된 것으로 간주되고, 따라서 이것은 재생되지 않는다.
단계 S3에서, R의 값과 컨텐트 파일의 헤더부에 기술된 이전의 MAC값이 서로 같은 것으로 판정된 경우에는, 프로세스는 단계 S5로 진행한다. 단계 S5에서, 컨텐트 관리 프로그램(111)은 암호화된 컨텐트를 플래쉬 메모리(61)로부터 CPU(53)를 통해 수신한다. 수신된 암호화된 컨텐트는 그 다음에 복호키(encryption key) Kc를 사용하여 복호화 프로그램(142)에 의해 복호화된다. 복호화된 컨텐트는 압축/압축해제 프로그램(138)로 보내져 신장된다. 그 결과 얻어지는 컨텐트는 오디오 입력/출력 인터페이스(24)를 통해 출력(재생)된다.
단계 S6에서, 사용 규칙 관리 프로그램(140)은 CPU(53)를 제어하여 컨텐트 파일의 헤더부의 중요 정보에 기재된 재생 횟수를 1씩 증가시키도록 한다. 게다가, 단계 S7에서, 사용 관리 프로그램(140)은 CPU(53)를 제어하여 갱신된 중요 정보를 사용하여 수학식 1에 따라 MAC값을 연산하고, 플래쉬 메모리(61)에 저장된 컨텐트 파일의 헤더부에 기재된 MAC값을 상기 연산된 값으로 갱신하도록 한다. MAC값의 연산에는 암호화 키 Kc가 필요하기 때문에, 상기 장치 또는 사용 관리 프로그램(140)이 인증을 얻었을 때에만 MAC값을 연산할 수 있다.
그러나, 도 6을 참조하여 이상 설명한 기술은, 도 7을 참조하여 이하에 기술되는 기술을 사용하여 컨텐트를 인증을 받지 않고서 복제하는 것을 방지하지는 못한다. 즉, 휴대 장치(6-1)의 플래쉬 메모리(61-1)(즉, 제1 휴대 장치(6-1)의 플래쉬 메모리)에 저장되어 있는 컨텐트 파일이 HDD(21)에 있는 컨텐트 데이터베이스(114)에 백업되고, 그에 따라 컨텐트 파일은 컨텐트 데이터베이스(114)내의 컨텐트 파일(161-1, MAC-1)로 저장된다. 상기한 백업 과정 이후, 컨텐트 원본 파일(MAC-1)은 플래쉬 메모리(61-1)에 남아 있게 된다.
그 후, 플래쉬 메모리(61-1)에 저장된 컨텐트 파일(MAC-1)은 컨텐트 데이터베이스(114)로 이동된다. 그 결과, 컨텐트 파일(161-2, MAC-1)은 컨텐트 데이터베이스(114)에 저장된다. 컨텐트 파일이 이동됨에 따라, 컨텐트 파일(MAC-1)은 플래쉬 메모리(61-1)로부터 삭제되고, 컨텐트 데이터베이스(114)는 2개의 컨텐트 파일 161-1(MAC-1)과 161-2(MAC-1)을 포함하게 된다.
그런 다음에, 컨텐트 데이터베이스(114)에 저장된 컨텐트 파일(161-1, MAC-1)은 플래쉬 메모리(61-1)로 복원된다. 그 결과, 컨텐트 파일(162-1, MAC-1)은 컨텐트 데이터베이스(114)에 남겨진다. 그 후, 컨텐트 파일(161-2, MAC-1)은 컨텐트 데이터베이스(114)로부터 휴대 장치(6-2)의 플래쉬 메모리(61-2)(제2 휴대 장치(6-2)의 플래쉬 메모리(61))로 이동된다. 그 결과, 동일한 컨텐트 파일(MAC-1)이 2개의 플래쉬 메모리 61-1과 61-2에 저장되어 있다. 이와 같이, 퍼스널 컴퓨터(1)은 플래쉬 메모리(61-1)에 저장된 컨텐트 파일(161-1, MAC-1) 뿐만 아니라 플래쉬 메모리(61-2)에 저장된 컨텐트 파일(161-2, MAC-1)도 재생할 수 있다.
본 발명에서는, 컨텐트가 상기와 같이 인증을 받지 않고 복제되는 것을 방지하기 위하여, MAC값을 이하에 기술하는 수학식 2에 따라 정할 수 있다.
MAC값 = MAC(Kc, seq# || 중요 정보)
수학식 2에서, seq#는 컨텐트가 이동되거나 복제될 때마다 갱신되는(예를 들면, 증가되는) 변수이다. 변수 seq#는 플래쉬 메모리(61)내에 저장되어 있지만 통상의 프로그램에 의한 억세스가 허용되지 않은(어댑터(26) 또는 사용 규칙 관리 프로그램에 의한 억세스만 허용됨) 매체 결함 리스트의 0번째 블록에 저장된다. 수학식 2에서, 기호 ||는 연결(접속)(concatenation(connection))을 나타내는 데 사용된다. 보다 상세히 설명하면, A || B는 데이터 A와 데이터 B를 데이터 A의 최하위 비트 바로 다음에 데이터 B가 위치하도록 단순히 연결시킴으로써 생성되는 데이터(a+b)를 나타낸다.
매체 결함 리스트는 도 8A에 도시한 바와 같이 결함(불량) 블록(결함을 포함하고 있는 블록) 및 결함 각 블록 대신에 사용되는 대체 블록을 나타낸다. 블록이 결함 블록으로서 이 리스트에 등록되어 있는 경우, 그 블록을 판독 및 기록하는 것이 기본적으로 불가능하고, 데이터는 그 블록에 대응하는 대체 블록에 기록되거나 또는 그로부터 판독된다. 그러나, 결함이 없는 블록은 0번째 결함 블록으로 등록되고, 따라서 이 블록은 특수 명령을 수신할 때 CPU(53)가 사용한다. 변수 seq#는 도 8B에 도시된 이 0번째 결함 블록에 저장되어 있다.
상기 특수 명령은 어댑터(26) 및 사용 규칙 관리 프로그램(140)에 의해서만 내려질 수 있다. 따라서, 어댑터(26) 및 사용 규칙 관리 프로그램(140)만이 0번째 결함 블록에 억세스할 수 있다.
변수 seq#는 각 컨텐트(트랙)에 하나씩 할당된다. 따라서, MAC값의 재연산은 컨텐트마다(트랙마다) 행해진다.
변수 seq#가 저장되는 영역은 매체 결함 리스트의 0번째 결함 블록에 한정되지는 않는다. 그 대신에, 변수 seq#는 다른 목적을 위해 판독/기록이 불가능하게 되어 있는 다른 저장 영역에 저장될 수도 있다.
도 9는 컨텐트를 플래쉬 메모리(61)로부터 HDD(21)로 이동시키는 프로세스를 도시한 것이다.
단계 S21에서, CPU(53)는 플래쉬 메모리(61)와 함께 상호 인증을 행하며 암호화 키 Kc를 얻는다. 단계 S22에서, 퍼스널 컴퓨터(1)의 인증 프로그램(141)은 휴대 장치(6)의 CPU(53)과 함께 상호 인증(mutual authentication)을 행하며, 인증 프로그램(141) 및 CPU(53) 양자에 의해 사용되는 통신 키 Ks를 얻게 된다. 이 단계는 도 6을 참조하여 상기한 단계 S1과 같은 방식으로(공통 통신 키(common communication key) Ks1이 단계 S1에서 사용된다는 점은 제외) 행해진다.
단계 S23에서, 사용 규칙 관리 프로그램(140)은 소정의 특수 명령을 CPU(53)에 보내 플래쉬 메모리(61)의 매체 결함 리스트(도 8A)의 0번째 결함 블록에 저장된 변수 seq#를 갱신하도록 CPU(53)에 요청한다. 이 요청에 응답하여, CPU(53)는 변수 seq#를 적당한 값으로 갱신한다.
단계 S24에서, CPU(53)는 단계 S22에서 플래쉬 메모리(61)로부터 획득한 암호화 키 Kc를 단계 S22에서 획득한 통신 키 Ks를 사용하여 암호화한다. 그 결과 얻어지는 암호화 키 Kc는 사용 규칙 관리 프로그램(140)으로 전송된다. 단계 S25에서, CPU(53)는 플래쉬 메모리(61)에 저장된 컨텐트 파일의 데이터 부분에 기술된 암호화된 컨텐트 데이터를 수신한다. CPU(53)는 수신된 데이터를 통신 키 Ks로 암호화하여 이를 이동 관리 프로그램(134)로 보낸다. 이동 관리 프로그램(134)은 휴대 장치(6)로부터 전송된 컨텐트를 HDD(21)(컨텐트 데이터베이스(114))에 저장한다. 단계 S26에서, 이동 관리 프로그램(134)은 휴대 장치(6)로부터 수신한 암호화 키 Kc를 통신 키 Ks를 사용하여 복호하기 위해 복호화 프로그램(142)을 요청한다. 그 결과 얻어지는 복호화된 암호화 키 Kc는 그 다음에 암호화 프로그램(137)에 의해 전용 저장 키(dedicated storage key)를 사용하여 복호화되어 HDD(21)에 저장된다.
단계 S27에서, 이동 관리 프로그램(134)은 컨텐트 파일이 복제되었다는 것을 CPU(53)에 통지한다. 이에 응답하여, 단계 S28에서, CPU(53)는 (단계 S25에서 사용 규칙 관리 프로그램(140)에 전송된) 컨텐트 파일을 플래쉬 메모리(61)에서 삭제한다.
이동 프로세스가 상기한 바와 같이 수행되는 경우, 도 7과 관련하여 상기한 무인가 복제 프로세스를 방지할 수 있다. 이제, 컨텐트 A가 휴대 장치(6-1)의 플래쉬 메모리(61-1)에 저장되어 있다고 가정하자. 이 경우, MAC값(MAC-1)은 컨텐트 A의 헤더부에 컨텐트 A의 중요 정보로서 기재된다. 게다가, 변수 seq-1은 컨텐트 A에 대응하여 매체 결함 리스트의 0번째 결함 블록에 저장된다(이후부터는, 이러한 상태를 "A(MAC-1), seq-1"로 표시함). 이 상태에서, 컨텐트 파일이 HDD(21)내의 컨텐트 데이터베이스(114)로 백업되면, 컨텐트 A(MAC-1)는 컨텐트 데이터베이스(114)에 저장되고, 플래쉬 메모리(61-1)내의 변수 seq-1과 MAC-1은 갱신되지 않기 때문에 컨텐트 A(MAC-1), seq-1는 플래쉬 메모리(61-1)에 남아 있다.
그 후에, 컨텐트 A(MAC-1), seq-1이 플래쉬 메모리(61-1)에서 컨텐트 데이터베이스(114)로 이동되면, 플래쉬 메모리(61-1)의 변수 seq-1는 (단계 S23에서) 변수 seq-2로 갱신되지만 MAC-1은 갱신되지 않는다. 이와 같이, 컨텐트 A(MAC-1)는 컨텐트 데이터베이스(114)에 등록된다. 이동 관리 프로그램(134)는 CPU(53)에 컨텐트 A가 이동되었다는 것을 통보한다. 그에 응답하여, CPU(53)는 컨텐트 A를 플래쉬 메모리(61-1)에서 삭제한다.
그 후에, 컨텐트 데이터베이스(114)에 백업된 컨텐트 A(MAC-1)가 플래쉬 메모리(61-1)로 복원되면, 컨텐트 A(MAC-1), seq-2는 플래쉬 메모리(61-1)에 저장된다. 게다가, 컨텐트 데이터베이스(114)로 이동된 컨텐트 A(MAC-1)가 휴대 장치(6-2)의 플래쉬 메모리(61-1)로 이동되면, 변수 seq-2는 또다시 변수 seq-3으로 갱신되고, 따라서 컨텐트는 컨텐트 A(MAC-1), seq-3으로 저장된다.
컨텐트가 도 6의 플로우챠트에 도시된 프로세스에 따라 플래쉬 메모리 61-1 또는 61-2로부터 재생되면, 변수 seq-2(또는 seq-3)는 단계 S2에서 MAC값을 연산하는데 사용되며, 따라서 이 연산 결과는 컨텐트 파일의 헤더부에 기재된 MAC-1과 다르게 된다. 그 결과, 단계 S3에서의 판정은 부정(negative)으로 된다. 이와 같이, 이 컨텐트는 무인가 복제(unauthorized copy)로 간주되고 그의 재생이 불가능하게 된다.
이상의 설명에서, 휴대 장치(6)은 일례로서 저장 매체로 이용된다. 그러나, 본 발명은 다른 종류의 저장 매체에 데이터를 복제 또는 이동할 때에도 적용할 할 수 있다.
음악 데이터 및 다른 오디오 데이터 이외에, 컨텐트 데이터는 이미지 데이터 등 다른 종류의 데이터일 수도 있다.
상기한 프로세스는 하드웨어 또는 소프트웨어에 의해 수행될 수도 있다. 프로세스가 소프트웨어에 의해 수행되는 경우, 이 소프트웨어는 프로그램 저장 매체로부터 휴대 장치(6)에 전용 하드웨어로서 설치된 컴퓨터(CPU(53)에 해당함)에, 또는 그에 설치된 여러가지 프로그램을 실행할 수 있는 범용 컴퓨터에 설치되는 프로그램일 수도 있다.
여러가지 종류의 매체가 컴퓨터에 설치되어 그에 의해 실행되어지는 프로그램을 저장하는 프로그램 저장 매체로서 이용될 수 있다. 이들에는 도 2에 도시한 바와 같이 자기 디스크(41)(플로피 디스크 등), 광 디스크(CD-ROM 등), DVD(digital versatile disk), 광자기 디스크(43)(MD(mini-disk) 등), 반도체 메모리(44) 등의 패키지 매체, 및 프로그램을 영구적으로 또는 일시적으로 저장하기 위한 ROM(12) 또는 HDD(21) 등이 있다. 프로그램은 필요한 통신 장치(25) 등의 인터페이스를 사용하여 네트워크(2)(LAN 또는 인터넷) 또는 디지털 방송 등의 유선 또는 무선 통신 매체를 통해 프로그램 저장 매체에 저장될 수도 있다.
본 발명에서, 프로그램 저장 매체에 저장된 프로그램에 기술되어 있는 단계들은 프로그램에 기술된 순서에 따라 시간순으로 실행되거나 병렬로 또는 개별적으로 실행될 수도 있다.
게다가, 본 발명에서, "시스템"이라는 용어는 복수의 디바이스를 포함하는 장치 전체를 기술하는데 사용된다.
상기한 바와 같이, 본 발명은 정보 처리 장치, 정보 방법 및 프로그램 저장 매체에 저장된 프로그램으로서, 연산 정보와 암호화 키에 근거하여 실행된 연산의 결과는 이전의 연산 결과와 비교되고, 비교 결과에 따라 저장된 컨텐트 데이터의 사용이 통제되며, 그에 의해 인가를 받지 않고 복제된 컨텐트 데이터를 검출하는 것이 가능하게 되며, 따라서 컨텐트 데이터가 인가를 받지 않고 복제되는 것을 방지할 수 있게 된다.

Claims (5)

  1. 정보처리장치에 있어서,
    암호화 키로 암호화된 컨텐트 데이터를 저장하는 저장 수단;
    상기 저장 수단에 저장된 상기 컨텐트 데이터와 관련된 관리 정보를 유지하는 유지 수단;
    상기 관리 정보에 포함된 것으로 소정의 타이밍으로 갱신된 갱신 정보를 포함하는 연산 정보와 상기 암호화 키에 의거하여 소정의 연산을 행하는 연산 수단;
    상기 연산 수단에 의해 행해진 연산의 결과를 기억하는 메모리 수단; 및
    상기 연산 수단에 의해 행해진 연산의 결과를 상기 메모리 수단에 기억된 이전의 연산 결과와 비교하고, 이 비교의 결과에 따라 상기 저장 수단에 저장된 상기 컨텐트 데이터의 사용을 제어하는 제어 수단
    을 포함하여 구성되는 것을 특징으로 하는 정보처리장치.
  2. 제1항에 있어서,
    상기 연산 수단은 상기 연산 정보와 상기 암호화 키에 해쉬(hash) 함수를 적용하므로써 상기 연산을 행하는 것을 특징으로 하는 정보처리장치.
  3. 제1항에 있어서,
    상기 컨텐트 데이터는 음악 데이터이고;
    상기 연산 정보는 상기 음악 데이터를 식별하는 식별 정보를 포함하고; 및
    상기 유지 수단은 보통 판독 또는 기입이 허락되지 않은 영역에 상기 갱신 정보를 유지하는 것을 특징으로 하는 정보처리장치.
  4. 정보처리방법에 있어서,
    암호화키로 암호화된 컨텐트 데이터를 저장하는 단계;
    상기 저장 단계에서 저장된 상기 컨텐트 데이터와 관련된 관리 정보를 유지하는 단계;
    상기 관리 정보에 포함된 것으로 소정의 타이밍으로 갱신된 갱신 정보를 포함하는 연산 정보와, 상기 암호화키에 의거하여 소정의 연산을 행하는 단계;
    상기 연산 단계에서 행해진 연산의 결과를 기억하는 메모리 단계; 및
    상기 연산 단계에서 행해진 연산의 결과를 상기 기억 단계에서 기억된 이전의 연산 결과와 비교하고, 이 비교의 결과에 따라 상기 저장 단계에서 저장된 상기 컨텐트 데이터의 사용을 제어하는 단계
    를 포함하여 구성되는 것을 특징으로 하는 정보처리방법.
  5. 프로그램이 저장되는 프로그램 저장 매체에 있어서, 상기 프로그램은 암호화키로 암호화된 컨텐트 데이터를 저장 하는 단계;
    상기 저장 단계에서 저장된 상기 컨텐트 데이터와 관련된 관리 정보를 유지하는 단계;
    상기 관리 정보에 포함된 것으로 소정의 타이밍으로 갱신된 갱신 정보를 포함하는 연산 정보와, 상기 암호화 키에 의거하여 소정의 연산을 행하는 단계;
    상기 연산 단계에서 행해진 연산의 결과를 기억하는 단계; 및
    상기 연산 단계에서 행해진 연산의 결과를 상기 기억 단계에서 기억된 이전의 연산 결과와 비교하고 이 비교의 결과에 따라 상기 저장 단계에서 저장된 상기 컨텐트 데이터의 사용을 제어하는 단계
    를 포함하는 것을 특징으로 하는 프로그램 저장 매체.
KR1020000029219A 1999-05-31 2000-05-30 정보 처리 장치, 정보 처리 방법, 및 프로그램 저장 매체 KR100711171B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP15206099 1999-05-31
JP1999-152060 1999-05-31

Publications (2)

Publication Number Publication Date
KR20010014982A true KR20010014982A (ko) 2001-02-26
KR100711171B1 KR100711171B1 (ko) 2007-04-27

Family

ID=15532189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000029219A KR100711171B1 (ko) 1999-05-31 2000-05-30 정보 처리 장치, 정보 처리 방법, 및 프로그램 저장 매체

Country Status (4)

Country Link
US (1) US7143445B1 (ko)
EP (1) EP1058255B1 (ko)
KR (1) KR100711171B1 (ko)
DE (1) DE60042185D1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010015037A (ko) * 1999-06-16 2001-02-26 니시무로 타이죠 기억 매체 및 이 기억 매체를 사용한 콘텐츠 보호 방법
US7788728B2 (en) 2004-01-08 2010-08-31 Samsung Electronics Co., Ltd. Method and apparatus for limiting number of times contents can be accessed using hash chain
WO2011139134A3 (ko) * 2010-05-07 2012-02-02 삼성전자 주식회사 저장 장치의 인증 방법, 기계로 읽을 수 있는 저장 매체 및 호스트 장치

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3820581B2 (ja) * 2001-04-04 2006-09-13 ソニー株式会社 情報処理装置および方法、記録媒体、プログラム、並びに記録装置
JP3678164B2 (ja) * 2001-04-13 2005-08-03 ソニー株式会社 データ転送システム、データ転送装置、データ記録装置、データ転送方法
US7487363B2 (en) 2001-10-18 2009-02-03 Nokia Corporation System and method for controlled copying and moving of content between devices and domains based on conditional encryption of content key depending on usage
US6748537B2 (en) 2001-11-15 2004-06-08 Sony Corporation System and method for controlling the use and duplication of digital content distributed on removable media
JP4391056B2 (ja) * 2002-04-15 2009-12-24 ソニー株式会社 情報管理装置および方法、記録媒体、並びにプログラム
JP3818505B2 (ja) 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
US20060053495A1 (en) * 2002-10-21 2006-03-09 Omron Corporation Medium data reproduction device, medium data distribution device, medium data reproduction method, medium data reproduction program, medium data distrubution program, and computer-readable recording
WO2005020043A2 (en) * 2003-08-26 2005-03-03 Matsushita Electric Industrial Co., Ltd. Program execution device
US20050108361A1 (en) * 2003-09-30 2005-05-19 Stewart Scott Method and system for content delivery
US7747872B2 (en) * 2004-03-25 2010-06-29 Franklin Electronic Publishers, Inc. Secure portable electronic reference device
WO2005122577A1 (ja) * 2004-06-14 2005-12-22 Matsushita Electric Industrial Co., Ltd. コンテンツ利用方法およびコンテンツ記録装置
US8087091B2 (en) * 2004-07-08 2011-12-27 Media Rights Technologies Method and system for preventing unauthorized reproduction of electronic media
JP4131964B2 (ja) * 2004-12-10 2008-08-13 株式会社東芝 情報端末装置
US8126969B1 (en) * 2005-03-08 2012-02-28 At&T Intellectual Property Ii, L.P. Policy based dissemination control of electronic messages
US8683080B2 (en) * 2005-03-21 2014-03-25 Marvell World Trade Ltd. Network system for distributing protected content
US7877101B1 (en) 2006-12-28 2011-01-25 Marvell International Ltd. Locating a WLAN station using signal propagation delay
US20060212535A1 (en) * 2005-03-21 2006-09-21 Marvell World Trade Ltd. Network system for distributing protected content
US20060212721A1 (en) * 2005-03-21 2006-09-21 Sehat Sutardja DVD system for distributing protected content
US8176565B2 (en) * 2005-04-15 2012-05-08 Sony Corporation Information processing apparatus, information processing method, and computer program
JP2007215162A (ja) * 2006-01-11 2007-08-23 Canon Inc 情報処理装置及びその制御方法、プログラム、記憶媒体
US8667273B1 (en) 2006-05-30 2014-03-04 Leif Olov Billstrom Intelligent file encryption and secure backup system
US8099605B1 (en) * 2006-06-05 2012-01-17 InventSec AB Intelligent storage device for backup system
JP2008077206A (ja) * 2006-09-19 2008-04-03 Canon Inc 電子データ管理システム、電子データ管理装置及び方法、並びにプログラム及び記憶媒体
US20080155175A1 (en) * 2006-12-26 2008-06-26 Sinclair Alan W Host System That Manages a LBA Interface With Flash Memory
US8209461B2 (en) * 2006-12-26 2012-06-26 Sandisk Technologies Inc. Configuration of host LBA interface with flash memory
US8166267B2 (en) * 2006-12-26 2012-04-24 Sandisk Technologies Inc. Managing a LBA interface in a direct data file memory system
US7917686B2 (en) * 2006-12-26 2011-03-29 Sandisk Corporation Host system with direct data file interface configurability
JP5061829B2 (ja) * 2007-10-04 2012-10-31 ソニー株式会社 コンテンツ提供装置、およびデータ処理方法、並びにコンピュータ・プログラム
US20090288076A1 (en) * 2008-05-16 2009-11-19 Mark Rogers Johnson Managing Updates In A Virtual File System
US10148433B1 (en) 2009-10-14 2018-12-04 Digitalpersona, Inc. Private key/public key resource protection scheme
US9703976B1 (en) * 2015-06-17 2017-07-11 Amazon Technologies, Inc. Encryption for physical media transfer
CN106851945A (zh) * 2017-03-28 2017-06-13 上海斐讯数据通信技术有限公司 一种基于无线数据帧的路灯点亮方法及装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
JP3243331B2 (ja) * 1993-05-14 2002-01-07 富士通株式会社 ソフトウェア管理用階層媒体の作成方法,ソフトウェア管理用階層媒体の作成装置およびソフトウェア管理用階層媒体
IL110891A (en) * 1993-09-14 1999-03-12 Spyrus System and method for controlling access to data
US5530752A (en) * 1994-02-22 1996-06-25 Convex Computer Corporation Systems and methods for protecting software from unlicensed copying and use
US6650761B1 (en) * 1999-05-19 2003-11-18 Digimarc Corporation Watermarked business cards and methods
US5765152A (en) * 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
US6138203A (en) * 1995-11-10 2000-10-24 Sony Corporation Information processing apparatus and method enabling a write-once recording medium to be utilized as a rewriteable recording medium
CN1144127C (zh) * 1995-11-10 2004-03-31 索尼公司 信息处理装置及信息处理方法
EP0880840A4 (en) * 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
WO1997029426A1 (fr) * 1996-02-09 1997-08-14 Sony Corporation Processeur d'informations, procede de modification de noms de fichiers, et support d'enregistrement sur lequel un programme de changement de nom de fichier est enregistre
DE19612999C2 (de) * 1996-03-22 1999-04-01 Wasy Ges Fuer Wasserwirtschaft System zur Sicherung geschützter Software gegen unbefugte Benutzung in Rechnernetzwerken
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
US5883958A (en) * 1996-04-01 1999-03-16 Sony Corporation Method and device for data decryption, a method and device for device identification, a recording medium, a method of disk production, and a method and apparatus for disk recording
JPH1021144A (ja) * 1996-07-03 1998-01-23 Hitachi Ltd ディジタル著作物配布システム及び不正な複製物の検出方法
US6081897A (en) * 1997-01-13 2000-06-27 Recording Industry Of America Apparatus for monitoring and preventing unauthorized copying of digital data
US5763316A (en) * 1997-02-19 1998-06-09 Taiwan Semiconductor Manufacturing Company, Ltd. Substrate isolation process to minimize junction leakage
JP3988172B2 (ja) 1997-04-23 2007-10-10 ソニー株式会社 情報処理装置および方法、並びに記録媒体
JPH10301492A (ja) * 1997-04-23 1998-11-13 Sony Corp 暗号化装置および方法、復号装置および方法、並びに情報処理装置および方法
JP3657745B2 (ja) * 1997-07-23 2005-06-08 横河電機株式会社 ユーザ認証方法及びユーザ認証システム
JPH11122239A (ja) * 1997-10-16 1999-04-30 Sony Corp 情報処理装置および方法、並びに伝送媒体
AU4407199A (en) * 1998-05-20 1999-12-06 Recording Industry Association Of America Copy protection method using broken modulation rules
US6684199B1 (en) * 1998-05-20 2004-01-27 Recording Industry Association Of America Method for minimizing pirating and/or unauthorized copying and/or unauthorized access of/to data on/from data media including compact discs and digital versatile discs, and system and data media for same
AU4839899A (en) * 1998-06-29 2000-01-17 Recording Industry Association Of America Security marking system and method for minimizing pirating of data on data media
US6438235B2 (en) 1998-08-05 2002-08-20 Hewlett-Packard Company Media content protection utilizing public key cryptography
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6611812B2 (en) * 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
FR2785034B1 (fr) * 1998-10-23 2000-12-22 Gaz Transport & Technigaz Procede pour eliminer l'evaporation d'un gaz liquefie stocke dans une cuve etanche et isotherme, et dispositif pour sa mise en oeuvre
US6360325B1 (en) * 1998-11-23 2002-03-19 Guo Chiang Chao Method for retarding the duplication of a data-storage device
US6591365B1 (en) * 1999-01-21 2003-07-08 Time Warner Entertainment Co., Lp Copy protection control system
DE60043633D1 (de) 1999-03-03 2010-02-25 Sony Corp Wiedergabegerät und Wiedergabeverfahren

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010015037A (ko) * 1999-06-16 2001-02-26 니시무로 타이죠 기억 매체 및 이 기억 매체를 사용한 콘텐츠 보호 방법
US7788728B2 (en) 2004-01-08 2010-08-31 Samsung Electronics Co., Ltd. Method and apparatus for limiting number of times contents can be accessed using hash chain
WO2011139134A3 (ko) * 2010-05-07 2012-02-02 삼성전자 주식회사 저장 장치의 인증 방법, 기계로 읽을 수 있는 저장 매체 및 호스트 장치

Also Published As

Publication number Publication date
KR100711171B1 (ko) 2007-04-27
EP1058255A3 (en) 2004-03-31
EP1058255B1 (en) 2009-05-13
DE60042185D1 (de) 2009-06-25
EP1058255A2 (en) 2000-12-06
US7143445B1 (en) 2006-11-28

Similar Documents

Publication Publication Date Title
KR100711171B1 (ko) 정보 처리 장치, 정보 처리 방법, 및 프로그램 저장 매체
KR100632495B1 (ko) 정보처리장치 및 방법과 프로그램 격납매체
US7213164B2 (en) Contents furnishing system
KR100654879B1 (ko) 정보 처리 장치 및 방법, 및 프로그램 저장 매체
US20020176576A1 (en) Data recording apparatus, data recording method, and data transfer system
WO2001031461A1 (fr) Systeme fournisseur de contenu
KR20010042749A (ko) 반도체 ic, 정보처리방법, 정보처리장치 및 프로그램격납매체
JP4568933B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2001202088A (ja) コンテンツデータの制御装置及び方法、並びに、記憶媒体
JP2001051906A (ja) 情報処理装置および方法、並びにプログラム格納媒体
KR20020004939A (ko) 콘텐츠 데이터 관리방법
JP4655470B2 (ja) コンテンツデータ処理装置及びコンテンツデータ処理方法、並びにコンテンツデータ管理システム及びコンテンツデータ管理方法
JP2000305846A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2001215974A (ja) データ処理装置、コンテンツ管理方法及び記憶媒体
JP2003099329A (ja) 情報処理装置及び情報処理方法
JP4379653B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2001117660A (ja) 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体
JP4300442B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000306006A (ja) 情報処理装置および方法、並びにプログラム格納媒体
US7467305B2 (en) Method of and system for recording and reproducing information data
JP2000305855A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2001195077A (ja) コンテンツデータの送信装置及び方法、コンテンツデータの制御装置及び方法、並びに、記憶媒体
AU2003257706B2 (en) Information processing apparatus and method, and program storage medium
KR20010089692A (ko) 콘텐츠의 이용조건정보의 제어시스템
JP2006031775A (ja) 情報処理装置および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130405

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140411

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160408

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170407

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180410

Year of fee payment: 12