JP4568933B2 - Information processing apparatus and method, and program storage medium - Google Patents

Information processing apparatus and method, and program storage medium Download PDF

Info

Publication number
JP4568933B2
JP4568933B2 JP36608699A JP36608699A JP4568933B2 JP 4568933 B2 JP4568933 B2 JP 4568933B2 JP 36608699 A JP36608699 A JP 36608699A JP 36608699 A JP36608699 A JP 36608699A JP 4568933 B2 JP4568933 B2 JP 4568933B2
Authority
JP
Japan
Prior art keywords
content
cpu
data
time
database
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP36608699A
Other languages
Japanese (ja)
Other versions
JP2000305854A (en
JP2000305854A5 (en
Inventor
達 河上
隆二 石黒
充 田辺
裕一 江面
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP36608699A priority Critical patent/JP4568933B2/en
Priority to CNB998054518A priority patent/CN1144212C/en
Priority to PCT/JP1999/007302 priority patent/WO2000039800A1/en
Priority to AU18013/00A priority patent/AU1801300A/en
Publication of JP2000305854A publication Critical patent/JP2000305854A/en
Publication of JP2000305854A5 publication Critical patent/JP2000305854A5/ja
Application granted granted Critical
Publication of JP4568933B2 publication Critical patent/JP4568933B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00123Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers the record carrier being identified by recognising some of its unique characteristics, e.g. a unique defect pattern serving as a physical signature of the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00173Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software wherein the origin of the content is checked, e.g. determining whether the content has originally been retrieved from a legal disc copy or another trusted source
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0071Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a purchase action
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00746Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number
    • G11B20/00753Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags
    • G11B20/00768Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific number wherein the usage restriction limits the number of copies that can be made, e.g. CGMS, SCMS, or CCI flags wherein copy control information is used, e.g. for indicating whether a content may be copied freely, no more, once, or never, by setting CGMS, SCMS, or CCI flags
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/0084Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific time or date

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラム格納媒体に関し、特に、例えば、コンテンツの複製を適切に制限することができるようにした情報処理装置および方法、並びにプログラム格納媒体に関する。
【0002】
【従来の技術】
著作権が設定されているAVコンテンツ(例えば、音楽や画像)の複製を制限する方法として、SCMS(Serial Copy Management System)、CGMS(Copy Generation Management Sysytem)などが提案されている。
【0003】
これらのシステムにおいては、図1に示すように、著作権が設定されたコンテンツA1(第1世代)を複製し、コンテンツA2(第2世代)を得ることは(記録することは)できるが、コンテンツA2(第2世代)自体をさらに複製して、コンテンツA3(第3世代)を得ることはできない。
【0004】
【発明が解決しようとする課題】
しかしながら、この場合、図1に示すように、コンテンツA1の複製を繰り返すことより、複数の第2世代のコンテンツA2を得ることができ、コンテンツA1の著作権が十分に保護されない課題があった。
【0005】
そこで、コンテンツA1を1度だけ複製することができるようにした方法として、UCS(Uni Copy System)が提案されているが、この場合、ユーザは、個人の使用の範囲においても、1度だけしか複製することができず、ユーザに不利益を与える課題があった。
【0006】
本発明はこのような状況に鑑みてなされたものであり、ユーザの利益を大きく損なうことなく、大量の複製を実質的に禁止することができるようにするものである。
【0007】
【課題を解決するための手段】
本発明の情報処理装置は、第1の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第1の記録媒体とは異なる第2の記録媒体に記録する複製手段と、前記第1の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新手段と、第1の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得手段と、取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している合には、前記複製手段に対して前記コンテンツの複製を許可し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製制御手段とを含
【0008】
本発明の情報処理方法は、第1の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第1の記録媒体とは異なる第2の記録媒体に記録する複製手段を備える情報処理装置の情報処理方法において、前記第1の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新ステップと、第1の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得ステップと、取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製御ステップとを含む。
【0009】
本発明のプログラム格納媒体は、第1の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第1の記録媒体とは異なる第2の記録媒体に記録する複製手段を備える情報処理装置の制御用のプログラムであって、前記第1の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新ステップと、第1の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得ステップと、取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製御ステップとを含む処理を情報処理装置のコンピュータに実行させるプログラムが格納されている。
【0010】
本発明においては、第1の記録媒体に記録されているコンテンツが複製手段によって複製される毎、コンテンツを識別する識別情報にコンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースが更新され、第1の記録媒体に記録されているコンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報が取得され、取得された識別情報に対応するコンテンツが前回複製されたときの時刻情報が期限データベースから読み出され、複製が指示されたコンテンツが前回複製されてから所定の時間が経過している場合には、複製手段に対してコンテンツの複製が許可される。反対に、複製が指示されたコンテンツが前回複製されてから所定の時間が経過していない場合には、複製手段に対してコンテンツの複製が禁止される。
【0011】
【発明の実施の形態】
図2は、本発明に係る音声データ管理システムの一実施の形態を示す図である。パーソナルコンピュータ1は、ローカルエリアネットワークまたはインターネットなどから構成されるネットワーク2に接続されている。パーソナルコンピュータ1は、EMD(Elecrical Music Distribution)サーバ4−1乃至4−3から受信した、または後述するCD(Compact Disc)から読み取った音楽のデータ(以下、コンテンツと称する)を、所定の圧縮の方式(例えば、ATRAC3(商標))に変換するとともにDES(Data Encryption Standard)などの暗号化方式で暗号化して記録する。
【0012】
パーソナルコンピュータ1は、暗号化して記録しているコンテンツに対応して、コンテンツの利用条件を示す利用条件のデータを記録する。利用条件のデータは、例えば、その利用条件のデータに対応するコンテンツを同時に3台のポータブルデバイス(Portable Device(PDとも称する))6−1乃至6−3で利用できる、コピー(ポータブルデバイス6−1乃至6−3にコンテンツを記憶させても、パーソナルコンピュータ1が記録しているコンテンツは使用できる。ポータブルデバイス6−1乃至6−3にコンテンツを記憶させることができる回数は制限される場合がある。この場合、その回数は、増えることがない。)することができる、他のパーソナルコンピュータに移動する(ポータブルデバイス6−1乃至6−3にコンテンツを記憶させた後、パーソナルコンピュータ1が記録しているコンテンツは使用できなくなる。)ことができるなどを示す。利用条件のデータの詳細は、後述する。
【0013】
パーソナルコンピュータ1は、暗号化して記録しているコンテンツを、コンテンツに関連するデータ(例えば、曲名、または再生条件など)と共に、USB(Universal Sirial Bus)ケーブル7−1を介して、接続されているポータブルデバイス6−1に記憶させるとともに、ポータブルデバイス6−1に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する(以下、チェックアウトと称する)。より詳細には、チェックアウトしたとき、パーソナルコンピュータ1が記録している、そのコンテンツに対応する利用条件のデータのチェックアウトできる回数は、1減らされる。チェックアウトできる回数が0のとき、対応するコンテンツは、チェックアウトすることができない。
【0014】
パーソナルコンピュータ1は、暗号化して記録しているコンテンツを、コンテンツに関連するデータと共に、USBケーブル7−2を介して、接続されているポータブルデバイス6−2に記憶させるとともに、ポータブルデバイス6−2に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する。パーソナルコンピュータ1は、暗号化して記録しているコンテンツを、コンテンツに関連するデータと共に、USBケーブル7−3を介して、接続されているポータブルデバイス6−3に記憶させるとともに、ポータブルデバイス6−3に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する。
【0015】
また、パーソナルコンピュータ1は、USBケーブル7−1を介して、接続されているポータブルデバイス6−1にパーソナルコンピュータ1がチェックアウトしたコンテンツを、ポータブルデバイス6−1に消去させて(または、使用できなくさせて)、消去させたコンテンツに対応する利用条件のデータを更新する(以下、チェックインと称する)。より詳細には、チェックインしたとき、パーソナルコンピュータ1が記録している、対応するコンテンツの利用条件のデータのチェックアウトできる回数は、1増やされる。
【0016】
パーソナルコンピュータ1は、USBケーブル7−2を介して、接続されているポータブルデバイス6−2にパーソナルコンピュータ1がチェックアウトしたコンテンツを、ポータブルデバイス6−2に消去させて(または、使用できなくさせて)、消去させたコンテンツに対応する利用条件のデータを更新する。パーソナルコンピュータ1は、USBケーブル7−3を介して、接続されているポータブルデバイス6−3にパーソナルコンピュータ1がチェックアウトしたコンテンツを、ポータブルデバイス6−3に消去させて(または、使用できなくさせて)、消去させたコンテンツに対応する利用条件のデータを更新する。
【0017】
パーソナルコンピュータ1は、図示せぬ他のパーソナルコンピュータがポータブルデバイス6−1にチェックアウトしたコンテンツをチェックインできない。
パーソナルコンピュータ1は、他のパーソナルコンピュータがポータブルデバイス6−2にチェックアウトしたコンテンツをチェックインできない。パーソナルコンピュータ1は、他のパーソナルコンピュータがポータブルデバイス6−3にチェックアウトしたコンテンツをチェックインできない。
【0018】
EMD登録サーバ3は、パーソナルコンピュータ1がEMDサーバ4−1乃至4−3からコンテンツの取得を開始するとき、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、パーソナルコンピュータ1とEMDサーバ4−1乃至4−3との相互認証に必要な認証鍵をパーソナルコンピュータ1に送信するとともに、EMDサーバ4−1乃至4−3に接続するためのプログラムをパーソナルコンピュータ1に送信する。
【0019】
EMDサーバ4−1は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツに関連するデータ(例えば、曲名、または再生制限など)と共に、パーソナルコンピュータ1にコンテンツを供給する。EMDサーバ4−2は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツに関連するデータと共に、パーソナルコンピュータ1にコンテンツを供給する。EMDサーバ4−3は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツに関連するデータと共に、パーソナルコンピュータ1にコンテンツを供給する。
【0020】
EMDサーバ4−1乃至4−3のそれぞれが供給するコンテンツは、同一または異なる圧縮の方式で圧縮されている。EMDサーバ4−1乃至4−3のそれぞれが供給するコンテンツは、同一または異なる暗号化の方式で暗号化されている。
【0021】
WWW(World Wide Web)サーバ5−1は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツを読み取ったCD(例えば、CDのアルバム名、またはCDの販売会社など)、およびCDから読み取ったコンテンツに対応するデータ(例えば、曲名、または作曲者名など)をパーソナルコンピュータ1に供給する。WWWサーバ5−2は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツを読み取ったCD、およびCDから読み取ったコンテンツに対応するデータをパーソナルコンピュータ1に供給する。
【0022】
ポータブルデバイス6−1は、パーソナルコンピュータ1から供給されたコンテンツ(すなわち、チェックアウトされたコンテンツ)を、コンテンツに関連するデータ(例えば、曲名、または再生制限など)と共に記憶する。ポータブルデバイス6−1は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。
【0023】
例えば、コンテンツに関連するデータとして記憶されている、再生制限としての再生回数を超えて再生しようとしたとき、ポータブルデバイス6−1は、対応するコンテンツの再生を停止する。コンテンツに関連するデータとして記憶されている再生制限としての、再生期限を過ぎた後に再生しようとしたとき、ポータブルデバイス6−1は、対応するコンテンツの再生を停止する。
【0024】
使用者は、コンテンツを記憶したポータブルデバイス6−1をパーソナルコンピュータ1から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【0025】
ポータブルデバイス6−2は、パーソナルコンピュータ1から供給されたコンテンツを、コンテンツに関連するデータと共に記憶する。ポータブルデバイス6−2は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。使用者は、コンテンツを記憶したポータブルデバイス6−2をパーソナルコンピュータ1から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【0026】
ポータブルデバイス6−3は、パーソナルコンピュータ1から供給されたコンテンツを、コンテンツに関連するデータと共に記憶する。ポータブルデバイス6−3は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。使用者は、コンテンツを記憶したポータブルデバイス6−3をパーソナルコンピュータ1から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【0027】
以下、ポータブルデバイス6−1乃至6−3を個々に区別する必要がないとき、単にポータブルデバイス6と称する。
【0028】
図3は、パーソナルコンピュータ1の構成を説明する図である。CPU(Central Processing Unit)11は、各種アプリケーションプログラム(詳細については後述する)や、OS(Operating System)を実際に実行する。ROM(Read-only Memory)12は、一般的には、CPU11が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM(Random-Access Memory)13は、CPU11の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはCPUバスなどから構成されるホストバス14により相互に接続されている。
【0029】
ホストバス14は、ブリッジ15を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス16に接続されている。
【0030】
キーボード18は、CPU11に各種の指令を入力するとき、使用者により操作される。マウス19は、ディスプレイ20の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ20は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)21は、ハードディスクを駆動し、それらにCPU11によって実行するプログラムや情報を記録または再生させる。
【0031】
ドライブ22は、装着されている磁気ディスク41、光ディスク42(CDを含む)、光磁気ディスク43、または半導体メモリ44に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース17、外部バス16、ブリッジ15、およびホストバス14を介して接続されているRAM13に供給する。
【0032】
USBポート23−1には、USBケーブル7−1を介して、ポータブルデバイス6−1が接続される。USBポート23−1は、インターフェース17、外部バス16、ブリッジ15、またはホストバス14を介して、HDD21、CPU11、またはRAM13から供給されたデータ(例えば、コンテンツまたはポータブルデバイス6−1のコマンドなどを含む)をポータブルデバイス6−1に出力する。
【0033】
USBポート23−2には、USBケーブル7−2を介して、ポータブルデバイス6−2が接続される。USBポート23−2は、インターフェース17、外部バス16、ブリッジ15、またはホストバス14を介して、HDD21、CPU11、またはRAM13から供給されたデータ(例えば、コンテンツまたはポータブルデバイス6−2のコマンドなどを含む)をポータブルデバイス6−2に出力する。
【0034】
USBポート23−3には、USBケーブル7−3を介して、ポータブルデバイス6−3が接続される。USBポート23−3は、インターフェース17、外部バス16、ブリッジ15、またはホストバス14を介して、HDD21、CPU11、またはRAM13から供給されたデータ(例えば、コンテンツまたはポータブルデバイス6−3のコマンドなどを含む)をポータブルデバイス6−3に出力する。
【0035】
IEC(Internationl Electrotechnical Commission)60958端子を有する音声入出力インタフェース24は、デジタル音声入出力、あるいはアナログ音声入出力のインタフェース処理を実行する。スピーカ45は、音声入出力インタフェース24から供給された音声信号を基に、コンテンツに対応する所定の音声を出力する。
【0036】
これらのキーボード18乃至音声入出力インタフェース24は、インターフェース17に接続されており、インターフェース17は、外部バス16、ブリッジ15、およびホストバス14を介してCPU11に接続されている。
【0037】
通信部25は、ネットワーク2が接続され、CPU11、またはHDD21から供給されたデータ(例えば、登録の要求、またはコンテンツの送信要求など)を、所定の方式のパケットに格納して、ネットワーク2を介して、送信するとともに、ネットワーク2を介して、受信したパケットに格納されているデータ(例えば、認証鍵、またはコンテンツなど)をCPU11、RAM13、またはHDD21に出力する。
【0038】
半導体ICとして、一体的に形成され、パーソナルコンピュータ1に装着されるアダプタ26のCPU32は、外部バス16、ブリッジ15、およびホストバス14を介してパーソナルコンピュータ1のCPU11と共働し、各種の処理を実行する。RAM33は、CPU32が各種の処理を実行する上において必要なデータやプログラムを記憶する。不揮発性メモリ34は、パーソナルコンピュータ1の電源がオフされた後も保持する必要があるデータを記憶する。ROM36には、パーソナルコンピュータ1から、暗号化されているプログラムが転送されてきたとき、それを復号するプログラムが記憶されている。RTC(Real Time Clock)35は、計時動作を実行し、時刻情報を提供する。
【0039】
通信部25およびアダプタ26は、外部バス16、ブリッジ15、およびホストバス14を介してCPU11に接続されている。
【0040】
以下、USBポート23−1乃至23−3を個々に区別する必要がないとき、単に、USBポート23と称する。以下、USBケーブル7−1乃至7−3を個々に区別する必要がないとき、単にUSBケーブル7と称する。
【0041】
次に、ポータブルデバイス6の構成を図4を参照して説明する。電源回路52は、乾電池51から供給される電源電圧を所定の電圧の内部電力に変換して、CPU53乃至表示部67に供給することにより、ポータブルデバイス6全体を駆動させる。
【0042】
USBコントローラ57は、USBコネクタ56を介して、パーソナルコンピュータ1とUSBケーブル7を介して接続された場合、パーソナルコンピュータ1から転送されたコンテンツを、内部バス58を介して、CPU53に供給する。
【0043】
コンテンツは、1パケット当たり64バイトのデータから構成され、12Mbit/secの転送レートでパーソナルコンピュータ1から転送される。
【0044】
ポータブルデバイス6に転送されるコンテンツは、ヘッダおよび音声データ(コンテンツの実体である、音声信号に対応したデータ)から構成され、ヘッダには、ファイル名、ヘッダサイズ、コンテンツ鍵、ファイルサイズ、コーデックID、ファイル情報などが格納されていると共に、再生制限処理に必要な再生制限データ、開始日時、終了日時、回数制限、および再生回数カウンタなどが格納されている。音声データは、ATRAC3などの符号化方式で符号化され、暗号化されている、所定の曲の音声信号に対応するデータである。
【0045】
ヘッダサイズは、ヘッダのデータ長(例えば、33バイトなど)を表し、ファイルサイズは、音声データのデータ長(例えば、33,636,138バイトなど)を表す。
【0046】
コンテンツ鍵は、暗号化されている音声データを復号するための鍵であり、パーソナルコンピュータ1とポータブルデバイス6との相互認証の処理で生成されたセッション鍵(一時鍵)を基に暗号化された状態で、パーソナルコンピュータ1からポータブルデバイス6に送信される。
【0047】
ポータブルデバイス6がUSBケーブル7を介してパーソナルコンピュータ1のUSBポート23に接続されたとき、ポータブルデバイス6とパーソナルコンピュータ1とは、相互認証の処理を実行する。この相互認証の処理は、例えば、チャレンジレスポンス方式の認証の処理である。ちなみに、ポータブルデバイス6のDSP59は、チャレンジレスポンス方式の認証の処理を行うとき、暗号解読(復号)の処理を実行する。
【0048】
チャレンジレスポンス方式とは、例えば、パーソナルコンピュータ1が生成するある値(チャレンジ)に対して、ポータブルデバイス6がパーソナルコンピュータ1と共有している秘密鍵を使用して生成した値(レスポンス)で応答する方式である。チャレンジレスポンス方式の相互認証の処理においては、パーソナルコンピュータ1が生成する値は認証の処理毎に毎回変化するので、例えば、ポータブルデバイス6が出力した、秘密鍵を使用して生成された値が読み出されて、いわゆる、なりすましの攻撃を受けても、次の相互認証の処理では、相互認証に使用される値が異なるので、パーソナルコンピュータ1は不正を検出できる。
【0049】
コーデックIDは、音声データの符号化方式に対応したIDであり、例えば、コーデックID”1”は、ATRAC3に対応し、コーデックID”0”は、MP3(MPEG(Moving Picture Experts Group) Audio Layer-3)に対応する。
【0050】
ファイル名は、コンテンツに対応するパーソナルコンピュータ1が記録しているコンテンツファイル(後述する)をASCII(American National Standard Code for Information Interchange)コードに変換したデータであり、ファイル情報は、コンテンツに対応する曲名、アーティスト名、作詞者名、または作曲者名などをASCIIコードに変換したデータである。
【0051】
再生制限データは、コンテンツの再生が可能な期間(すなわち、開始日時または終了日時)または回数制限(再生の回数の制限)が設定されているか否かを示すデータである。再生制限データには、回数制限が設定されているとき、”1”が割り当てられ、再生が可能な期間が設定されているとき、”2”が割り当てられ、回数制限および再生が可能な期間がいずれも設定されていないとき(いわゆる、買い取りで購入されたとき)、”0”が割り当てられる。
【0052】
開始日時および終了日時は、再生制限データが”2”であるとき、再生可能期間の範囲を示すデータである。例えば、開始日時が”00040F”であり、終了日時が”00070F”であるとき、対応するコンテンツは、2000年4月15日から2000年7月15日まで、再生が可能である。
【0053】
同様に、回数制限および再生回数カウンタは、再生制限データが”1”または”2”であるとき、回数制限は、そのコンテンツに対応して予め設定された再生可能な回数であり、再生回数カウンタは、そのコンテンツの再生の処理を実行したときCPU53により更新される、コンテンツが再生された回数を示す。例えば、回数制限が”02”であるとき、そのコンテンツの再生可能な回数は2回であり、再生回数カウンタが”01”であるとき、そのコンテンツが再生された回数は1回である。
【0054】
例えば、再生制限データが”2”であり、開始日時が”00040F”であり、終了日時が”00070F”であり、再生制限データが”2”であるとき、ポータブルデバイス6は、対応するコンテンツを、2000年4月15日から2000年7月15日までの期間において、1日2回ずつ繰り返し再生できる。
【0055】
例えば、再生制限データが”1”であり、開始日時が”000000”であり、終了日時が”000000”であり、再生制限データが”0a”であり、再生回数カウンタが”05”であるとき、対応するコンテンツは、再生可能な期間の制限がなく、再生可能な回数が10回であり、再生された回数が5回である。
【0056】
ポータブルデバイス6が、パーソナルコンピュータ1からコンテンツと共にコンテンツの書き込み命令を受信した場合、ROM55からRAM54に読み出したメインプログラムを実行するCPU53は、書き込み命令を受け取り、フラッシュメモリコントローラ60を制御して、パーソナルコンピュータ1から受信したコンテンツをフラッシュメモリ61に書き込ませる。
【0057】
フラッシュメモリ61は、約64MByteの記憶容量を有し、コンテンツ(音声データ)を記憶する。また、フラッシュメモリ61には、所定の圧縮方式で圧縮されている音声データを伸張するための再生用コードが予め格納されている。
【0058】
なお、フラッシュメモリ61は、ポータブルデバイス6に着脱可能とすることができる。
【0059】
使用者による、図示せぬ再生/停止ボタンの押し下げ操作に対応した再生命令が操作キーコントローラ62を介してCPU53に供給されると、CPU53は、フラッシュメモリコントローラ60に、フラッシュメモリ61から、再生用コードと音声データとを読み出させ、DSP59に転送させる。
【0060】
DSP59は、フラッシュメモリ61から転送された再生用コードに基づいて音声データをCRC(Cyclic Redundancy Check)方式で誤り検出をした後、再生して、再生したデータ(図4中においてD1で示す)をディジタル/アナログ変換回路63に供給する。
【0061】
DSP59は、内部に設けられた図示せぬ発信回路とともに一体に構成され、外付けされた水晶で成る発信子59AからのマスタークロックMCLKを基に、音声データを再生するとともに、マスタークロックMCLK、マスタークロックMCLKを基に内部の発振回路で生成した所定の周波数のビットクロックBCLK、並びにフレーム単位のLチャンネルクロックLCLK、およびRチャンネルクロックRCLKからなる動作クロックLRCLKをディジタルアナログ変換回路63に供給する。
【0062】
DSP59は、音声データを再生するとき、再生用コードに従って上述の動作クロックをディジタルアナログ変換回路63に供給して、音声データを再生しないとき、再生用コードに従って動作クロックの供給を停止して、ディジタルアナログ変換回路63を停止させて、ポータブルデバイス6全体の消費電力量を低減する。
【0063】
同様に、CPU53およびUSBコントローラ57も、水晶でなる発振子53Aまたは57Aがそれぞれ外付けされ、発振子53Aまたは57Aからそれぞれ供給されるマスタークロックMCLKに基づき、所定の処理を実行する。
【0064】
このように構成することで、ポータブルデバイス6は、CPU53,DSP59,USBコントローラ57等の各回路ブロックに対してクロック供給を行うためのクロック発生モジュールが不要となり、回路構成を簡素化すると共に小型化することができる。
【0065】
ディジタルアナログ変換回路63は、再生した音声データをアナログの音声信号に変換して、これを増幅回路64に供給する。増幅回路64は、音声信号を増幅して、ヘッドフォンジャック65を介して、図示せぬヘッドフォンに音声信号を供給する。
【0066】
このように、ポータブルデバイス6は、図示せぬ再生/停止ボタンが押圧操作されたとき、CPU53の制御に基づいてフラッシュメモリ61に記憶されている音声データを再生するとともに、再生中に再生/停止ボタンが押圧操作されたとき、音声データの再生を停止する。
【0067】
ポータブルデバイス6は、停止後に再度再生/停止ボタンが押圧操作されたとき、CPU53の制御に基づいて停止した位置から音声データの再生を再開する。再生/停止ボタンが押圧操作により再生を停止して操作が加わることなく数秒間経過したとき、ポータブルデバイス6は、自動的に電源をオフして消費電力を低減する。
【0068】
因みに、ポータブルデバイス6は、電源がオフになった後に再生/停止ボタンが押圧操作されたとき、前回の停止した位置から音声データを再生せず、1曲目から再生する。
【0069】
また、ポータブルデバイス6のCPU53は、LCDコントローラ68を制御して、表示部67に、再生モードの状態(例えば、リピート再生、イントロ再生など)、イコライザ調整(すなわち、音声信号の周波数帯域に対応した利得の調整)、曲番号、演奏時間、再生、停止、早送り、早戻しなどの状態、音量および乾電池51の残量等の情報を表示させる。
【0070】
さらに、ポータブルデバイス6は、EEPROM68に、フラッシュメモリ80に書き込まれているコンテンツの数、それぞれのコンテンツが書き込まれているフラッシュメモリ61のブロック位置、およびその他種々のメモリ蓄積情報等のいわゆるFAT(File Allocation Table)を格納する。
【0071】
因みに、本実施の形態においては、音声データは、64KByteを1ブロックとして扱われ、1曲のコンテンツに対応したブロック位置がFATに格納される。
【0072】
フラッシュメモリ61にFATが格納される場合、例えば、1曲目のコンテンツがCPU53の制御によりフラッシュメモリ61に書き込まれると、1曲目のコンテンツに対応するブロック位置がFATとしてフラッシュメモリ61に書き込まれ、次に、2曲目のコンテンツがフラッシュメモリ61に書き込まれると、2曲目のコンテンツに対応するブロック位置がFATとしてフラッシュメモリ61(1曲目と同一の領域)に書き込まれる。
【0073】
このように、FATは、フラッシュメモリ61へのコンテンツの書き込みの度に書き換えられ、更に、データの保護の為、同一のデータがリザーブ用に2重に書き込まれる。
【0074】
FATがフラッシュメモリ61に書き込まれると、1回のコンテンツの書き込みに対応して、フラッシュメモリ61の同一の領域が2回書き換えられるので、少ないコンテンツの書き込みの回数で、フラッシュメモリ61に規定されている書き換えの回数に達してしまい、フラッシュメモリ61の書き換えができなくなってしまう。
【0075】
そこで、ポータブルデバイス6は、FATをEEPROM68に記憶させて、1回のコンテンツの書き込みに対応するフラッシュメモリ61の書き換えの頻度を少なくしている。
【0076】
書き換えの回数の多いFATをEEPROM68に記憶させることにより、FATをフラッシュメモリ61に記憶させる場合に比較して、ポータブルデバイス6は、コンテンツの書き込みができる回数を数十倍以上に増やすことができる。更に、CPU53は、EEPROM68にFATを追記するように書き込ませるので、EEPROM68の同一の領域の書き換えの頻度を少なくして、EEPROM68が短期間で書き換え不能になることを防止する。
【0077】
ポータブルデバイス6は、USBケーブル7を介してパーソナルコンピュータ1に接続されたとき(以下、これをUSB接続と称する)、USBコントローラ57からCPU53に供給される割り込み信号に基づき、USB接続されたことを認識する。
【0078】
ポータブルデバイス6は、USB接続されたことを認識すると、パーソナルコンピュータ1からUSBケーブル7を介して規定電流値の外部電力の供給を受けるとともに、電源回路52を制御して、乾電池51からの電力の供給を停止させる。
【0079】
CPU53は、USB接続されたとき、DSP59の音声データの再生の処理を停止させる。これにより、CPU53は、パーソナルコンピュータ1から供給される外部電力が規定電流値を超えてしまうことを防止して、規定電流値の外部電力を常時受けられるように制御する。
【0080】
このようにCPU53は、USB接続されると、乾電池51から供給される電力からパーソナルコンピュータ1から供給される電力に切り換えるので、電力単価の安いパーソナルコンピュータ1からの外部電力が使用され、電力単価の高い乾電池51の消費電力が低減され、かくして乾電池51の寿命を延ばすことができる。
【0081】
なお、CPU53は、パーソナルコンピュータ1からUSBケーブル7を介して外部電力の供給を受けたとき、DSP59の再生処理を停止させることにより、DSP59からの輻射を低減させ、その結果としてパーソナルコンピュータ1を含むシステム全体の輻射を一段と低減させる。
【0082】
図5は、CPU11の所定のプログラムの実行等により実現される、パーソナルコンピュータ1の機能の構成を説明するブロック図である。コンテンツ管理プログラム111は、EMD選択プログラム131、チェックイン/チェックアウト管理プログラム132、暗号方式変換プログラム133、圧縮方式変換プログラム134、暗号化プログラム135、利用条件変換プログラム136、署名管理プログラム137、認証プログラム138、復号プログラム139、PD用ドライバ140、購入用ドライバ141、および購入用ドライバ142などの複数のプログラムで構成されている。
【0083】
コンテンツ管理プログラム111は、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されて、その処理内容を外部から隠蔽し、その処理内容の読解が困難になる(例えば、使用者が、直接、コンテンツ管理プログラム111を読み出しても、インストラクションを特定できないなど)ように構成されている。
【0084】
EMD選択プログラム131は、コンテンツ管理プログラム111がパーソナルコンピュータ1にインストールされるとき、コンテンツ管理プログラム111には含まれず、後述するEMDの登録の処理において、ネットワーク2を介して、EMD登録サーバ3から受信される。EMD選択プログラム131は、EMDサーバ4−1乃至4−3のいずれかとの接続を選択して、購入用アプリケーション115、または購入用ドライバ141若しくは142に、EMDサーバ4−1乃至4−3のいずれかとの通信(例えば、コンテンツを購入するときの、コンテンツのダウンロードなど)を実行させる。
【0085】
チェックイン/チェックアウト管理プログラム132は、チェックインまたはチェックアウトの設定、およびコンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに基づいて、コンテンツファイル161−1乃至161−Nに格納されているコンテンツをポータブルデバイス6−1乃至6−3のいずれかにチェックアウトするか、またはポータブルデバイス6−1乃至6−3に記憶されているコンテンツをチェックインする。
【0086】
チェックイン/チェックアウト管理プログラム132は、チェックインまたはチェックアウトの処理に対応して、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータを更新する。
【0087】
暗号方式変換プログラム133は、ネットワーク2を介して、購入用アプリケーションプログラム115がEMDサーバ4−1から受信したコンテンツの暗号化の方式、購入用ドライバ141がEMDサーバ4−2から受信したコンテンツの暗号化の方式、または購入用ドライバ142がEMDサーバ4−3から受信したコンテンツの暗号化の方式を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の暗号化の方式に変換する。
【0088】
また、暗号方式変換プログラム133は、ポータブルデバイス6−1または6−3にコンテンツをチェックアウトするとき、チェックアウトするコンテンツを、ポータブルデバイス6−1または6−3が利用可能な暗号化方式に変換する。
【0089】
圧縮方式変換プログラム134は、ネットワーク2を介して、購入用アプリケーションプログラム115がEMDサーバ4−1から受信したコンテンツの圧縮の方式、購入用ドライバ141がEMDサーバ4−2から受信したコンテンツの圧縮の方式、または購入用ドライバ142がEMDサーバ4−3から受信したコンテンツの圧縮の方式を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の圧縮の方式に変換する。
【0090】
圧縮方式変換プログラム134は、例えばCDから読み取られ、録音プログラム113から供給されたコンテンツ(圧縮されていない)を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の符号化の方式で符号化する。
【0091】
また、圧縮方式変換プログラム134は、ポータブルデバイス6−1または6−3にコンテンツをチェックアウトするとき、チェックアウトするコンテンツを、ポータブルデバイス6−1または6−3が利用可能な圧縮の方式に変換する。
【0092】
暗号化プログラム135は、例えばCDから読み取られ、録音プログラム113から供給されたコンテンツ(暗号化されていない)を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の暗号化の方式で暗号化する。
【0093】
利用条件変換プログラム136は、ネットワーク2を介して、購入用アプリケーションプログラム115がEMDサーバ4−1から受信したコンテンツの利用条件を示すデータ(いわゆる、Usage Rule)、購入用ドライバ141がEMDサーバ4−2から受信したコンテンツの利用条件を示すデータ、または購入用ドライバ142がEMDサーバ4−3から受信したコンテンツの利用条件を示すデータを、コンテンツデータベース114が記録している利用条件ファイル162−1乃至162−Nに格納されている利用条件データと同一のフォーマットに変換する。
【0094】
また、利用条件変換プログラム136は、ポータブルデバイス6−1または6−3にコンテンツをチェックアウトするとき、チェックアウトするコンテンツに対応する利用条件のデータを、ポータブルデバイス6−1または6−3が利用可能な利用条件のデータに変換する。
【0095】
署名管理プログラム137は、チェックインまたはチェックアウトの処理を実行する前に、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータに含まれている署名(後述する)を基に、利用条件のデータの改竄を検出する。署名管理プログラム137は、チェックインまたはチェックアウトの処理に伴う、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータを更新に対応して、利用条件のデータに含まれる署名を更新する。
【0096】
認証プログラム138は、コンテンツ管理プログラム111と購入用アプリケーションプログラム115との相互認証の処理、およびコンテンツ管理プログラム111と購入用ドライバ141との相互認証の処理を実行する。また、認証プログラム138は、EMDサーバ4−1と購入用アプリケーションプログラム115との相互認証の処理、EMDサーバ4−2と購入用ドライバ141との相互認証の処理、およびEMDサーバ4−3と購入用ドライバ142との相互認証の処理で利用される認証鍵を記憶している。
【0097】
認証プログラム138が相互認証の処理で利用する認証鍵は、コンテンツ管理プログラム111がパーソナルコンピュータ1にインストールされたとき、認証プログラム138に記憶されておらず、表示操作指示プログラム112により登録の処理が正常に実行されたとき、EMD登録サーバ3から供給され、認証プログラム138に記憶される。
【0098】
復号プログラム139は、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツをパーソナルコンピュータ1が再生するとき、コンテンツを復号する。
【0099】
PD用ドライバ140は、ポータブルデバイス6−2に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス6−2から所定のコンテンツをチェックインするとき、ポータブルデバイス6−2にコンテンツまたはポータブルデバイス6−2に所定の処理を実行させるコマンドを供給する。
【0100】
PD用ドライバ140は、ポータブルデバイス6−1に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス6−1から所定のコンテンツをチェックインするとき、デバイスドライバ116−1にコンテンツ、またはデバイスドライバ116−1に所定の処理を実行させるコマンドを供給する。
【0101】
PD用ドライバ140は、ポータブルデバイス6−3に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス6−3から所定のコンテンツをチェックインするとき、デバイスドライバ116−2にコンテンツ、またはデバイスドライバ116−2に所定の処理を実行させるコマンドを供給する。
【0102】
購入用ドライバ141は、いわゆる、プラグインプログラムであり、コンテンツ管理プログラム111と共にインストールされ、EMD登録サーバ3からネットワーク2を介して供給され、または所定のCDに記録されて供給される。購入用ドライバ141は、パーソナルコンピュータ1にインストールされたとき、コンテンツ管理プログラム111の有する所定の形式のインターフェースを介して、コンテンツ管理プログラム111とデータを送受信する。
【0103】
購入用ドライバ141は、ネットワーク2を介して、EMDサーバ4−2に所定のコンテンツの送信を要求するとともに、EMDサーバ4−2からコンテンツを受信する。また、購入用ドライバ141は、EMDサーバ4−2からコンテンツを受信するとき、課金の処理を実行する。
【0104】
購入用ドライバ142は、コンテンツ管理プログラム111と共にインストールされるプログラムであり、ネットワーク2を介して、EMDサーバ4−3に所定のコンテンツの送信を要求するとともに、EMDサーバ4−3からコンテンツを受信する。また、購入用ドライバ142は、EMDサーバ4−3からコンテンツを受信するとき、課金の処理を実行する。
【0105】
表示操作指示プログラム112は、フィルタリングデータファイル181、表示データファイル182、画像ファイル183−1乃至183−K、または履歴データファイル184を基に、ディスプレイ20に所定のウィンドウの画像を表示させ、キーボード18またはマウス19への操作を基に、コンテンツ管理プログラム111にチェックインまたはチェックアウトなどの処理の実行を指示する。
【0106】
フィルタリングデータファイル181は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツそれぞれに重み付けをするためのデータを格納して、HDD21に記録されている。
【0107】
表示データファイル182は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツに対応するデータを格納して、HDD21に記録されている。
【0108】
画像ファイル183−1乃至183−Kは、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに対応する画像、または後述するパッケージに対応する画像を格納して、HDD21に記録されている。
【0109】
以下、画像ファイル183−1乃至183−Kを個々に区別する必要がないとき、単に、画像ファイル183と称する。
【0110】
履歴データファイル184は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツがチェックアウトされた回数、チェックインされた回数、その日付などの履歴データを格納して、HDD21に記録されている。
【0111】
表示操作指示プログラム112は、登録の処理のとき、ネットワーク2を介して、EMD登録サーバ3に、予め記憶しているコンテンツ管理プログラム111のIDを送信するとともに、EMD登録サーバ3から認証用鍵およびEMD選択プログラム131を受信して、コンテンツ管理プログラム111に認証用鍵およびEMD選択プログラム131を供給する。
【0112】
録音プログラム113は、所定のウィンドウの画像を表示させて、キーボード18またはマウス19への操作を基に、ドライブ22に装着された光ディスク42であるCDからコンテンツの録音時間などのデータを読み出す。
【0113】
録音プログラム113は、CDに記録されているコンテンツの録音時間などを基に、ネットワーク2を介して、WWWサーバ5−1または5−2にCDに対応するデータ(例えば、アルバム名、またはアーティスト名など)またはCDに記録されているコンテンツに対応するデータ(例えば、曲名など)の送信を要求するとともに、WWWサーバ5−1または5−2からCDに対応するデータまたはCDに記録されているコンテンツに対応するデータを受信する。
【0114】
録音プログラム113は、受信したCDに対応するデータまたはCDに記録されているコンテンツに対応するデータを、表示操作指示プログラム112に供給する。
【0115】
また、録音の指示が入力されたとき、録音プログラム113は、ドライブ22に装着された光ディスク42であるCDからコンテンツを読み出して、コンテンツ管理プログラム111に出力する。
【0116】
コンテンツデータベース114は、コンテンツ管理プログラム111から供給された所定の方式で圧縮され、所定の方式で暗号化されているコンテンツを、コンテンツファイル161−1乃至161−Nのいずれかに格納する(HDD21に記録する)。コンテンツデータベース114は、コンテンツファイル161−1乃至161−Nにそれぞれ格納されているコンテンツに対応する利用条件のデータを、コンテンツが格納されているコンテンツファイル161−1乃至161−Nにそれぞれ対応する利用条件ファイル162−1乃至162−Nのいずれかに格納する(HDD21に記録する)。
【0117】
コンテンツデータベース114は、コンテンツファイル161−1乃至161−Nまたは利用条件ファイル162−1乃至162−Nをレコードとして記録してもよい。
【0118】
例えば、コンテンツファイル161−1に格納されているコンテンツに対応する利用条件のデータは、利用条件ファイル162−1に格納されている。コンテンツファイル161−Nに格納されているコンテンツに対応する利用条件のデータは、利用条件ファイル162−Nに格納されている。
【0119】
なお、利用条件ファイル162−1乃至162−Nに記録されているデータは、後述する期限データベースに記録されているデータ、または曲データベースに記録されているデータに対応する。すなわち、コンテンツデータベース114は、後述する期限データベースおよび曲データベースを包含して、構成されている。
【0120】
以下、コンテンツファイル161−1乃至161−Nを個々に区別する必要がないとき、単に、コンテンツファイル161と称する。以下、利用条件ファイル162−1乃至162−Nを個々に区別する必要がないとき、単に、利用条件ファイル162と称する。
【0121】
購入用アプリケーションプログラム115は、EMD登録サーバ3からネットワーク2を介して供給され、または所定のCDに記録されて供給される。購入用アプリケーションプログラム115は、ネットワーク2を介して、EMDサーバ4−1に所定のコンテンツの送信を要求するとともに、EMDサーバ4−1からコンテンツを受信して、コンテンツ管理プログラム111に供給する。また、購入用アプリケーションプログラム115は、EMDサーバ4−1からコンテンツを受信するとき、課金の処理を実行する。
【0122】
次に、表示データファイル82に格納されているデータとコンテンツデータベースに格納されているコンテンツファイル161−1乃至161−Nとの対応付けについて説明する。
【0123】
コンテンツファイル161−1乃至161−Nのいずれかに格納されているコンテンツは、所定のパッケージに属する。パッケージは、より詳細には、オリジナルパッケージ、マイセレクトパッケージ、またはフィルタリングパッケージのいずれかである。
【0124】
オリジナルパッケージは、1以上のコンテンツが属し、EMDサーバ4−1乃至4−3におけるコンテンツの分類(例えば、いわゆるアルバムに対応する)、または一枚のCDに対応する。コンテンツは、いずれかのオリジナルパッケージに属し、複数のオリジナルパッケージに属することができない。また、コンテンツが属するオリジナルパッケージは、変更することができない。使用者は、オリジナルパッケージに対応する情報の一部を編集(情報の追加、または追加した情報の変更)することができる。
【0125】
マイセレクトパッケージは、使用者が任意に選択した1以上のコンテンツが属する。マイセレクトパッケージにいずれのコンテンツが属するかは、使用者が任意に編集することができる。コンテンツは、1以上のマイセレクトパッケージに同時に属することができる。また、コンテンツは、いずれのマイセレクトパッケージに属しなくともよい。
【0126】
フィルタリングパッケージには、フィルタリングデータファイル181に格納されているフィルタリングデータを基に選択されたコンテンツが属する。フィルタリングデータは、EMDサーバ4−1乃至4−3またはWWWサーバ5−1若しくは5−2などからネットワーク2を介して供給され、または所定のCDに記録されて供給される。使用者は、フィルタリングデータファイル181に格納されているフィルタリングデータを編集することができる。
【0127】
フィルタリングデータは、所定のコンテンツを選択する、またはコンテンツに対応する重みを算出する基準となる。例えば、今週のJ−POP(日本のポップス)ベストテンに対応するフィルタリングデータを利用すれば、パーソナルコンピュータ1は、今週の日本のポップス1位のコンテンツ乃至今週の日本のポップス10位のコンテンツを特定することができる。
【0128】
フィルタリングデータファイル181は、例えば、過去1月間にチェックアウトされていた期間が長い順にコンテンツを選択するフィルタリングデータ、過去半年間にチェックアウトされた回数が多いコンテンツを選択するフィルタリングデータ、または曲名に”愛”の文字が含まれているコンテンツを選択するフィルタリングデータなどを含んでいる。
【0129】
このようにフィルタリングパッケージのコンテンツは、コンテンツに対応するコンテンツ用表示データ221(コンテンツ用表示データ221に使用者が設定したデータを含む)、または履歴データ184などと、フィルタリングデータとを対応させて選択される。
【0130】
図6は、WWWサーバ5−2からCDの情報を受信したとき、録音プログラム113がディスプレイ20に表示させるウィンドウを説明する図である。WWWサーバ5−2から受信したCDの情報を基に、録音プログラム113は、フィールド201に、例えば、”アシンクロナイズド”などのCDのタイトルを表示する。WWWサーバ5−2から受信したCDの情報を基に、録音プログラム113は、フィールド202に、例えば、”クワイ”などのアーティスト名を表示する。
【0131】
WWWサーバ5−2から受信したCDの情報を基に、録音プログラム113は、フィールド203の曲名を表示する部分に、例えば、”ヒート”,”プラネット”,”ブラック”,”ソウル”などの曲名を表示する。同様に、録音プログラム113は、フィールド203のアーティストを表示する部分に、例えば、”クワイ”などのアーティスト名を表示する。
【0132】
録音プログラム113が所定のCDの情報を受信した後、録音プログラム113は、HDD21の所定のディレクトリにCDの情報を格納する。
【0133】
ボタン204などがクリックされて、CDの情報の取得の指示を受けたとき、録音プログラム113は、始めに、HDD21の所定のディレクトリを検索する。録音プログラム113は、そのディレクトリにCDの情報が格納されているとき、図示せぬダイアログボックスを表示して、使用者にディレクトリに格納されているCDの情報を利用するか否かを選択させる。
【0134】
録音プログラム113が表示させるウィンドウに配置されているコンテンツの録音の開始を指示するボタン206がクリックされたとき、録音プログラム113は、ドライブ22に格納されているCDからコンテンツを読み出して、CDから読み出したコンテンツをCDの情報と共にコンテンツ管理プログラム111に供給する。コンテンツ管理プログラム111の圧縮方式変換プログラム134は、録音プログラム113から供給されたコンテンツを所定の圧縮の方式で圧縮して、暗号化プログラム135は、圧縮されたコンテンツを、暗号化する。また、利用条件変換プログラム136は、圧縮され、暗号化されたコンテンツに対応する利用条件のデータを生成する。
【0135】
コンテンツ管理プログラム111は、圧縮され、暗号化されたコンテンツを利用条件のデータと共に、コンテンツデータベース114に供給する。
【0136】
コンテンツデータベース114は、コンテンツ管理プログラム111から受信したコンテンツに対応するコンテンツファィル161および利用条件ファイル162を生成して、コンテンツファィル161にコンテンツを格納するとともに、利用条件ファイル162に利用条件のデータを格納する。
【0137】
コンテンツ管理プログラム111は、コンテンツデータベース114にコンテンツおよびコンテンツに対応する利用条件のデータが格納されたとき、録音プログラム113から受信したCDの情報および利用条件のデータを表示操作指示プログラム112に供給する。
【0138】
表示操作指示プログラム112は、録音の処理でコンテンツデータベース114に格納されたコンテンツに対応する利用条件のデータおよびCDの情報を基に、オリジナルパッケージ用表示データ201およびコンテンツ用表示データ221を生成する。
【0139】
録音プログラム113が表示させるウィンドウには、更に、CDから読み出したコンテンツをコンテンツデータベース114に記録したとき、自動的に、CDから読み出したコンテンツをポータブルデバイス6−1乃至6−3のいずれかにチェックアウトさせるか否かの設定を行うボタン205が配置されている。
【0140】
例えば、ボタン205がクリックされたとき、録音プログラム113は、ポータブルデバイス6−1乃至6−3のリストを示すプルダウンメニューを表示する。使用者が、そのプルダウンメニューからポータブルデバイス6−1乃至6−3のいずれかを選択したとき、パーソナルコンピュータ1は、選択されたポータブルデバイス6−1乃至6−3のいずれかに、自動的に、CDから記録したコンテンツをチェックアウトする。使用者が、そのプルダウンメニューから”チェックアウトしない”を選択した場合、パーソナルコンピュータ1は、CDからコンテンツを記録したとき、チェックアウトしない。
【0141】
次に、図7のフローチャートを参照して、録音プログラム113を実行するCPU11による、ドライブ22に装着されたCDから再生した音楽データをHDD21に転送し、コピーする場合の処理について説明する。使用者がキーボード18またはマウス19を操作して、インタフェース17を介してCPU11に対してドライブ22に装着されたCD(図示せず)から再生された音楽データをHDD21に転送、コピーする指令を入力すると、CPU11は、ステップS11において、インタフェース17を介してディスプレイ20にコピーする曲を選択するためのGUI(Graphical User Interface)を表示させる。
【0142】
具体的には、例えば、CPU11は、ドライブ22に装着されたCDのTOC(Table Of Contents)を読み込み、そのCDに含まれる曲の情報を得て、ディスプレイ20に表示させる。または、CPU11は、CDに含まれている各曲毎のISRC(International Standard Recording Code)を読み出し、その曲の情報を得て、ディスプレイ20に表示させる。あるいはまた、CPU11は、ネットワーク2を介してWWWサーバ5−1または5−2にアクセスし、TOCを用いて、そのCDの曲の情報を得て、対応するGUIをディスプレイ20に表示させる。使用者は、ディスプレイ20のGUIを利用してキーボード18またはマウス19を操作し、コピーする曲を選択する。
【0143】
次に、ステップS12において、CPU11は、HDD21に格納されている期限データベース(図5に示すコンテンツデータベース114の利用条件ファイル162−1乃至162−Nに対応する)をチェックする。この期限データベースチェック処理の詳細は、図8のフローチャートに示されている。
【0144】
ステップS31においてCPU11は、アダプタ26のCPU32と共働して、期限データベース全体のハッシュ値を計算し、ステップS32において、その計算された値と、前回保存しておいたハッシュ値と比較する。
【0145】
なお、期限データベースにデータが何ら記録されていないとき、CPU11は、ハッシュ値を計算しない。
【0146】
すなわち、HDD21には、期限データベースが形成されており、この期限データベースには、図9に示すように、HDD21に記録されている音楽データ(コンテンツ)を管理する管理情報として、過去に記録されたことのある曲のISRCとコピー日時が対応して記憶されている。この例においては、アイテム1乃至アイテム3の3つのアイテムについて、それぞれのISRCとコピー日時が記憶されている。この期限データベースに記録されている全ての曲のISRCとコピー日時に基づいた期限データベース全体のハッシュ値が、後述するように、ステップS38において、アダプタ26のCPU32により計算され、不揮発性メモリ34に記憶されている。ハッシュ値は、データに対してハッシュ関数を適用して得られた値である。ハッシュ関数は、一般的に可変長の長いデータを、固定長の短い値にマップする一方向性の関数であり、ハッシュ値同士の衝突が起こりにくい性質を有している。ハッシュ関数の例としては、SHA(Secure Hash Algorithm),MD(Message Digest)5などがある。CPU11は、ステップS31において、CPU32が実行したのと同様にハッシュ値を計算する。そして、ステップS32において、CPU11は、CPU32に、不揮発性メモリ34に記憶されているハッシュ値の読み出しを要求し、転送を受けたハッシュ値と、ステップS31で、いま自分自身が計算したハッシュ値とを比較する。
【0147】
ステップS33において、CPU11は、ステップS31でいま計算したハッシュ値と、不揮発性メモリ34に記憶されている前回の期限データベースのハッシュ値とが一致するか否かを判定し、一致しない場合には、期限データベースが改竄されたものと判定し、CPU11は、ステップS34において、例えば、「期限データベースが改竄されたので、コピーができません」といったメッセージを発生し、インタフェース17を介してディスプレイ20に出力し、表示させ、以後、処理を終了させる。すなわち、この場合には、CDに記録されている音楽データを再生し、HDD21にコピーする処理が禁止される。
【0148】
ステップS31で計算したハッシュ値と、前回のハッシュ値とが一致する場合には、ステップS35に進み、CPU11は、ステップS11で指定されたコピーする曲として選択された曲(選択曲)のISRCをCDから取得する。CDにISRCが記録されていない場合、CPU11は、そのCDのTOCのデータを読み出し、そのデータにハッシュ関数を適用するなどして、例えば、58ビットなどの適当な長さのデータを得て、これをISRCに代えて用いる。
【0149】
ステップS36において、CPU11は、ステップS35で取得したISRC(すなわち、選択曲)が期限データベース(図9)に登録されているか否かを判定する。ISRCが期限データベースに登録されていない場合には、その曲はまだHDD21に記録されていないことになるので、ステップS37に進み、CPU11は、その曲のISRCと現在の日時とを期限データベースに登録する。なお、CPU11は、この現在の日時として、CPU32から転送を受けた、アダプタ26のRTC35が出力する値を利用する。そして、ステップS38において、CPU11は、その時点における期限データベースのデータを読み出し、アダプタ26のCPU32に転送する。CPU32は、転送されてきたデータのハッシュ値を計算し、不揮発性メモリ34に保存してする。上述したように、このようにして保存されたハッシュ値が、ステップS32において、前回保存しておいたハッシュ値として利用される。
【0150】
次に、ステップS39において、CPU11は、選択曲が期限データベースに登録されていないことを表す未登録のフラグを設定する。このフラグは、後述する図7のステップS13において、選択曲が期限データベースに登録されているか否かの判定を行うときに用いられる。
【0151】
ステップS36において、選択曲のISRCが期限データベースに登録されていると判定された場合、その選択曲は、少なくとも一度、HDD21に登録されたことがある曲であるということになる。そこで、この場合、ステップS40に進み、CPU11は、期限データベースに登録されているその選択曲の登録日時より、現在の日時(アダプタ26のRTC35が出力した現在の日時)が48時間以上経過しているか否かを判定する。現在時刻が、登録日時より、既に48時間以上経過している場合には、HDD21に、少なくとも一度は記録したことがあるが、既に、その時から48時間以上経過しているので、その曲を再度コピーさせたとしても、それほど実害がないので、この場合には、HDD21へのコピーが許容される。そこで、ステップS41に進み、CPU11は、期限データベースの日時を、過去の登録日時から現在の日時(RTC35の出力する日時)に変更させる。そして、ステップS38に戻り、CPU11は、再び、期限データベース全体のハッシュ値をCPU32に計算させ、不揮発性メモリ34に保存させるとともに、ステップS39において、その曲に対して未登録のフラグを設定する。
【0152】
一方、ステップS40において、現在時刻が登録日時より、まだ48時間以上経過していないと判定された場合、その選択曲のHDD21へのコピーが禁止される。そこで、この場合には、ステップS42に進み、CPU11は、その選択曲に対応して登録済みのフラグを設定する。
【0153】
以上のようにして、期限データベースチェック処理により、選択曲がHDD21に登録されているか否かを表すフラグが設定される。
【0154】
図7に戻り、ステップS13においてCPU11は、選択曲が期限データベースに登録済みであるか否かを、上述したフラグから判定する。選択曲が登録済みである場合には、ステップS14に進み、CPU11は、ディスプレイ20に、例えば、「この曲は一度コピーされてからまだ48時間以上経過していないので、コピーすることができません」のようなメッセージを表示させる。これにより、使用者は、その曲をHDD21にコピーすることができない理由を知ることができる。
【0155】
ステップS13において、選択した曲が期限データベースに登録されていないと判定された場合、ステップS15に進み、CPU11は、ドライブ22を制御し、そこに装着されているCDから音楽データを読み出させる。この音楽データには、図10に示すように、所定の位置にウォータマークコードが挿入されている。
CPU11は、ステップS16において、音楽データに含まれているウォータマークコードを抽出し、そのウォータマークコードがコピー禁止を表しているいるか否かをステップS17において判定する。ウォータマークコードがコピー禁止を表している場合には、ステップS18に進み、CPU11は、インタフェース17を介してディスプレイ20に、例えば、「コピーは禁止されています」のようなメッセージを表示させ、コピー処理を終了させる。
【0156】
これに対して、ステップS17において、ウォータマークがコピー禁止を表していないと判定された場合、ステップS19に進み、CPU11は、音楽データを、例えば、ATRAC(Adaptive Transform Acoustic Coding)3(商標)などの方式で、ソフトウェア処理により圧縮させる。ステップS20において、CPU11は、予め設定され、メモリ13に記憶されている暗号鍵を用いて、例えば、DES(Data Encryption Standard)方式、FEAL(Fast Encripherment Algotithm)方式などの暗号化方法により、音楽データを暗号化する。暗号鍵は、この他、例えば、ソフトウェアにより発生した乱数、あるいはアダプタ26のCPU32により発生させた乱数に基づいて生成したものを用いることもできる。このように、パーソナルコンピュータ1だけではなく、それに付随して装着されたハードウェアとしてのアダプタ26のCPU32と、共働して暗号化処理を実行するようにすることで、解読がより困難となる暗号化を行うことが可能となる。
【0157】
次に、ステップS21において、CPU11は、暗号化されたデータをHDD21に転送し、1つのファイル(コンテンツファィル161として)としてファイル名を付けて保存させる。あるいはまた、1つのファイルの一部として、そのファイル名の位置情報(例えば、先頭からのバイト数)を与えて保存するようにしてもよい。
【0158】
この保存処理と、上記した圧縮符号化処理および暗号化処理とは別々に行うようにしてもよいし、同時に平行的に行うようにしてもよい。
【0159】
さらに、ステップS22において、CPU11は、予め定められているRAM13に記憶されている保存用鍵(不正な読み出しでは読み出しが困難になるように記憶されている)を使って、上述したDES方式、FEAL方式などの方式で、音楽データを暗号化した暗号鍵を暗号化し、HDD21の曲データベース(図5に示すコンテンツデータベース114の利用条件ファイル162−1乃至162−Nに対応する)に保存する。
【0160】
ステップS23において、CPU11は、保存したファイルに関する情報、暗号化された暗号鍵、その曲の情報、使用者がGUIを介して入力した曲名の情報の要素を組にしてHDD21の曲データベースに登録する。そして、ステップS24において、CPU11は、CPU32に、曲データベース全体のハッシュ値を計算させ、不揮発性メモリ34に保存させる。
【0161】
このようにして、例えば、図11に示すような曲データベースが、HDD21上に登録される。この例においては、アイテム1乃至アイテム3のファイル名、暗号化された暗号鍵、曲名、長さ、再生条件(開始日時、終了日時、回数制限)、再生回数カウンタ、再生時課金条件、コピー条件(回数)、コピー回数カウンタ、およびコピー条件(SCMS)が記録されている。
【0162】
複製されて一定期間が経過すると、再び複製することができるようにしたので、ユーザの個人の使用の範囲とされる、数回の複製が可能となる。一方、個人の使用の範囲を超えて、例えば、大量に複製しようとすると、莫大な時間が必要とされ、現実的に不可能になる。また、例えば、パーソナルコンピュータ1が故障して、HDD21に記録されていたコンテンツが消去された場合においても、一定期間の経過後、消去されたコンテンツを再び複製し、HDD21に記録することができる。
【0163】
また、例えば、ネットワーク2を介してHDD21に記録されている期限データベースの内容を共有することもできる。
【0164】
以上においては、ISRCに対応して複製された日時が記憶されている場合を例として説明したが、コンテンツやCDを識別する情報であれば、他のもの(例えば、曲名、アルバム名、それらの組み合わせなど)を利用することもできる。
【0165】
次に、図12乃至図14のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、HDD21からポータブルデバイス6のフラッシュメモリ61(例えば、メモリースティック(商標))に、音楽データを移動する処理について説明する。ステップS51において、CPU11は、曲データベース全体のハッシュ値を計算し、ステップS52で、前回CPU32に計算させ、不揮発性メモリ34に保存しておいたハッシュ値と比較する。両者が一致しない場合、CPU11は、ステップS53に進み、例えば、「曲データベースが改竄された恐れがあります」のようなメッセージをディスプレイ20に表示させた後、処理を終了させる。この場合の処理は、図8のステップS31乃至ステップS34の処理と同様の処理である。この場合においては、HDD21からポータブルデバイス6への音楽データの移動が実行されないことになる。
【0166】
次に、ステップS54において、CPU11は、HDD21に形成されている曲データベースから、そこに登録されている曲の情報を読み出し、ディスプレイ20に、選択のためのGUIとして表示させる。使用者は、この選択のためのGUIに基づいて、HDD21からポータブルデバイス6へ移動させる曲を、キーボード18またはマウス19を操作して選択する。次に、ステップS55において、CPU11は、ステップS54で選択された選択曲の再生条件、コピー条件、再生時課金条件などを調べる。この処理の詳細は、図15のフローチャートを参照して後述する。
【0167】
次に、ステップS56において、パーソナルコンピュータ1のCPU11とポータブルデバイス6のCPU53との間において、相互認証処理が行われ、通信用鍵が共有される。
【0168】
例えば、ポータブルデバイス6のフラッシュメモリ61(または、EEPROM68)には、マスター鍵KMが予め記憶されており、パーソナルコンピュータ1のRAM13(または、HDD21の所定のファイル)には、個別鍵KPとIDが予め記憶されているものとする。CPU53は、CPU11から、RAM13に予め記憶されているIDの供給を受け、そのIDと自分自身が有するマスター鍵KMにハッシュ関数を適用して、RAM13に記憶されているパーソナルコンピュータ1の個別鍵と同一の鍵を生成する。このようにすることで、パーソナルコンピュータ1とポータブルデバイス6の両方に、共通の個別鍵が共有されることになる。この個別鍵を用いてさらに、一時的な通信用鍵を生成することができる。
【0169】
あるいはまた、パーソナルコンピュータ1のRAM13にIDとマスター鍵KMPを予め記憶させておくとともに、ポータブルデバイス6のフラッシュメモリ61にもポータブルデバイス6のIDとマスター鍵KMMを記憶させておく。そして、それぞれのIDとマスター鍵をお互いに他方に送信することで、他方は一方から送信されてきたIDとマスター鍵にハッシュ関数を適用して、他方の個別鍵を生成する。
そして、その個別鍵から、一時的な通信用鍵をさらに生成するようにする。
【0170】
なお、認証の方法としては、例えば、IOS(International Organization for Standardization) 9798−2を利用することができる。
【0171】
相互認証が正しく行われなかったとき、処理は終了されるが、正しく行われたとき、さらに、ステップS57において、CPU11は、選択曲のファイル名を曲データベースから読み出し、そのファイル名の音楽データ(例えば、図7のステップS20の処理で暗号化されている)をHDD21から読み出す。ステップS58において、CPU11は、ステップS57で読み出したデジタル音楽データの圧縮符号化方式(ステップS19の処理)、暗号化方式(ステップS20の処理)、フォーマットなどをポータブルデバイス6のものに変換する処理を実行する。
この変換処理の詳細は、図17のフローチャートを参照して後述する。
【0172】
ステップS59において、CPU11は、ステップS58で変換した音楽データを、ステップS56の相互認証処理により共有した通信用鍵で暗号化し、ポータブルデバイス6にUSBポート23を介して転送する。ステップS60において、ポータブルデバイス6のCPU53は、USBコネクタ56を介してこの伝送されてきた音楽データを受信すると、その音楽データを、そのままフラッシュメモリ61に記憶させる。
【0173】
ステップS61において、CPU11は、さらに、曲データベースに登録されているその選択曲の再生条件(開始日時、終了日時、回数制限など)を、ポータブルデバイス6が管理している形式に変換する。ステップS62において、CPU11は、さらに選択曲の曲データベース中に登録されているコピー条件中のSCMS情報を、ポータブルデバイス6の管理する形式に変換する。そして、ステップS63において、CPU11は、ステップS61で変換した再生条件と、ステップS62で変換したSCMS情報を、ポータブルデバイス6に転送する。ポータブルデバイス6のCPU53は、転送を受けた再生条件とSCMS情報を、フラッシュメモリ61に保存する。
【0174】
ステップS64において、CPU11はまた、選択曲の曲データベース中に登録されている再生条件、再生時課金条件、コピー条件などを、CPU11が曲データベース中で扱っている形式のまま、ポータブルデバイス6に転送し、フラッシュメモリ61に保存させる。
【0175】
ステップS65において、CPU11は、選択曲の暗号化されている暗号鍵を曲データベースから読み出し、ステップS66において、その暗号鍵をRAM13に保存されている保存用鍵で復号し、通信用鍵で暗号化する。そして、通信用鍵で暗号化した暗号鍵を、CPU11は、ポータブルデバイス6に転送する。
【0176】
ポータブルデバイス6のCPU53は、ステップS67で、パーソナルコンピュータ1から転送されてきた暗号鍵を相互認証処理で共有した通信用鍵を用いて復号し、自分自身の保存用鍵を用いて暗号化し、既に保存したデータと関連付けて、フラッシュメモリ61に保存する。
【0177】
CPU53は、暗号鍵の保存が完了すると、ステップS68において、パーソナルコンピュータ1に対して暗号鍵を保存したことを通知する。パーソナルコンピュータ1のCPU11は、ポータブルデバイス6からこの通知を受けると、ステップS69において、HDD21から、その音楽データのファイルを削除するとともに、曲データベースからその曲の要素の組を削除する。すなわち、これにより、コピーではなく、移動(ムーブ)が行われることになる。そして、ステップS70において、CPU11は、アダプタ26のCPU32に、曲データベースのデータを転送し、全体のハッシュ値を計算させ、不揮発性メモリ34に保存させる。このハッシュ値が、上述したステップS52において、前回保存しておいたハッシュ値として用いられることになる。
【0178】
次に、コンテンツ管理プログラム111を実行するCPU11による、図12のステップS55における選択曲の再生条件などのチェック処理について説明する。ステップS81において、CPU11は、曲データベースから、各種の条件を読み出す。CPU11は、ステップS82において、ステップS81で読み出した各種条件のうち、コピー回数がコピー制限回数を既に過ぎているか否かを判定する。コピー回数が、コピー制限回数を既にすぎている場合には、それ以上コピーを許容する訳にはいかないので、ステップS83に進み、CPU11は、例えば、「既にコピー回数がコピー制限回数に達しています」のようなメッセージをディスプレイ20に表示させ、処理を終了させる。ステップS82において、コピー回数がコピー制限回数を過ぎていないと判定された場合、ステップS84に進み、現在日時が再生終了日時を過ぎているか否かの判定が行われる。現在日時としては、アダプタ26のRTC35より出力されたものが用いられる。これにより、使用者が、パーソナルコンピュータ1の現在時刻を意図的に過去の値に修正したものが用いられるようなことが防止される。CPU11は、この現在日時をCPU32から提供を受けて、ステップS84の判断を自ら行うか、または、ステップS81で、曲データベースから読み出した再生条件をアダプタ26のCPU32に供給し、CPU32に、ステップS84の判定処理を実行させる。
【0179】
現在日時が再生終了日時を過ぎている場合、ステップS85に進み、CPU11は、選択曲をHDD21から消去するとともに、曲データベースから、その選択曲の情報を消去する。ステップS86において、CPU11は、CPU32に、曲データベースのハッシュ値を計算させ、それを不揮発性メモリ34に保存させる。以後、処理は終了される。従って、この場合、音楽データの移動が実行されない。
【0180】
ステップS84において、現在日時が、再生終了日時を過ぎていないと判定された場合、ステップS87に進み、CPU11は、その選択曲の再生時課金条件(例えば、再生1回当たりの料金)が曲データベース中に登録されているか否かを判定する。再生時課金条件が登録されている場合には、CPU11は、ステップS88において、ポータブルデバイス6と通信し、ポータブルデバイス6に課金機能が存在するか否かを判定する。ポータブルデバイス6に課金機能が存在しない場合には、選択曲をポータブルデバイス6に転送する訳にはいかないので、ステップS89において、CPU11は、例えば、「転送先が課金機能を有しておりません」のようなメッセージをディスプレイ20に表示させ、音楽データの移動処理を終了させる。
【0181】
ステップS87において再生時課金条件が登録されていないと判定された場合、または、ステップS88において、ポータブルデバイス6に課金機能が存在すると判定された場合、ステップS90に進み、CPU11は、選択曲に関し、例えば、再生制限回数などのその他の再生条件が登録されているか否かを判定する。
その他の再生条件が登録されている場合には、ステップS91に進み、CPU11は、ポータブルデバイス6に、その再生条件を守る機能が存在するか否かを判定する。ポータブルデバイス6が、その再生条件を守る機能を有していない場合には、ステップS92に進み、CPU11は、例えば、「転送先の装置が再生条件を守る機能を有しておりません」のようなメッセージをディスプレイ20に表示させ、処理を終了させる。
【0182】
ステップS90において、再生条件が登録されていないと判定された場合、またはステップS91において、ポータブルデバイス6が再生条件を守る機能を有している判定された場合、再生条件等のチェック処理が終了され、図12のステップS56に戻る。
【0183】
図16は、ポータブルデバイス6が管理している(守ることが可能な)再生条件の例を表している。この例においては、アイテム1乃至アイテム3の各曲について、再生開始日時と再生終了日時が登録されているが、再生回数は、アイテム2についてのみ登録されており、アイテム1とアイテム3については登録されていない。従って、アイテム2の曲が選択曲とされた場合、再生回数の再生条件は守ることが可能であるが、アイテム1またはアイテム3の曲が選択曲とされた場合、再生回数の条件は守ることができないことになる。
【0184】
次に、図17のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11による、図12のステップS58におけるフォーマット変換処理の詳細について説明する。ステップS101において、CPU11は、HDD21に記録されている選択曲のフォーマット(再生条件、使用条件、コピー条件など)を調べる。ステップS102において、CPU11は、相手先の機器(今の場合、ポータブルデバイス6)に設定することが可能な条件を調べる。すなわち、CPU11は、ポータブルデバイス6のCPU53に設定可能な条件を問い合わせ、その回答を得る。ステップS103においてCPU11は、曲データベース中に登録されているフォーマットの条件のうち、相手先の機器に設定可能な条件をステップS102で調べた条件に基づいて決定する。
【0185】
ステップS104において、CPU11は、設定可能な条件が存在するか否かを判定し、設定可能な条件が存在しない場合には、ステップS105に進み、音楽データをポータブルデバイス6に移動する処理を禁止する。すなわち、この場合には、曲データベース中に登録されている条件をポータブルデバイス6が守ることができないので、そのようなポータブルデバイス6には、音楽データを移動することが禁止されるのである。
【0186】
ステップS104において設定可能な条件が存在すると判定された場合、ステップS106に進み、CPU11は、その条件を相手先の機能フォーマットの条件に変換する。そして、ステップS107において、変換した条件を相手先の機器に設定する。その結果、ポータブルデバイス6は、設定された条件に従って(その条件を守って)、音楽データ再生することが可能となる。
【0187】
次に、図18乃至図20のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、HDD21からポータブルデバイス6に音楽データをコピーする場合の処理について説明する。この図18乃至図20のステップS111乃至ステップS127の処理は、図12乃至図14のHDD21からポータブルデバイス6へ音楽データを移動させる場合のステップS51乃至ステップS67の処理と同様の処理である。すなわち、この場合においても、曲データベースの改竄がチェックされた後、選択曲の再生条件とのチェック処理が行われる。さらに、ポータブルデバイス6と、パーソナルコンピュータ1との間の相互認証処理の後、音楽データが、パーソナルコンピュータ1のHDD21からポータブルデバイス6のフラッシュメモリ61に転送され、保存される。その後、ステップS128において、パーソナルコンピュータ1のCPU11は、曲データベースのコピー回数カウンタを1だけインクリメントする。そして、ステップS129において、CPU11は、CPU32に、曲データベース全体のハッシュ値を計算させ、その値を不揮発性メモリ34に保存させる。
【0188】
次に、図21のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、ポータブルデバイス6からHDD21に音楽データを移動する処理について説明する。ステップS161において、パーソナルコンピュータ1のCPU11は、ポータブルデバイス6のCPU53に対してフラッシュメモリ61に記憶されている曲の情報の読み出しを要求する。CPU53は、この要求に対応して、フラッシュメモリ61に記憶されている曲の情報をパーソナルコンピュータ1に送信する。パーソナルコンピュータ1のCPU11は、この情報に基づいて、ディスプレイ20に、フラッシュメモリ61に記憶されている曲を選択するためのGUIを表示させる。使用者は、キーボード18またはマウス19を操作して、そのGUIに基づいて、ポータブルデバイス6からHDD21に移動させる曲を指定する。
【0189】
ステップS162において、CPU11は、CPU53との間において、相互認証処理を実行し、通信用鍵を共有する。この処理は、図12のステップS56における場合と同様の処理である。
【0190】
次に、ステップS163において、CPU53は、フラッシュメモリ61に記憶されている暗号化されている選択曲の音楽データを読み出し、パーソナルコンピュータ1に転送する。パーソナルコンピュータ1のCPU11は、ステップS164において、ポータブルデバイス6から転送されてきた音楽データを、1つのファイルとしてファイル名を付けて、HDD21に保存する。この保存は、例えば、1つのファイルの一部として、ファイル名の位置情報(例えば、先頭からのバイト数)を与えて行うようにすることもできる。
【0191】
ステップS165において、CPU53は、フラッシュメモリ61に記憶されている選択曲の暗号化されている暗号鍵を読み出し、それを自分自身の保存用鍵で復号し、さらに通信用鍵で暗号化した後、パーソナルコンピュータ1に転送する。この暗号鍵は、例えば、図14のステップS67の処理でフラッシュメモリ61に保存されていたものである。
【0192】
ステップS166において、パーソナルコンピュータ1のCPU11は、ポータブルデバイス6から暗号鍵の転送を受けると、それを通信用鍵で復号し、自分自身の保存用鍵で暗号化する。ステップS167で、CPU11は、ステップS164で保存した音楽データのファイルのファイル名、その曲の情報を使用者がGUIを介して入力した曲名、ステップS166で暗号化した暗号鍵などを、HDD21の曲データベースに登録する。そして、ステップS168において、CPU11は、その曲データベース全体のハッシュ値をCPU32に計算させ、不揮発性メモリ34に保存させる。
【0193】
ステップS169において、パーソナルコンピュータ1のCPU11は、ポータブルデバイス6に対して暗号鍵が保存されたことを通知し、その曲の音楽データの削除を要求する。CPU53は、パーソナルコンピュータ1から、その曲の音楽データの削除が要求されてきたとき、ステップS170において、フラッシュメモリ61に記憶されているその曲の音楽データを削除する。
【0194】
次に、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、ポータブルデバイス6からHDD21へ音楽データをコピーする場合の処理について、図22のフローチャートを参照して説明する。この図22に示すステップS181乃至ステップS188の処理は、図21のポータブルデバイス6からHDD21へ音楽データを移動させる場合の処理におけるステップS161乃至ステップS168の処理と同様の処理である。すなわち、コピー処理の場合は、図21のステップS169,S170の処理が省略される点を除いて、移動の場合の処理と基本的に同様の処理となるので、その説明は省略する。
【0195】
次に、図23のフローチャートを参照して、EMDサーバ4およびコンテンツ管理プログラム111を実行するCPU11による、EMDサーバ4から転送を受けた音楽データをHDD21にコピーする処理について説明する。ステップS201において、CPU11は、キーボード18またはマウス19を介して使用者からEMDサーバ4へのアクセスが指令されたとき、通信部25を制御し、ネットワーク2を介してEMDサーバ4にアクセスさせる。EMDサーバ4は、このアクセスに対応して、自分自身が保持している曲の曲番号、曲名、各情報などの情報を、ネットワーク2を介してパーソナルコンピュータ1に転送する。パーソナルコンピュータ1のCPU11は、通信部25を介して、この情報を取得したとき、それをインタフェース17を介してディスプレイ20に表示させる。使用者は、ディスプレイ20に表示されたGUIを利用して、ステップS202において、コピーを希望する曲を指定する。この指定情報は、ネットワーク2を介してEMDサーバ4に転送される。ステップS203において、CPU11は、EMDサーバ4との間において、ネットワーク2を介して相互認証処理を実行し、通信用鍵を共有する。
【0196】
パーソナルコンピュータ1とEMDサーバ4との間で行われる相互認証処理は、例えば、ISO 9798−3で規定される公開鍵と秘密鍵を用いて行うようにすることができる。この場合、パーソナルコンピュータ1は、自分自身の機密鍵とEMDサーバ4の公開鍵を予め有しており、EMDサーバ4は、自分自身の秘密鍵を有し、相互認証処理が行われる。パーソナルコンピュータ1の公開鍵は、EMDサーバ4から転送したり、あるいはパーソナルコンピュータ1に予め配布されている証明書(certificate)をパーソナルコンピュータ1からEMDサーバ4に転送し、その証明書をEMDサーバ4が確認し、公開鍵を得るようにしてもよい。さらに、ステップS204において、CPU11は、EMDサーバ4との間において課金に関する処理を実行する。この課金の処理の詳細は、図24のフローチャートを参照して後述する。
【0197】
次に、ステップS205において、EMDサーバ4は、パーソナルコンピュータ1に対して、ステップS202で指定された曲の暗号化されている音楽データをネットワーク2を介してパーソナルコンピュータ1に転送する。このとき、時刻情報も適宜転送される。ステップS206において、CPU11は、転送を受けた音楽データをファイル名を付けてHDD21に1つのファイルとして保存する。ステップS207において、EMDサーバ4は、さらに、その曲の暗号鍵をステップS203でパーソナルコンピュータ1と共有した通信用鍵を用いて暗号化し、パーソナルコンピュータ1へ転送する。
【0198】
CPU11は、ステップS208において、EMDサーバ4より転送を受けた暗号鍵を単独で、またはアダプタ26のCPU32と共同して通信用鍵を用いて復号し、復号して得られた暗号鍵を自分自身の保存用鍵で暗号化する。ステップS209において、CPU11は、その曲のファイル名、曲の情報、使用者が入力した曲名、暗号化された暗号鍵を組にして、HDD21の曲データベースに登録する。さらに、ステップS210において、CPU11は、その曲データベース全体のハッシュ値をCPU32に計算させ、不揮発性メモリ34に保存させる。
【0199】
なお、ステップS205においてEMDサーバ4は、音楽データとともに、時刻データをパーソナルコンピュータ1に送信する。この時刻データは、パーソナルコンピュータ1からアダプタ26に転送される。アダプタ26のCPU32は、パーソナルコンピュータ1より転送されてきた時刻データを受信すると、ステップS211において、RTC35の時刻を修正させる。このようにして、相互認証の結果、正しい装置と認識された外部の装置から得られた時刻情報に基づいて、アダプタ26のRTC35の時刻情報を修正するようにしたので、アダプタ26を常に正しい時刻情報を保持することが可能となる。
【0200】
次に、図24のフローチャートを参照して、EMDサーバ4およびコンテンツ管理プログラム111を実行するCPU11による、図23のステップS204における課金に関する処理の詳細について説明する。ステップS221において、パーソナルコンピュータ1のCPU11は、ステップS201でEMDサーバ4から伝送されてきた価格情報の中から、ステップS202で指定された選択曲の価格情報を読み取り、これをHDD21上の課金ログに書き込む。図25は、このような課金ログの例を表している。この例においては、使用者は、アイテム1乃至アイテム3を、EMDサーバ4からコピーしており、アイテム1とアイテム2の領域は50円とされ、アイテム3の料金は60円とされている。その時点における課金ログのハッシュ値も、CPU32により計算され、不揮発性メモリ34に登録されている。
【0201】
次に、ステップS222において、パーソナルコンピュータ1のCPU11は、ステップS221で書き込んだ課金ログをHDD21から読み出し、これをネットワーク2を介してEMDサーバ4に転送する。EMDサーバ4は、ステップS223において、パーソナルコンピュータ1から転送を受けた課金ログに基づく課金計算処理を実行する。すなわち、EMDサーバ4は、内蔵するデータベースに、パーソナルコンピュータ1の使用者から伝送されてきた課金ログを追加更新する。そして、ステップS224において、EMDサーバ4は、その課金ログについて直ちに決裁するか否かを判定し、直ちに決裁する場合には、ステップS225に進み、EMDサーバ4は、決裁に必要な商品名、金額などを決裁サーバ(図示せず)に転送する。そして、ステップS226において、決裁サーバは、パーソナルコンピュータ1の使用者に対する決裁処理を実行する。ステップS224において、決裁は直ちには行われないと判定された場合、ステップS225とS226の処理はスキップされる。すなわち、この処理は、例えば、月に1回など、定期的にその後実行される。
【0202】
次に、図26と図27のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11による、音声入出力インタフェース24のIEC60958端子から入力された、図示せぬCDプレーヤなどからの再生音楽データを、HDD21にコピーする場合の処理について説明する。ステップS241において、使用者は、CDプレーヤのIEC60958出力端子を、パーソナルコンピュータ1の音声入出力インタフェース24のIEC60958端子に接続する。ステップS242において、使用者は、キーボード18またはマウス19を操作し、CDプレーヤからコピーする曲の曲名(または、曲に対応する番号)を入力する。そして、ステップS243において使用者は、CDプレーヤのボタンを操作し、CDプレーヤの再生を開始させる。CDプレーヤとパーソナルコンピュータ1との間に制御信号を送受する線が接続されている場合には、パーソナルコンピュータ1のキーボード18またはマウス19を介して再生開始指令を入力することで、CDプレーヤにCDの再生を開始させることも可能である。
【0203】
CDプレーヤにおいて、CDの再生が開始されると、ステップS244において、CDプレーヤから出力された音楽データが、IEC60958端子を介してパーソナルコンピュータ1に転送されてくる。ステップS245において、CPU11は、IEC60958端子を介して入力されてくるデータから、SCMS(Serial Copy Management System)データを読み取る。このSCMSデータには、コピー禁止、コピー1回限り可能、コピーフリーなどのコピー情報が含まれている。そこで、ステップS246において、CPU11は、SCMSデータがコピー禁止を表しているか否かを判定し、コピー禁止を表している場合には、ステップS247に進み、CPU11は、ディスプレイ20に、例えば、「コピーが禁止されています」といったメッセージを表示させ、コピー処理を終了する。すなわち、この場合には、HDD21へのコピーが禁止される。
【0204】
CPU11は、ステップS246において、ステップS245で読み取ったSCMS情報がコピー禁止を表していないと判定した場合、ステップS248に進み、ウォータマークコードを読み出し、そのウォータマークがコピー禁止を表しているか否かをステップS249において判定する。ウォータマークコードがコピー禁止を表している場合には、ステップS247に進み、上述した場合と同様に、所定のメッセージが表示され、コピー処理が終了される。
【0205】
ステップS249において、ウォータマークがコピー禁止を表していないと判定された場合、ステップS250に進み、期限データベースチェック処理が行われる。期限データベースチェックの結果、選択曲が既に登録されていれば、ステップS251,S252の処理で、処理が終了される。この処理は、図7のステップS13,S14の処理と同様の処理である。
【0206】
選択曲がまだHDD21に登録されていない曲であれば、ステップS253乃至S258で、その登録処理が実行される。このステップS253乃至ステップS258の処理は、ステップS257において、IEC60958端子から供給されてくるSCMS情報も曲データベースに登録される点を除き、図7のステップS19乃至ステップS24の処理と同様の処理であるので、その説明は省略する。
【0207】
次に、図28と図29のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11による、音楽データをHDD21からIEC60958端子に出力(再生)する場合の処理について説明する。ステップS271乃至ステップS273において、図18のステップS111乃至S113における場合と同様に、曲データベース全体のハッシュ値が計算され、前回保存しておいたハッシュ値と一致するか否かが判定され、曲データベースの改竄のチェック処理が行われる。曲データベースの改竄が行われていないと判定された場合、ステップS274に進み、CPU11は、HDD21の曲データベースにアクセスし、そこに登録されている曲の情報を読み出し、ディスプレイ20に表示させる。使用者は、その表示を見て、キーボード18またはマウス19を適宜操作して、再生出力する曲を選択する。ステップS275において、CPU11は、選択曲の再生条件等のチェック処理を実行する。この再生条件等のチェック処理の詳細は、図30のフローチャートを参照して後述する。
【0208】
次に、ステップS276において、CPU11は、ステップS274において選択された曲の暗号鍵を曲データベースから読み出し、保存用鍵で復号する。ステップS277において、CPU11は、選択曲のSCMS情報を曲データベースから読み出し、IEC60958端子から出力するSCMS情報を、SCMSシステムの規則に従って決定する。例えば、再生回数に制限があるような場合、再生回数は1だけインクリメントされ、新たなSCMS情報とされる。ステップS278において、CPU11はさらに、選択曲のISRCを曲データベースから読み出す。
【0209】
次に、ステップS279において、CPU11は、曲データベースから選択曲ファイル名を読み出し、そのファイル名を基に、その音楽データをHDD21から読み出す。CPU11はさらに、その音楽データに対応する暗号鍵を曲データベースから読み出し、保存用鍵で復号し、復号した暗号鍵を用いて、暗号化されている音楽データを復号する。CPU11は、さらに、その音楽データの圧縮符号を復号する。ステップS280において、CPU11は、ステップS279で、復号したデジタル音楽データを、ステップS277で決定したSCMS情報、並びにステップS278で読み出したISRC情報とともに、IEC60958の規定に従って、IEC60958端子から出力する。さらにまた、デジタル音楽データをアナログ化し、音声入出力インタフェース24のアナログ出力端子から出力する。
【0210】
ステップS281において、CPU11は、曲データベース中の再生回数カウンタの値を1だけインクリメントする。そして、ステップS282において、選択曲に再生時課金条件が付加されているか否かを判定する。再生時課金条件が付加されている場合には、ステップS283に進み、CPU11は、対応する料金を課金ログに書き込み、ステップS284において、曲データベース全体のハッシュ値をCPU32に計算させ、不揮発性メモリ34に記憶させる。ステップS282において、選択曲に再生時課金条件が付加されていないと判定された場合、ステップS283とステップS284の処理はスキップされる。
【0211】
次に、図30のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11による、図28のステップS275の再生条件等のチェック処理の詳細について説明する。ステップS301において、CPU11は、曲データベースの各種条件を読み出す。ステップS302においてCPU11は、読み出した条件のうち、再生回数が制限回数を過ぎているか否かを判定し、過ぎている場合には、ステップS303に進み、選択曲をHDD21から削除させるとともに、曲データベースから選択曲の情報を削除させる。ステップS304において、CPU11はさらに、曲データベースの新たなハッシュ値をCPU32に計算させ、そのハッシュ値を不揮発性メモリ34に保存させる。この場合、再生出力は禁止される。
【0212】
ステップS302において、再生回数が制限回数を過ぎていないと判定された場合、ステップS305に進み、CPU11は、再生終了日時が現在日時を過ぎているか否かを判定する。再生終了日時が現在日時を過ぎている場合には、上述した場合と同様にステップS303において、選択曲をHDD21から削除させるとともに、曲データベースからも削除させる。そして、ステップS304において、新たな曲データベースのハッシュ値が計算され、保存される。この場合にも、再生出力は禁止される。
【0213】
ステップS305において、再生終了日時が現在日時を過ぎていないと判定された場合は、ステップS306に進み、CPU32は、その選択曲に対して再生時課金条件が付加されているか否かを判定する。再生時課金条件が付加されている場合には、ステップS307に進み、CPU11は、再生時課金条件が付加されている旨のメッセージと料金を、ディスプレイ20に表示させる。ステップS306において、再生時課金条件が付加されていないと判定された場合、ステップS307の処理はスキップされる。
【0214】
次に、図31と図32のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、HDD21からポータブルデバイス6経由で音楽データを出力(再生)する場合の処理について説明する。ステップS321乃至ステップS325において、曲データベースの改竄チェックと選択曲の指定、並びに選択曲の再生条件等のチェック処理が行われる。その処理は、図28のステップS271乃至ステップS275の処理と同様の処理であるので、その説明は省略する。
【0215】
ステップS326において、ポータブルデバイス6とパーソナルコンピュータ1の間で相互認証処理が実行され、相互の間で、通信用鍵が共有される。ステップS327において、パーソナルコンピュータ1のCPU11は、ポータブルデバイス6に対して、これから送る暗号化音声データを再生するように命令する。ステップS328において、CPU11は、ステップS324で指定された選択曲のファイル名を曲データベースから読み出し、そのファイル名の音楽データをHDD21から読み出す。CPU11は、ステップS329において、音楽データの圧縮符号化方式、暗号化方式、フォーマットなどをポータブルデバイス6の方式のものに変換する処理を実行する。そして、ステップS330において、CPU11は、ステップS329において変換した音楽データを通信用鍵で暗号化し、ポータブルデバイス6に転送する。
【0216】
ステップS331において、ポータブルデバイス6のCPU53は、ステップS327において、パーソナルコンピュータ1から転送されてきた命令に対応して、転送を受けた各データを通信用鍵で復号し、再生出力する。ステップS332において、CPU11は、曲データベースの再生回数カウントを1だけインクリメントする。さらに、ステップS333において、CPU11は、選択曲に再生時課金条件が付加されているか否かを判定し、付加されている場合には、ステップS334において、その料金を課金ログに書き込み、ステップS335において、CPU32に、曲データベース全体のハッシュ値を新たに計算させ、保存させる。選択曲に再生時課金条件が付加されていない場合には、ステップS334,ステップS335の処理はスキップされる。
【0217】
本発明においては、音楽データが不正に複製されるのを防止するために、各種の工夫が凝らされている。例えば、CPU11を動作させるプログラムは、その実行順序が毎回変化するような、いわゆるタンパーレジスタントソフトウェアとされている。
【0218】
さらに、上述したように、CPU11の機能の一部は、ハードウェアとしてのアダプタ26に分担され、両者が共働して各種の処理を実行するようになされている。これにより、より安全性を高めることが可能となっている。
【0219】
例えば、上述したように、曲データベースのハッシュ値は、曲データベース自体に保存されるのではなく、アダプタ26の不揮発性メモリ34に保存される。
すなわち、図8のステップS32,S33などの前回保存しておいたハッシュ値との比較処理において、比較対象とされる過去のハッシュ値は、不揮発性メモリ34に記憶されているものとされる。これにより、例えば、HDD21に保存されている音楽データを、他の記録媒体にコピーまたは移動させる前に、HDD21の記録内容をバックアップしておき、HDD21から、そこに保存されている音楽データを他の記録媒体にコピーまたはムーブした後、HDD21にバックアップしておいたデータを再びリストアするようにすることで、実質的に再現なく、コピーまたはムーブができてしまうようなことが防止される。
【0220】
例えば、図33に示すように、HDD21に曲A,Bが保存されている場合、不揮発性メモリ34には、曲Aと曲Bの情報に対応するハッシュ値が保存されている。この状態において、HDD21の記録データを他の記録媒体251にバックアップしたとする。その後、HDD21に保存されている曲Aと曲Bのうち、曲Aを他の記録媒体252に移動させた場合、その時点において、HDD21に記録されている曲は、曲Bだけとなるので、不揮発性メモリ34のハッシュ値も、曲Bに対応するハッシュ値に変更される。
【0221】
従って、その後、記録媒体251にバックアップしておいたHDD21の内容をHDD21にリストアして、HDD21に、再び曲Aと曲Bを保存させたとしても、不揮発性メモリ34には、曲Bの情報から演算されたハッシュ値が記憶されており、曲Aと曲Bの情報から演算されたハッシュ値は記憶されていない。これにより、その時点において、HDD21に記憶されている曲Aと曲Bに基づくハッシュ値が、不揮発性メモリ34に記憶されている過去のハッシュ値と一致しないことになり、曲データベースが改竄されたことが検出される。その結果、以後、HDD21に保存されている曲Aと曲Bの利用が制限されてしまうことになる。
【0222】
さらに、上述したように、アダプタ26は、RTC35を内蔵しており、このRTC35の値は、正しい認証結果が得られた他の装置(例えば、EMDサーバ4)から転送されてきた時刻データに基づいて、その時刻情報を修正する。そして、現在日時としては、パーソナルコンピュータ1が管理するものではなく、RTC35が出力するものが利用される。従って、使用者が、パーソナルコンピュータ1の現在時刻を故意に過去の時刻に修正し、再生条件としての再生終了日時の判定を免れるようなことができなくなる。
【0223】
また、アダプタ26は、暗号化されて転送されてきたプログラムをROM36に予め記憶されているプログラムに従って復号し、実行するように構成することで、より安全性が高められている。次に、この点について、図34のフローチャートを参照して説明する。
【0224】
すなわち、パーソナルコンピュータ1は、アダプタ26に対して、所定の処理を実行させたいとき、ステップS351において、アダプタ26に実行させるべきプログラムをRAM13に予め記憶されている暗号鍵を用いて暗号化してアダプタ26に転送する。アダプタ26のROM36には、パーソナルコンピュータ1から転送されてきた、暗号化されているプログラムを復号し、実行するためのプログラムが予め記憶されている。CPU32は、このROM36に記憶されているプログラムに従って、パーソナルコンピュータ1から転送されてきた暗号化されているプログラムをステップS352において復号する。そして、ステップS313において、CPU32は、復号したプログラムをRAM33に展開し、ステップS354において、そのプログラムを実行する。
【0225】
例えば、上述したように、パーソナルコンピュータ1のCPU11は、HDD21の曲データベースのハッシュ値をアダプタ26に計算させるとき、曲データベースのデータを暗号鍵で暗号化してアダプタ26のCPU32に転送する。CPU32は、転送されてきた曲データベースのデータに対してハッシュ関数を適応し、ハッシュ値を計算する。そして、計算されたハッシュ値を不揮発性メモリ34に記憶させる。あるいは、そのハッシュ値を、CPU32は、予め記憶されている過去のハッシュ値と比較し、比較結果をパーソナルコンピュータ1のCPU11に転送する。
【0226】
図35は、アダプタ26の内部のより具体的な構成を表している。アダプタ26は、半導体ICとして形成される。アダプタ26は、図3に示したインタフェース31、CPU32、RAM33、不揮発性メモリ34、RTC35、ROM36以外に、RAM33に対する書き込みと読み出しを制御するRAMコントローラ261、並びに論理回路262を有している。論理回路262は、例えば、暗号化されている音楽データを解読した後、解読したデータをアダプタ26から直接出力するような場合の処理のために用いられる。
【0227】
これらのインタフェース31乃至ROM36、RAMコントローラ261、並びに論理回路262は、半導体IC内に一体的に組み込まれ、外部からは分解できないように構成されている。
【0228】
水晶振動子271は、アダプタ26が各種の処理を実行する上において、基準となるクロックを生成するとき用いられる。発振回路272は、RTC35を動作させるための発振回路である。バッテリ273は、発振回路272、不揮発性メモリ34、およびRTC35に対してバックアップ用の電力を供給している。アダプタ26のその他の回路には、パーソナルコンピュータ1の電源供給回路281からの電力が供給されている。
【0229】
不揮発性メモリ34は、書き込み消去可能なROMで構成することも可能であるが、バッテリ273からのバックアップ電源でバックアップされるRAMで構成する場合には、例えば、図36に示すように、不揮発性メモリ34の上に保護アルミニウム層291を形成し、さらに、その保護アルミニウム層291と同一平面上となるように、不揮発性メモリ34にバッテリ273からの電力を供給する電源パターン292を形成するようにすることができる。このようにすると、例えば、不揮発性メモリ34を改竄すべく、保護アルミニウム層291を削除しようとすると、同一平面上の電源パターン292も削除されてしまい、不揮発性メモリ34に対する電力の供給が断たれ、内部に記憶されているデータが消去されてしまうことになる。このように構成することで、タンパーレジスト性をより高めることができる。
【0230】
さらに、図37に示すように、不揮発性メモリ34に対するデータの書き込みまたは読み出しのための配線301−1乃至301−3は、対応する位置で、上下(深さ)方向に重なりあうように形成されている。これにより、より下層の配線301−3からデータを読み出すためには、上方の配線301−1,101−2を除去しなければならず、複数の配線301−1,301−2,301−3から同時にデータを読み取ることができなくなる。さらにまた、この配線301−1乃至301−3を冗長に形成し、直接プローブすると、その付加容量により、その内容を解析することが困難になるようにすることができる。
【0231】
以上においては、記録媒体として、ポータブルデバイス6を用いる場合を例として説明したが、本発明は、その他の記録媒体にデータを移転またはコピーする場合にも応用することが可能である。
【0232】
また、データは、音楽データ以外に、画像データ、その他のデータとすることもできる。
【0233】
以上のように、本発明によれば、次のような効果を奏することができる。
【0234】
(1) HDD21に暗号化してデータを記録するとともに、暗号鍵も保存用鍵で暗号化した上でHDD21に記録するようにしたので、HDD21に記録されている音楽データをコピーしても、これを復号することができないので、複製が大量に配布されることを防止することができる。
【0235】
(2) 所定の曲を1回コピーしたとき、一定時間(上記例の場合、48時間)の間、その曲をコピーすることができないようするために、その曲と録音日時を曲データベース上に登録するようにしたので、そのコピー回数を制限することができ、複製を大量に配布することを防止することができる。
【0236】
さらにデータベースを更新する度に、データのハッシュ値を計算し保存するようにしたので、データベースの改竄を防止することが容易となる。
【0237】
(3) 外部の装置に音楽データを渡したら、HDD21上の音楽データを消去するようにしたので、HDD21内に元のデジタル音楽データが残らず、その複製を大量に配布することが防止される。
【0238】
(4) HDD21内に曲データベースを設け、全体のハッシュ値を毎回チェックするようにしたので、HDD21の内容をムーブの直前にバックアップし、ムーブ直後にバックアップしたデータをHDD21にリストアするようにしたとしても、送り元のデータを確実に消去することが可能となる。
【0239】
(5) パーソナルコンピュータ1が外部の機器にデータを渡すとき、その前に相互認証処理を行うようにしたので、不正な機器にデータを渡してしまうようなことが防止される。
【0240】
(6) 外部機器から、パーソナルコンピュータ1に対してデータを渡す前に、パーソナルコンピュータ1のソフトウェアが正当なものであるか否かを相互認証により確認するようにしたので、不正なソフトウェアに対して音楽データを渡してしまうようなことが防止される。
【0241】
(7) 曲の同一性の判定にISRCを用い、ISRCが取得できないときは、TOCを用いるようにしたので、ISRCが取得できなくとも、曲の同一性を判定することが可能になる。
【0242】
(8) パーソナルコンピュータ1におけるソフトウェア機能のうち、所定の部分をパーソナルコンピュータ1に外付けされるアダプタ26に負担させるようにしたので、パーソナルコンピュータ1のソフトウェアを解析しただけでは、全体としてどのような処理となっているのかが判らないので、ソフトウェアを改竄をして、意図する機能を持たせるようなことが困難となる。
【0243】
なお、アダプタ26が実行する処理は、セキュアなプログラムでCPU11が実行するようにしてもよい。この場合において、パーソナルコンピュータ1は、アダプタ26のRTC35が供給する現在時刻に代えて、ネットワーク2に接続されている特定のサーバ(例えば、EMD登録サーバ3)から現在時刻のデータをダウンロードして、その現在時刻を基に、判定の処理を実行する。また、この場合において、パーソナルコンピュータ1は、所定の時間間隔で現在時刻を記憶して、記憶している時刻より以前の時刻が設定されたとき、エラーの表示を行い、時刻の設定を受け付けないようにしてもよい。
【0244】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【0245】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図3に示すように、磁気ディスク41(フロッピディスクを含む)、光ディスク42(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク43(MD(Mini-Disc)を含む)、若しくは半導体メモリ44などよりなるパッケージメディア、または、プログラムが一時的若しくは永続的に格納されるROM12や、HDD21などにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じて通信部25などのインタフェースを介して、ローカルエリアネットワークまたはインターネットなどのネットワーク2、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0246】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0247】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0248】
【発明の効果】
本発明によれば、ーザの利益を大きく損なうことなく、大量の複製を実質的に禁止することができるようになる
【図面の簡単な説明】
【図1】 SCMSおよびCGMSを説明するための図である。
【図2】本発明に係る音声データ管理システムの一実施の形態を示す図である。
【図3】パーソナルコンピュータ1の構成を説明する図である。
【図4】ポータブルデバイス6の構成を説明する図である。
【図5】パーソナルコンピュータ1の機能の構成を説明するブロック図である。
【図6】録音プログラム113がディスプレイ20に表示させるウィンドウの例を説明する図である。
【図7】コンパクトディスクからHDD21にコピーする場合の処理を説明するフローチャートである。
【図8】図7のステップS12の期限データベースチェック処理を説明するフローチャートである。
【図9】期限データベースの例を示す図である。
【図10】ウォータマークを説明する図である。
【図11】曲データベースの例を示す図である。
【図12】 HDD21からポータブルデバイス6へデータを移動する動作を説明するフローチャートである。
【図13】 HDD21からポータブルデバイス6へデータを移動する動作を説明するフローチャートである。
【図14】 HDD21からポータブルデバイス6へデータを移動する作を説明するフローチャートである。
【図15】図12のステップS55の選択曲の再生条件などのチェック処理を説明するフローチャートである。
【図16】ポータブルデバイス6が管理している再生条件を説明する図である。
【図17】図12のステップS58のフォーマット変換処理の詳細を説明するフローチャートである。
【図18】 HDD21からポータブルデバイス6へデータをコピーする場合の動作を説明するフローチャートである。
【図19】 HDD21からポータブルデバイス6へデータをコピーする場合の動作を説明するフローチャートである。
【図20】 HDD21からポータブルデバイス6へデータをコピーする場合の動作を説明するフローチャートである。
【図21】ポータブルデバイス6からHDD21へデータを移動する場合の動作を説明するフローチャートである。
【図22】ポータブルデバイス6からHDD21へデータをコピーする場合の動作を説明フローチャートである。
【図23】 EMDサーバ4からHDD21へデータをコピーする場合の処理を説明するフローチャートである。
【図24】図23のステップS204の課金に関する処理の詳細を説明するフローチャートである。
【図25】課金ログを説明する図である。
【図26】図3のパーソナルコンピュータ1のIEC60958端子からHDD21へデータをコピーする2合の処理を説明するフローチャートである。
【図27】図3のパーソナルコンピュータ1のIEC60958端子からHDD21へデータをコピーする場合の処理を説明するフローチャートである。
【図28】 HDD21からIEC60958端子にデータを出力する場合の動作を説明するフローチャートである。
【図29】 HDD21からIEC60958端子にデータを出力する場合の動作を説明するフローチャートである。
【図30】図28のステップS275の再生条件などのチェック処理を説明するフローチャートである。
【図31】 HDD21からポータブルデバイス6経由でデータを出力する場合の動作を説明するフローチャートである。
【図32】 HDD21からポータブルデバイス6経由でデータを出力する場合の動作を説明するフローチャートである。
【図33】不揮発性メモリ34の機能を説明する図である。
【図34】アダプタ26の動作を説明するフローチャートである。
【図35】アダプタ26の内部の構成を示す図である。
【図36】不揮発性メモリ34の内部の構成例を示す図である。
【図37】不揮発性メモリ34の内部の構成例を示す図である。
【符号の説明】
1 パーソナルコンピュータ, 2 ネットワーク, 3 EMD登録サーバ,11 CPU, 12 ROM, 13 RAM, 21 HDD, 24 音声入出力インターフェース, 26 アダプタ, 32 CPU, 33 RAM, 34 不揮発性メモリ, 35 RTC, 36 ROM, 41 磁気ディスク, 42 光ディスク, 43 光磁気ディスク, 44 半導体メモリ, 53 CPU, 54 RAM, 55 ROM, 59 DSP, 61 フラッシュメモリ, 111 コンテンツ管理プログラム, 112 表示操作指示プログラム, 113 録音プログラム, 114 コンテンツデータベース, 131 EMD選択プログラム, 132 チェックイン/チェックアウト管理プログラム, 133 暗号方式変換プログラム, 134 圧縮方式変換プログラム, 135 暗号化プログラム, 136 利用条件変換プログラム, 137 署名管理プログラム, 138 認証プログラム, 139 復号プログラム, 140 PD用ドライバ, 141 購入用ドライバ, 142 購入用ドライバ, 181 フィルタリングデータファイル, 182 表示データファイル, 183 画像ファイル, 184 履歴データファイル
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus and method, and a program storage medium, and more particularly, to an information processing apparatus and method and a program storage medium that can appropriately limit content duplication, for example.
[0002]
[Prior art]
SCMS (Serial Copy Management System), CGMS (Copy Generation Management System), and the like have been proposed as methods for restricting copying of copyrighted AV content (for example, music and images).
[0003]
In these systems, as shown in FIG. 1, the content A1 (first generation) to which the copyright is set can be copied and the content A2 (second generation) can be obtained (recorded). The content A2 (second generation) itself cannot be further copied to obtain the content A3 (third generation).
[0004]
[Problems to be solved by the invention]
However, in this case, as shown in FIG. 1, there is a problem that a plurality of second generation contents A2 can be obtained by repeating copying of the contents A1, and the copyright of the contents A1 is not sufficiently protected.
[0005]
Therefore, UCS (Uni Copy System) has been proposed as a method that enables the content A1 to be copied only once. In this case, the user can only copy the content A1 once. There is a problem in that it cannot be duplicated and is disadvantageous to the user.
[0006]
The present invention has been made in view of such a situation, and makes it possible to substantially prohibit a large amount of duplication without greatly deteriorating the profit of the user.
[0007]
[Means for Solving the Problems]
  The present inventionThe information processing deviceDuplication means for duplicating the content recorded on the first recording medium and recording the resulting copy content on a second recording medium different from the first recording medium; and on the first recording medium Updating means for updating a time-limit database that stores time information when the content is copied in association with identification information for identifying the content each time the recorded content is copied by the copying unit; When the user instructs to copy the content recorded on the first recording medium, the copying is instructed.Acquisition means for acquiring content identification information;When the time information when the content corresponding to the acquired identification information was copied last time is read from the time limit database, and when the predetermined time has passed since the content instructed to be copied was last copied When the content is instructed to be copied and a predetermined time has not elapsed since the previous copy, the content is copied to the copy means. Copy control means to prohibitIncludingMu.
[0008]
  The information processing method according to the present invention includes a duplicating unit that duplicates content recorded on a first recording medium and records the resulting copy content on a second recording medium different from the first recording medium. In the information processing method of the information processing apparatus provided, each time the content recorded on the first recording medium is duplicated by the duplication unit, the time when the content is duplicated in the identification information for identifying the content An update step for updating a time limit database stored in association with information, and when the user instructs to copy the content recorded in the first recording medium, identification information of the content instructed to be copied An acquisition step of acquiring, and time information when the content corresponding to the acquired identification information was copied last time; When a predetermined time has passed since the content that was instructed to be copied and copied last time, the content is instructed to be copied by allowing the copying means to copy the content. A copy that prohibits the copy means from copying the content if a predetermined time has not passed since the last copySystemIncluding steps.
[0009]
  The program storage medium of the present invention includes a duplicating means for duplicating the content recorded on the first recording medium and recording the resulting copy content on a second recording medium different from the first recording medium. A program for controlling an information processing apparatus provided, wherein each time the content recorded on the first recording medium is duplicated by the duplication unit, the content is duplicated in identification information for identifying the content An update step for updating a time limit database that stores time information in association with each other and a copy of the content recorded on the first recording medium is instructed by the user. An acquisition step of acquiring identification information, and time information when the content corresponding to the acquired identification information was previously replicated. When a predetermined time has passed since the content instructed to be read and copied from the previous database has been copied last time, the copying means is allowed to copy the content, and the copy is instructed. Duplication that prohibits duplication of the content to the duplication means if a predetermined time has not passed since the content was last duplicatedSystemA program for causing a computer of the information processing apparatus to execute processing including control steps is stored.
[0010]
  The present inventionInEach time the content recorded on the first recording medium is duplicated by the duplicating means, the time limit database that stores the time information when the content is duplicated in association with the identification information that identifies the content is updated, When the user gives an instruction to copy the content recorded on the first recording medium, the user is instructed to copyContent identification information is obtained,When the time information when the content corresponding to the acquired identification information was copied last time is read from the time limit database, and when a predetermined time has passed since the content instructed to be copied was last copied, Content copying is permitted to the copying means. On the other hand, if a predetermined time has not elapsed since the content instructed to be copied has been copied last time, the copying means is prohibited from copying the content.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 is a diagram showing an embodiment of an audio data management system according to the present invention. The personal computer 1 is connected to a network 2 constituted by a local area network or the Internet. The personal computer 1 performs predetermined compression on music data (hereinafter referred to as content) received from EMD (Elecrical Music Distribution) servers 4-1 to 4-3 or read from a CD (Compact Disc) described later. The data is converted into a method (for example, ATRAC3 (trademark)) and encrypted by an encryption method such as DES (Data Encryption Standard).
[0012]
The personal computer 1 records use condition data indicating the use condition of the content in correspondence with the content that is encrypted and recorded. The usage condition data is, for example, a copy (portable device 6-6) in which content corresponding to the usage condition data can be used simultaneously by three portable devices (also referred to as PDs) 6-1 to 6-3. Even if the content is stored in 1 to 6-3, the content recorded in the personal computer 1 can be used, and the number of times the content can be stored in the portable devices 6-1 to 6-3 may be limited. In this case, the number of times does not increase.) Move to another personal computer (after storing the content in the portable devices 6-1 to 6-3, the personal computer 1 records it) The content that is being used cannot be used.) Details of the usage condition data will be described later.
[0013]
The personal computer 1 is connected to encrypted content recorded together with data related to the content (for example, song name or playback conditions) via a USB (Universal Sirial Bus) cable 7-1. In addition to being stored in the portable device 6-1, in response to the storage in the portable device 6-1, the usage condition data corresponding to the stored content is updated (hereinafter referred to as checkout). More specifically, when the data is checked out, the number of times that the personal computer 1 can check out the data of the usage conditions corresponding to the content recorded in the personal computer 1 is reduced by one. When the number of checkouts is 0, the corresponding content cannot be checked out.
[0014]
The personal computer 1 stores the encrypted content recorded together with the data related to the content in the portable device 6-2 connected via the USB cable 7-2, and the portable device 6-2. The usage condition data corresponding to the stored content is updated in response to the storage. The personal computer 1 stores the encrypted content recorded together with the data related to the content in the portable device 6-3 connected via the USB cable 7-3, and the portable device 6-3. The usage condition data corresponding to the stored content is updated in response to the storage.
[0015]
Also, the personal computer 1 can cause the portable device 6-1 to erase (or use) the content checked out by the personal computer 1 to the connected portable device 6-1 via the USB cable 7-1. The usage condition data corresponding to the erased content is updated (hereinafter referred to as check-in). More specifically, when the check-in is performed, the number of times that the data of the usage conditions of the corresponding content recorded in the personal computer 1 can be checked out is increased by one.
[0016]
The personal computer 1 causes the portable device 6-2 to erase (or disable) the content checked out by the personal computer 1 to the connected portable device 6-2 via the USB cable 7-2. And update the use condition data corresponding to the deleted content. The personal computer 1 causes the portable device 6-3 to erase the contents checked out by the personal computer 1 to the portable device 6-3 connected via the USB cable 7-3 (or disable the portable device 6-3). And update the use condition data corresponding to the deleted content.
[0017]
The personal computer 1 cannot check in the content checked out to the portable device 6-1 by another personal computer (not shown).
The personal computer 1 cannot check in content that has been checked out to the portable device 6-2 by another personal computer. The personal computer 1 cannot check in content that has been checked out to the portable device 6-3 by another personal computer.
[0018]
When the personal computer 1 starts acquiring content from the EMD servers 4-1 to 4-3, the EMD registration server 3 responds to the request from the personal computer 1 via the network 2 and the EMD server. An authentication key necessary for mutual authentication with 4-1 to 4-3 is transmitted to the personal computer 1, and a program for connecting to the EMD servers 4-1 to 4-3 is transmitted to the personal computer 1.
[0019]
In response to a request from the personal computer 1, the EMD server 4-1 supplies the content to the personal computer 1 along with data related to the content (for example, a song title or playback restriction) via the network 2. The EMD server 4-2 supplies the content to the personal computer 1 together with the data related to the content via the network 2 in response to the request of the personal computer 1. The EMD server 4-3 supplies the content to the personal computer 1 along with the data related to the content via the network 2 in response to the request of the personal computer 1.
[0020]
The content supplied by each of the EMD servers 4-1 to 4-3 is compressed by the same or different compression method. The content supplied by each of the EMD servers 4-1 to 4-3 is encrypted by the same or different encryption method.
[0021]
A WWW (World Wide Web) server 5-1 responds to a request from the personal computer 1, a CD (for example, a CD album name or a CD sales company) that has read the content via the network 2, and Data corresponding to the content read from the CD (for example, a song title or a composer name) is supplied to the personal computer 1. In response to a request from the personal computer 1, the WWW server 5-2 supplies the personal computer 1 with data corresponding to the CD read from the CD and the content read from the CD via the network 2.
[0022]
The portable device 6-1 stores the content supplied from the personal computer 1 (that is, the checked-out content) together with data related to the content (for example, a song title or playback restriction). The portable device 6-1 reproduces the stored content based on data related to the content, and outputs it to a headphone (not shown).
[0023]
For example, when the reproduction is attempted to exceed the number of reproductions as reproduction restrictions stored as data related to the content, the portable device 6-1 stops reproduction of the corresponding content. When playback is attempted after the playback deadline has passed as a playback limit stored as data related to the content, the portable device 6-1 stops playback of the corresponding content.
[0024]
The user can remove the portable device 6-1 storing the content from the personal computer 1, carry it around, reproduce the stored content, and listen to music corresponding to the content through headphones.
[0025]
The portable device 6-2 stores the content supplied from the personal computer 1 together with data related to the content. The portable device 6-2 plays back the stored content based on the data related to the content, and outputs it to headphones (not shown). The user can remove the portable device 6-2 storing the content from the personal computer 1, carry it around, reproduce the stored content, and listen to music corresponding to the content with headphones or the like.
[0026]
The portable device 6-3 stores the content supplied from the personal computer 1 together with data related to the content. The portable device 6-3 reproduces the stored content based on data related to the content, and outputs it to a headphone (not shown). The user can remove the portable device 6-3 storing the content from the personal computer 1, carry it around, reproduce the stored content, and listen to music corresponding to the content with headphones or the like.
[0027]
Hereinafter, when it is not necessary to individually distinguish the portable devices 6-1 to 6-3, they are simply referred to as portable devices 6.
[0028]
FIG. 3 is a diagram for explaining the configuration of the personal computer 1. A CPU (Central Processing Unit) 11 actually executes various application programs (details will be described later) and an OS (Operating System). A ROM (Read-only Memory) 12 generally stores basically fixed data out of programs used by the CPU 11 and calculation parameters. A RAM (Random-Access Memory) 13 stores programs used in the execution of the CPU 11 and parameters that change as appropriate during the execution. These are connected to each other by a host bus 14 composed of a CPU bus or the like.
[0029]
The host bus 14 is connected via a bridge 15 to an external bus 16 such as a PCI (Peripheral Component Interconnect / Interface) bus.
[0030]
The keyboard 18 is operated by the user when inputting various commands to the CPU 11. The mouse 19 is operated by the user when specifying or selecting a point on the screen of the display 20. The display 20 includes a liquid crystal display device, a CRT (Cathode Ray Tube), or the like, and displays various types of information as text and images. An HDD (Hard Disk Drive) 21 drives hard disks and causes them to record or play back programs and information executed by the CPU 11.
[0031]
The drive 22 reads the data or program recorded in the magnetic disk 41, the optical disk 42 (including the CD), the magneto-optical disk 43, or the semiconductor memory 44 that is loaded, and the data or program is read from the interface 17, The data is supplied to the RAM 13 connected via the external bus 16, the bridge 15, and the host bus 14.
[0032]
The portable device 6-1 is connected to the USB port 23-1 via the USB cable 7-1. The USB port 23-1 receives data (for example, contents or commands of the portable device 6-1) supplied from the HDD 21, the CPU 11, or the RAM 13 via the interface 17, the external bus 16, the bridge 15, or the host bus 14. Output) to the portable device 6-1.
[0033]
The portable device 6-2 is connected to the USB port 23-2 via the USB cable 7-2. The USB port 23-2 receives data (for example, content or commands of the portable device 6-2) supplied from the HDD 21, the CPU 11, or the RAM 13 via the interface 17, the external bus 16, the bridge 15, or the host bus 14. Output) to the portable device 6-2.
[0034]
The portable device 6-3 is connected to the USB port 23-3 via the USB cable 7-3. The USB port 23-3 receives data (for example, contents or commands of the portable device 6-3) supplied from the HDD 21, the CPU 11, or the RAM 13 via the interface 17, the external bus 16, the bridge 15, or the host bus 14. Output) to the portable device 6-3.
[0035]
An audio input / output interface 24 having an IEC (Internationl Electrotechnical Commission) 60958 terminal executes digital audio input / output or analog audio input / output interface processing. The speaker 45 outputs a predetermined sound corresponding to the content based on the sound signal supplied from the sound input / output interface 24.
[0036]
The keyboard 18 to the voice input / output interface 24 are connected to the interface 17, and the interface 17 is connected to the CPU 11 via the external bus 16, the bridge 15, and the host bus 14.
[0037]
The communication unit 25 is connected to the network 2, stores data (for example, a registration request or a content transmission request) supplied from the CPU 11 or the HDD 21 in a packet of a predetermined method, and transmits the data via the network 2. The data (for example, an authentication key or content) stored in the received packet is output to the CPU 11, RAM 13, or HDD 21 via the network 2.
[0038]
The CPU 32 of the adapter 26 that is integrally formed as a semiconductor IC and is attached to the personal computer 1 cooperates with the CPU 11 of the personal computer 1 via the external bus 16, the bridge 15, and the host bus 14 to perform various processing. Execute. The RAM 33 stores data and programs necessary for the CPU 32 to execute various processes. The nonvolatile memory 34 stores data that needs to be retained even after the personal computer 1 is powered off. The ROM 36 stores a program for decrypting an encrypted program transferred from the personal computer 1. An RTC (Real Time Clock) 35 performs a timekeeping operation and provides time information.
[0039]
The communication unit 25 and the adapter 26 are connected to the CPU 11 via the external bus 16, the bridge 15, and the host bus 14.
[0040]
Hereinafter, when it is not necessary to individually distinguish the USB ports 23-1 to 23-3, they are simply referred to as the USB port 23. Hereinafter, when it is not necessary to distinguish the USB cables 7-1 to 7-3, they are simply referred to as a USB cable 7.
[0041]
Next, the configuration of the portable device 6 will be described with reference to FIG. The power supply circuit 52 drives the entire portable device 6 by converting the power supply voltage supplied from the dry battery 51 into internal power of a predetermined voltage and supplying it to the CPU 53 through the display unit 67.
[0042]
When the USB controller 57 is connected to the personal computer 1 via the USB connector 56 via the USB cable 7, the USB controller 57 supplies the content transferred from the personal computer 1 to the CPU 53 via the internal bus 58.
[0043]
The content is composed of 64 bytes of data per packet, and is transferred from the personal computer 1 at a transfer rate of 12 Mbit / sec.
[0044]
The content transferred to the portable device 6 is composed of a header and audio data (data corresponding to the audio signal which is the content entity), and the header includes a file name, a header size, a content key, a file size, and a codec ID. In addition to file information and the like, reproduction restriction data necessary for the reproduction restriction process, start date and time, end date and time, number of times, and reproduction number counter are stored. The audio data is data corresponding to an audio signal of a predetermined music that is encoded and encoded by an encoding method such as ATRAC3.
[0045]
The header size represents the data length of the header (for example, 33 bytes), and the file size represents the data length of the audio data (for example, 33,636, 138 bytes).
[0046]
The content key is a key for decrypting the encrypted audio data, and is encrypted based on the session key (temporary key) generated by the mutual authentication process between the personal computer 1 and the portable device 6. In this state, the data is transmitted from the personal computer 1 to the portable device 6.
[0047]
When the portable device 6 is connected to the USB port 23 of the personal computer 1 via the USB cable 7, the portable device 6 and the personal computer 1 execute a mutual authentication process. This mutual authentication processing is, for example, challenge-response authentication processing. Incidentally, the DSP 59 of the portable device 6 executes decryption (decryption) processing when performing challenge-response authentication processing.
[0048]
The challenge response method is, for example, responding to a certain value (challenge) generated by the personal computer 1 with a value (response) generated by the portable device 6 using a secret key shared with the personal computer 1. It is a method. In the challenge-response mutual authentication process, the value generated by the personal computer 1 changes every time the authentication process is performed. For example, the value generated by using the secret key output from the portable device 6 is read. Even if a so-called impersonation attack is issued, the personal computer 1 can detect fraud because the values used for mutual authentication differ in the next mutual authentication process.
[0049]
The codec ID is an ID corresponding to the encoding method of the audio data. For example, the codec ID “1” corresponds to ATRAC3, and the codec ID “0” is MP3 (MPEG (Moving Picture Experts Group) Audio Layer- Corresponds to 3).
[0050]
The file name is data obtained by converting a content file (described later) recorded by the personal computer 1 corresponding to the content into an ASCII (American National Standard Code for Information Interchange) code, and the file information is a song name corresponding to the content. , Artist name, songwriter name, composer name, etc., converted into ASCII code.
[0051]
The reproduction restriction data is data indicating whether a period during which content can be reproduced (that is, start date and time or end date and time) or number of times (restriction of the number of times of reproduction) is set. When the number limit is set, “1” is assigned to the reproduction limit data. When the period during which reproduction is possible is set, “2” is assigned, and the number limit and period during which reproduction is possible are set. When neither is set (so-called purchase by purchase), “0” is assigned.
[0052]
The start date and time and end date and time are data indicating the range of the reproducible period when the reproduction restriction data is “2”. For example, when the start date and time is “00040F” and the end date and time is “0000000F”, the corresponding content can be played back from April 15, 2000 to July 15, 2000.
[0053]
Similarly, when the reproduction restriction data is “1” or “2”, the number restriction and the reproduction number counter are the number of reproductions set in advance corresponding to the content, and the reproduction number counter Indicates the number of times the content is reproduced, which is updated by the CPU 53 when the content reproduction process is executed. For example, when the number limit is “02”, the number of times that the content can be reproduced is two, and when the number of reproduction counter is “01”, the number of times that the content is reproduced is one.
[0054]
For example, when the playback restriction data is “2”, the start date / time is “0000000F”, the end date / time is “0000000F”, and the playback restriction data is “2”, the portable device 6 displays the corresponding content. In the period from April 15, 2000 to July 15, 2000, reproduction can be performed twice a day.
[0055]
For example, when the reproduction restriction data is “1”, the start date and time is “000000”, the end date and time is “000000”, the reproduction restriction data is “0a”, and the reproduction number counter is “05”. The corresponding content has no limitation on the reproducible period, the reproducible frequency is 10 times, and the reproducible frequency is 5 times.
[0056]
When the portable device 6 receives a content write command together with content from the personal computer 1, the CPU 53 that executes the main program read from the ROM 55 to the RAM 54 receives the write command and controls the flash memory controller 60 to control the personal computer. The content received from 1 is written into the flash memory 61.
[0057]
The flash memory 61 has a storage capacity of about 64 MByte, and stores content (audio data). The flash memory 61 stores in advance a reproduction code for decompressing audio data compressed by a predetermined compression method.
[0058]
Note that the flash memory 61 can be attached to and detached from the portable device 6.
[0059]
When a playback command corresponding to a pressing operation of a playback / stop button (not shown) by the user is supplied to the CPU 53 via the operation key controller 62, the CPU 53 sends the flash memory controller 60 to the playback memory 61 for playback. The code and audio data are read out and transferred to the DSP 59.
[0060]
The DSP 59 performs error detection on the audio data based on the reproduction code transferred from the flash memory 61 using the CRC (Cyclic Redundancy Check) method, reproduces the reproduced data, and indicates the reproduced data (indicated by D1 in FIG. 4). The digital / analog conversion circuit 63 is supplied.
[0061]
The DSP 59 is configured integrally with a transmitter circuit (not shown) provided inside, reproduces audio data based on a master clock MCLK from a transmitter 59A made of an external crystal, and also reproduces the master clock MCLK, master An operation clock LRCLK including a bit clock BCLK having a predetermined frequency generated by an internal oscillation circuit based on the clock MCLK and an L channel clock LCLK and an R channel clock RCLK for each frame is supplied to the digital / analog conversion circuit 63.
[0062]
The DSP 59 supplies the above-mentioned operation clock to the digital-analog conversion circuit 63 according to the reproduction code when reproducing the audio data, and stops supplying the operation clock according to the reproduction code when not reproducing the audio data. The analog conversion circuit 63 is stopped to reduce the power consumption of the entire portable device 6.
[0063]
Similarly, an oscillator 53A or 57A made of crystal is externally attached to the CPU 53 and the USB controller 57, respectively, and predetermined processing is executed based on the master clock MCLK supplied from the oscillator 53A or 57A, respectively.
[0064]
With this configuration, the portable device 6 eliminates the need for a clock generation module for supplying clocks to the circuit blocks such as the CPU 53, DSP 59, USB controller 57, and the like, simplifying the circuit configuration and reducing the size. can do.
[0065]
The digital-analog conversion circuit 63 converts the reproduced audio data into an analog audio signal and supplies it to the amplifier circuit 64. The amplifier circuit 64 amplifies the audio signal and supplies the audio signal to a headphone (not shown) via the headphone jack 65.
[0066]
As described above, the portable device 6 plays back the audio data stored in the flash memory 61 based on the control of the CPU 53 when a play / stop button (not shown) is pressed, and plays / stops during playback. When the button is pressed, playback of audio data is stopped.
[0067]
When the playback / stop button is pressed again after stopping, the portable device 6 resumes playback of the audio data from the position where it was stopped based on the control of the CPU 53. When a playback / stop button stops playback by a pressing operation and a few seconds have passed without any operation, the portable device 6 automatically turns off the power to reduce power consumption.
[0068]
Incidentally, when the play / stop button is pressed after the power is turned off, the portable device 6 does not play the audio data from the previous stop position, and starts playing from the first song.
[0069]
Further, the CPU 53 of the portable device 6 controls the LCD controller 68 so that the display unit 67 corresponds to the playback mode state (for example, repeat playback, intro playback, etc.) and equalizer adjustment (that is, the frequency band of the audio signal). (Adjustment of gain), music number, performance time, playback, stop, fast forward, fast reverse, and other information, volume, and remaining battery 51 information are displayed.
[0070]
Further, the portable device 6 has a so-called FAT (File) such as the number of contents written in the flash memory 80 in the EEPROM 68, the block position of the flash memory 61 in which each content is written, and other various memory storage information. Store Allocation Table).
[0071]
Incidentally, in this embodiment, the audio data is handled as 64 KByte as one block, and the block position corresponding to the content of one song is stored in the FAT.
[0072]
When the FAT is stored in the flash memory 61, for example, when the content of the first song is written to the flash memory 61 under the control of the CPU 53, the block position corresponding to the content of the first song is written to the flash memory 61 as FAT, and the next When the content of the second song is written to the flash memory 61, the block position corresponding to the content of the second song is written as FAT in the flash memory 61 (the same area as the first song).
[0073]
In this way, the FAT is rewritten every time content is written to the flash memory 61, and the same data is written twice for reservation in order to protect the data.
[0074]
When the FAT is written in the flash memory 61, the same area of the flash memory 61 is rewritten twice in correspondence with one content write. As a result, the flash memory 61 cannot be rewritten.
[0075]
Therefore, the portable device 6 stores the FAT in the EEPROM 68 to reduce the frequency of rewriting of the flash memory 61 corresponding to one content writing.
[0076]
By storing the FAT with a large number of rewrites in the EEPROM 68, the portable device 6 can increase the number of times the content can be written to several tens of times as compared with the case where the FAT is stored in the flash memory 61. Further, since the CPU 53 causes the EEPROM 68 to write the FAT so as to be additionally written, the frequency of rewriting the same area of the EEPROM 68 is reduced to prevent the EEPROM 68 from becoming unrewritable in a short period of time.
[0077]
When the portable device 6 is connected to the personal computer 1 via the USB cable 7 (hereinafter referred to as “USB connection”), the portable device 6 confirms that the USB connection has been established based on the interrupt signal supplied from the USB controller 57 to the CPU 53. recognize.
[0078]
When the portable device 6 recognizes that it is connected to the USB, it receives external power of a specified current value from the personal computer 1 via the USB cable 7 and controls the power supply circuit 52 to supply power from the dry battery 51. Stop supplying.
[0079]
When the CPU 53 is connected to the USB, it stops the audio data reproduction process of the DSP 59. Thereby, the CPU 53 prevents the external power supplied from the personal computer 1 from exceeding the specified current value, and performs control so that the external power having the specified current value can be always received.
[0080]
As described above, when the CPU 53 is connected to the USB, the power supplied from the dry battery 51 is switched to the power supplied from the personal computer 1, so that the external power from the personal computer 1 with a low power unit price is used, and the power unit price is reduced. The power consumption of the high dry battery 51 is reduced, and thus the life of the dry battery 51 can be extended.
[0081]
The CPU 53 reduces the radiation from the DSP 59 by stopping the reproduction processing of the DSP 59 when external power is supplied from the personal computer 1 via the USB cable 7, and as a result, the CPU 53 includes the personal computer 1. The radiation of the entire system is further reduced.
[0082]
FIG. 5 is a block diagram illustrating a functional configuration of the personal computer 1 realized by execution of a predetermined program of the CPU 11. The content management program 111 includes an EMD selection program 131, a check-in / check-out management program 132, an encryption method conversion program 133, a compression method conversion program 134, an encryption program 135, a use condition conversion program 136, a signature management program 137, and an authentication program. 138, a decryption program 139, a PD driver 140, a purchase driver 141, a purchase driver 142, and the like.
[0083]
The content management program 111 is described by, for example, shuffled instructions or encrypted instructions, and the processing contents are concealed from the outside, so that the reading of the processing contents becomes difficult (for example, a user) However, even if the content management program 111 is directly read out, the instruction cannot be specified).
[0084]
The EMD selection program 131 is not included in the content management program 111 when the content management program 111 is installed in the personal computer 1, and is received from the EMD registration server 3 via the network 2 in the EMD registration process described later. Is done. The EMD selection program 131 selects a connection with any of the EMD servers 4-1 to 4-3, and sends any of the EMD servers 4-1 to 4-3 to the purchase application 115 or the purchase driver 141 or 142. Communication with the heel (for example, download of content when purchasing content) is executed.
[0085]
The check-in / check-out management program 132 sets the content files 161-1 to 161-N based on the check-in or check-out settings and the use condition files 162-1 to 162-N recorded in the content database 114. The content stored in the portable device 6-1 to 6-3 is checked out, or the content stored in the portable device 6-1 to 6-3 is checked in.
[0086]
The check-in / check-out management program 132 stores the usage rule data stored in the usage rule files 162-1 to 162-N recorded in the content database 114 in correspondence with the check-in or check-out process. Update.
[0087]
The encryption method conversion program 133 is a method for encrypting the content received by the purchase application program 115 from the EMD server 4-1 via the network 2, and the encryption of the content received by the purchase driver 141 from the EMD server 4-2. The content stored in the content files 161-1 to 161-N recorded in the content database 114, and the encryption method of the content received by the purchase driver 142 from the EMD server 4-3. Convert to the same encryption method.
[0088]
Also, when checking out content to the portable device 6-1 or 6-3, the encryption method conversion program 133 converts the content to be checked out into an encryption method that can be used by the portable device 6-1 or 6-3. To do.
[0089]
The compression method conversion program 134 compresses the content received by the purchase application program 115 from the EMD server 4-1 via the network 2, and compresses the content received by the purchase driver 141 from the EMD server 4-2. The same compression method as the content stored in the content files 161-1 to 161-N recorded in the content database 114, or the compression method of the content received by the purchase driver 142 from the EMD server 4-3 Convert to this method.
[0090]
The compression method conversion program 134 is stored in the content files 161-1 to 161-N recorded in the content database 114, for example, the content (uncompressed) read from the CD and supplied from the recording program 113. Encoding is performed using the same encoding method as that of the existing content.
[0091]
Further, when the content is checked out to the portable device 6-1 or 6-3, the compression method conversion program 134 converts the content to be checked out into a compression method that can be used by the portable device 6-1 or 6-3. To do.
[0092]
For example, the encryption program 135 is read from a CD and stored in the content files 161-1 to 161-N recorded in the content database 114, and the content (not encrypted) supplied from the recording program 113 is stored. Encrypt using the same encryption method as the existing content.
[0093]
The use condition conversion program 136 is data (so-called Usage Rule) indicating the use conditions of the content received by the purchase application program 115 from the EMD server 4-1 via the network 2, and the purchase driver 141 is the EMD server 4- The usage condition files 162-1 to 162-2, in which the content database 114 records data indicating the usage conditions of the content received from 2 or data indicating the usage conditions of the content received by the purchase driver 142 from the EMD server 4-3. The usage condition data stored in 162-N is converted into the same format.
[0094]
In addition, when the content is checked out to the portable device 6-1 or 6-3, the usage condition conversion program 136 uses the data on the usage conditions corresponding to the content to be checked out by the portable device 6-1 or 6-3. Convert to data with possible usage conditions.
[0095]
The signature management program 137 is included in the usage rule data stored in the usage rule files 162-1 to 162-N recorded in the content database 114 before executing the check-in or check-out process. The tampering of usage condition data is detected based on the signature (described later). The signature management program 137 corresponds to the update of the use condition data stored in the use condition files 162-1 to 162-N recorded in the content database 114 in accordance with the check-in or check-out process. Update the signature included in the usage conditions data.
[0096]
The authentication program 138 executes mutual authentication processing between the content management program 111 and the purchase application program 115 and mutual authentication processing between the content management program 111 and the purchase driver 141. The authentication program 138 also performs mutual authentication between the EMD server 4-1 and the purchase application program 115, mutual authentication between the EMD server 4-2 and the purchase driver 141, and purchase with the EMD server 4-3. The authentication key used in the mutual authentication process with the driver 142 is stored.
[0097]
The authentication key used by the authentication program 138 for mutual authentication processing is not stored in the authentication program 138 when the content management program 111 is installed in the personal computer 1, and registration processing by the display operation instruction program 112 is normal. Is executed from the EMD registration server 3 and stored in the authentication program 138.
[0098]
The decryption program 139 decrypts the content when the personal computer 1 reproduces the content stored in the content files 161-1 to 161-N recorded in the content database 114.
[0099]
When the PD driver 140 checks out predetermined content to the portable device 6-2 or checks in predetermined content from the portable device 6-2, the PD driver 140 stores the content or portable device 6-2 in the portable device 6-2. A command for executing a predetermined process is supplied.
[0100]
When the PD driver 140 checks out predetermined content to the portable device 6-1, or checks in predetermined content from the portable device 6-1, the PD driver 140 stores the content in the device driver 116-1 or the device driver 116-. 1 is supplied with a command for executing a predetermined process.
[0101]
When the PD driver 140 checks out a predetermined content from the portable device 6-3 or checks in a predetermined content from the portable device 6-3, the PD driver 140 sends the content to the device driver 116-2 or the device driver 116- 2 is supplied with a command for executing a predetermined process.
[0102]
The purchase driver 141 is a so-called plug-in program, which is installed together with the content management program 111 and is supplied from the EMD registration server 3 via the network 2 or is recorded on a predetermined CD and supplied. When the purchase driver 141 is installed in the personal computer 1, it transmits and receives data to and from the content management program 111 via an interface in a predetermined format that the content management program 111 has.
[0103]
The purchase driver 141 requests the EMD server 4-2 to transmit predetermined content via the network 2, and receives the content from the EMD server 4-2. Further, the purchase driver 141 executes billing processing when receiving the content from the EMD server 4-2.
[0104]
The purchase driver 142 is a program that is installed together with the content management program 111, requests the EMD server 4-3 to transmit predetermined content via the network 2, and receives the content from the EMD server 4-3. . Further, the purchase driver 142 executes billing processing when receiving content from the EMD server 4-3.
[0105]
The display operation instruction program 112 displays an image of a predetermined window on the display 20 based on the filtering data file 181, the display data file 182, the image files 183-1 to 183-K, or the history data file 184, and the keyboard 18 Alternatively, based on an operation on the mouse 19, the content management program 111 is instructed to execute processing such as check-in or check-out.
[0106]
The filtering data file 181 stores data for weighting each content stored in the content files 161-1 to 161-N recorded in the content database 114, and is recorded in the HDD 21.
[0107]
The display data file 182 stores data corresponding to the content stored in the content files 161-1 to 161 -N recorded in the content database 114 and is recorded in the HDD 21.
[0108]
The image files 183-1 to 183-K store images corresponding to the content files 161-1 to 161-N recorded in the content database 114 or images corresponding to packages described later, and are recorded on the HDD 21. ing.
[0109]
Hereinafter, when it is not necessary to individually distinguish the image files 183-1 to 183-K, they are simply referred to as an image file 183.
[0110]
The history data file 184 stores history data such as the number of times the content stored in the content files 161-1 to 161-N recorded in the content database 114 is checked out, the number of times the content is checked in, and the date. Then, it is recorded on the HDD 21.
[0111]
During the registration process, the display operation instruction program 112 transmits the ID of the content management program 111 stored in advance to the EMD registration server 3 via the network 2, and from the EMD registration server 3, the authentication key and The EMD selection program 131 is received, and the authentication key and EMD selection program 131 are supplied to the content management program 111.
[0112]
The recording program 113 displays an image of a predetermined window, and reads data such as a recording time of content from a CD that is the optical disk 42 mounted on the drive 22 based on an operation on the keyboard 18 or the mouse 19.
[0113]
The recording program 113 stores data corresponding to the CD (for example, album name or artist name) to the WWW server 5-1 or 5-2 via the network 2 based on the recording time of the content recorded on the CD. Etc.) or data corresponding to the content recorded on the CD (for example, song name) is requested, and the data corresponding to the CD or the content recorded on the CD from the WWW server 5-1 or 5-2 Data corresponding to is received.
[0114]
The recording program 113 supplies the display operation instruction program 112 with data corresponding to the received CD or data corresponding to the content recorded on the CD.
[0115]
When a recording instruction is input, the recording program 113 reads the content from the CD that is the optical disk 42 mounted on the drive 22 and outputs the content to the content management program 111.
[0116]
The content database 114 stores the content compressed by the predetermined method supplied from the content management program 111 and encrypted by the predetermined method in any of the content files 161-1 to 161-N (in the HDD 21). Record). The content database 114 uses the usage condition data corresponding to the contents stored in the content files 161-1 to 161-N, respectively, and uses the data corresponding to the content files 161-1 to 161-N in which the contents are stored. It is stored in any one of the condition files 162-1 to 162-N (recorded in the HDD 21).
[0117]
The content database 114 may record the content files 161-1 to 161-N or the use condition files 162-1 to 162-N as records.
[0118]
For example, the usage rule data corresponding to the content stored in the content file 161-1 is stored in the usage rule file 162-1. The usage rule data corresponding to the content stored in the content file 161-N is stored in the usage rule file 162-N.
[0119]
Note that the data recorded in the use condition files 162-1 to 162-N corresponds to data recorded in a term database, which will be described later, or data recorded in a song database. That is, the content database 114 is configured to include a time limit database and a song database, which will be described later.
[0120]
Hereinafter, when it is not necessary to individually distinguish the content files 161-1 to 161 -N, they are simply referred to as the content file 161. Hereinafter, when it is not necessary to individually distinguish the usage rule files 162-1 to 162-N, they are simply referred to as usage rule files 162.
[0121]
The application program for purchase 115 is supplied from the EMD registration server 3 via the network 2 or is recorded on a predetermined CD and supplied. The purchase application program 115 requests the EMD server 4-1 to transmit predetermined content via the network 2, receives the content from the EMD server 4-1, and supplies it to the content management program 111. Further, the purchase application program 115 executes a billing process when receiving the content from the EMD server 4-1.
[0122]
Next, the association between the data stored in the display data file 82 and the content files 161-1 to 161-N stored in the content database will be described.
[0123]
The content stored in any of the content files 161-1 to 161-N belongs to a predetermined package. More specifically, the package is either an original package, a My Select package, or a filtering package.
[0124]
One or more contents belong to the original package, and correspond to a classification of contents (for example, corresponding to a so-called album) in the EMD servers 4-1 to 4-3, or one CD. The content belongs to one of the original packages and cannot belong to a plurality of original packages. Also, the original package to which the content belongs cannot be changed. The user can edit a part of information corresponding to the original package (addition of information or change of added information).
[0125]
One or more contents arbitrarily selected by the user belong to the My Select package. The user can arbitrarily edit which content belongs to the My Select package. Content can belong to one or more My Select packages at the same time. Further, the content does not have to belong to any My Select package.
[0126]
The content selected based on the filtering data stored in the filtering data file 181 belongs to the filtering package. The filtering data is supplied from the EMD servers 4-1 to 4-3 or the WWW server 5-1 or 5-2 through the network 2, or is recorded on a predetermined CD and supplied. The user can edit the filtering data stored in the filtering data file 181.
[0127]
The filtering data is a reference for selecting a predetermined content or calculating a weight corresponding to the content. For example, if filtering data corresponding to this week's J-POP (Japanese pops) best ten is used, the personal computer 1 identifies the content of the Japanese pops this week or the content of the 10th Japanese pops this week. can do.
[0128]
The filtering data file 181 includes, for example, filtering data that selects content in the order of the longest check-out period in the past month, filtering data that selects content that has been checked out frequently in the past half year, or a song title. It includes filtering data that selects content that includes the word “love”.
[0129]
As described above, the content of the filtering package is selected by associating the filtering data with the display data 221 for content corresponding to the content (including the data set by the user in the display data 221 for content) or the history data 184. Is done.
[0130]
FIG. 6 is a diagram for explaining a window that the recording program 113 displays on the display 20 when CD information is received from the WWW server 5-2. Based on the CD information received from the WWW server 5-2, the recording program 113 displays a CD title such as “Asynchronized” in the field 201, for example. Based on the CD information received from the WWW server 5-2, the recording program 113 displays an artist name such as “Kwai” in the field 202.
[0131]
Based on the CD information received from the WWW server 5-2, the recording program 113 displays a song name such as “Heat”, “Planet”, “Black”, “Soul”, etc. Is displayed. Similarly, the recording program 113 displays an artist name such as “Kwai” in the field 203 for displaying the artist.
[0132]
After the recording program 113 receives the predetermined CD information, the recording program 113 stores the CD information in a predetermined directory of the HDD 21.
[0133]
When the button 204 or the like is clicked and a CD information acquisition instruction is received, the recording program 113 first searches a predetermined directory in the HDD 21. When the CD information is stored in the directory, the recording program 113 displays a dialog box (not shown) and allows the user to select whether or not to use the CD information stored in the directory.
[0134]
When the button 206 for instructing the start of recording of the content arranged in the window displayed by the recording program 113 is clicked, the recording program 113 reads the content from the CD stored in the drive 22 and reads from the CD. The content is supplied to the content management program 111 together with the CD information. The compression method conversion program 134 of the content management program 111 compresses the content supplied from the recording program 113 by a predetermined compression method, and the encryption program 135 encrypts the compressed content. Further, the use condition conversion program 136 generates use condition data corresponding to the compressed and encrypted content.
[0135]
The content management program 111 supplies the compressed and encrypted content together with usage rule data to the content database 114.
[0136]
The content database 114 generates a content file 161 and a usage rule file 162 corresponding to the content received from the content management program 111, stores the content in the content file 161, and stores usage rule data in the usage rule file 162. To do.
[0137]
When the content database 114 stores content and usage condition data corresponding to the content, the content management program 111 supplies the display operation instruction program 112 with the CD information and usage condition data received from the recording program 113.
[0138]
The display operation instruction program 112 generates original package display data 201 and content display data 221 based on usage condition data and CD information corresponding to the content stored in the content database 114 in the recording process.
[0139]
In the window displayed by the recording program 113, when the content read from the CD is recorded in the content database 114, the content read from the CD is automatically checked to one of the portable devices 6-1 to 6-3. A button 205 for setting whether or not to be out is arranged.
[0140]
For example, when the button 205 is clicked, the recording program 113 displays a pull-down menu showing a list of portable devices 6-1 to 6-3. When the user selects any of the portable devices 6-1 to 6-3 from the pull-down menu, the personal computer 1 automatically selects any of the selected portable devices 6-1 to 6-3. Check out the content recorded from the CD. When the user selects “Do not check out” from the pull-down menu, the personal computer 1 does not check out when recording content from a CD.
[0141]
Next, with reference to the flowchart of FIG. 7, a process when the CPU 11 executing the recording program 113 transfers music data reproduced from a CD loaded in the drive 22 to the HDD 21 and copies it will be described. A user operates the keyboard 18 or mouse 19 to input a command to transfer and copy music data reproduced from a CD (not shown) mounted on the drive 22 to the HDD 11 to the CPU 11 via the interface 17. Then, in step S11, the CPU 11 displays a GUI (Graphical User Interface) for selecting a song to be copied to the display 20 via the interface 17.
[0142]
Specifically, for example, the CPU 11 reads a TOC (Table Of Contents) of a CD loaded in the drive 22, obtains information on a song included in the CD, and displays it on the display 20. Alternatively, the CPU 11 reads out ISRC (International Standard Recording Code) for each song included in the CD, obtains information on the song, and displays it on the display 20. Alternatively, the CPU 11 accesses the WWW server 5-1 or 5-2 via the network 2, obtains information on the music of the CD using the TOC, and displays the corresponding GUI on the display 20. The user operates the keyboard 18 or the mouse 19 using the GUI of the display 20 to select a song to be copied.
[0143]
Next, in step S12, the CPU 11 checks a time limit database stored in the HDD 21 (corresponding to the usage condition files 162-1 to 162-N of the content database 114 shown in FIG. 5). Details of this time limit database check process are shown in the flowchart of FIG.
[0144]
In step S31, the CPU 11 cooperates with the CPU 32 of the adapter 26 to calculate the hash value of the entire term database, and in step S32, compares the calculated value with the hash value stored last time.
[0145]
Note that when no data is recorded in the term database, the CPU 11 does not calculate a hash value.
[0146]
That is, a time limit database is formed in the HDD 21, and the time limit database has been recorded in the past as management information for managing music data (contents) recorded in the HDD 21, as shown in FIG. The corresponding ISRC and copy date / time of a song are stored. In this example, the ISRC and the copy date and time are stored for the three items 1 to 3. As will be described later, the hash value of the entire term database based on the ISRC and copy date and time recorded in this term database is calculated by the CPU 32 of the adapter 26 and stored in the nonvolatile memory 34 as will be described later. Has been. The hash value is a value obtained by applying a hash function to data. The hash function is generally a one-way function that maps long data with a variable length to a short value with a fixed length, and has a property that collision between hash values hardly occurs. Examples of hash functions include SHA (Secure Hash Algorithm) and MD (Message Digest) 5. In step S31, the CPU 11 calculates a hash value in the same manner as executed by the CPU 32. In step S32, the CPU 11 requests the CPU 32 to read out the hash value stored in the non-volatile memory 34, and the hash value received by the CPU 11 in step S31. Compare
[0147]
In step S33, the CPU 11 determines whether or not the hash value just calculated in step S31 matches the hash value of the previous time limit database stored in the nonvolatile memory 34. The CPU 11 determines that the time limit database has been tampered with, and in step S34, the CPU 11 generates a message such as “copying is not possible because the time limit database has been tampered with” and outputs it to the display 20 via the interface 17, After that, the process is terminated. That is, in this case, the process of reproducing the music data recorded on the CD and copying it to the HDD 21 is prohibited.
[0148]
If the hash value calculated in step S31 matches the previous hash value, the process proceeds to step S35, and the CPU 11 selects the ISRC of the song (selected song) selected as the song to be copied designated in step S11. Obtain from CD. When the ISRC is not recorded on the CD, the CPU 11 reads the TOC data of the CD, applies a hash function to the data, and obtains data of an appropriate length such as 58 bits, for example, Use this instead of ISRC.
[0149]
In step S36, the CPU 11 determines whether or not the ISRC (that is, the selected song) acquired in step S35 is registered in the time limit database (FIG. 9). If the ISRC is not registered in the due date database, the song has not been recorded in the HDD 21 yet, so the process proceeds to step S37, and the CPU 11 registers the ISRC of the song and the current date and time in the due date database. To do. The CPU 11 uses the value output from the RTC 35 of the adapter 26 that has been transferred from the CPU 32 as the current date and time. In step S <b> 38, the CPU 11 reads the data in the time limit database at that time and transfers it to the CPU 32 of the adapter 26. The CPU 32 calculates a hash value of the transferred data and stores it in the nonvolatile memory 34. As described above, the hash value stored in this manner is used as the previously stored hash value in step S32.
[0150]
Next, in step S39, the CPU 11 sets an unregistered flag indicating that the selected song is not registered in the term database. This flag is used when determining whether or not the selected song is registered in the term database in step S13 of FIG.
[0151]
If it is determined in step S36 that the ISRC of the selected song is registered in the time limit database, the selected song is a song that has been registered in the HDD 21 at least once. Therefore, in this case, the process proceeds to step S40, and the CPU 11 passes the current date and time (the current date and time output by the RTC 35 of the adapter 26) from the registration date and time of the selected song registered in the time limit database for 48 hours or more. It is determined whether or not. If the current time has already passed 48 hours or more from the registration date and time, it has been recorded on the HDD 21 at least once, but since it has already passed 48 hours, the song is Even if it is copied, there is not much harm, so in this case, copying to the HDD 21 is allowed. In step S41, the CPU 11 changes the date and time in the time limit database from the past registration date and time to the current date and time (the date and time output by the RTC 35). Then, returning to step S38, the CPU 11 again causes the CPU 32 to calculate the hash value of the entire term database and save it in the nonvolatile memory 34, and sets an unregistered flag for the song in step S39.
[0152]
On the other hand, if it is determined in step S40 that the current time has not yet passed 48 hours from the registration date and time, copying the selected song to the HDD 21 is prohibited. In this case, the process proceeds to step S42, and the CPU 11 sets a registered flag corresponding to the selected song.
[0153]
As described above, a flag indicating whether or not the selected song is registered in the HDD 21 is set by the time limit database check process.
[0154]
Returning to FIG. 7, in step S <b> 13, the CPU 11 determines from the above-described flag whether or not the selected song has been registered in the term database. If the selected song has been registered, the process proceeds to step S14, and the CPU 11 displays on the display 20, for example, “This song has not been copied for 48 hours since it has been copied once and cannot be copied”. A message like this is displayed. Thereby, the user can know the reason why the song cannot be copied to the HDD 21.
[0155]
If it is determined in step S13 that the selected song is not registered in the time limit database, the process proceeds to step S15, and the CPU 11 controls the drive 22 to read music data from the CD loaded therein. In this music data, a watermark code is inserted at a predetermined position as shown in FIG.
In step S16, the CPU 11 extracts a watermark code included in the music data, and determines in step S17 whether or not the watermark code indicates copy prohibition. If the watermark code indicates that copying is prohibited, the process proceeds to step S18, and the CPU 11 causes the display 20 to display a message such as “copying is prohibited” via the interface 17 to copy. End the process.
[0156]
On the other hand, if it is determined in step S17 that the watermark does not indicate copy prohibition, the process proceeds to step S19, and the CPU 11 converts the music data into, for example, ATRAC (Adaptive Transform Acoustic Coding) 3 (trademark) or the like. This is compressed by software processing. In step S20, the CPU 11 uses the encryption key that is set in advance and stored in the memory 13, for example, to store the music data by an encryption method such as DES (Data Encryption Standard) method or FEAL (Fast Encripherment Algotithm) method. Is encrypted. In addition, for example, a cryptographic key generated based on a random number generated by software or a random number generated by the CPU 32 of the adapter 26 can be used. In this way, not only the personal computer 1 but also the CPU 32 of the adapter 26 as hardware attached to the personal computer 1 works together to execute the encryption process, making decryption more difficult. Encryption can be performed.
[0157]
Next, in step S21, the CPU 11 transfers the encrypted data to the HDD 21 and saves it with a file name as one file (as the content file 161). Alternatively, as a part of one file, position information (for example, the number of bytes from the head) of the file name may be given and stored.
[0158]
This storage process and the above-described compression encoding process and encryption process may be performed separately or in parallel.
[0159]
Further, in step S22, the CPU 11 uses the storage key stored in the predetermined RAM 13 (stored so that it is difficult to read by unauthorized reading), and the DES method, FEAL described above. The encryption key obtained by encrypting the music data is encrypted by a method such as a method, and is stored in the song database of the HDD 21 (corresponding to the use condition files 162-1 to 162-N of the content database 114 shown in FIG. 5).
[0160]
In step S23, the CPU 11 registers the saved file information, the encrypted encryption key, the song information, and the song name information entered by the user via the GUI in the song database of the HDD 21. . In step S24, the CPU 11 causes the CPU 32 to calculate the hash value of the entire music database and store it in the nonvolatile memory 34.
[0161]
In this way, for example, a song database as shown in FIG. 11 is registered on the HDD 21. In this example, the file names of items 1 to 3, encrypted encryption keys, song names, lengths, playback conditions (start date / time, end date / time, number limit), playback count counter, playback billing conditions, copy conditions (Number of times), copy number counter, and copy condition (SCMS) are recorded.
[0162]
When a certain period of time has passed since the copy, the copy can be made again, so that the copy can be performed several times, which is within the range of personal use of the user. On the other hand, exceeding the range of personal use, for example, when trying to replicate in large quantities, enormous time is required, making it practically impossible. Further, for example, even when the personal computer 1 breaks down and the content recorded in the HDD 21 is erased, the erased content can be copied again and recorded in the HDD 21 after a certain period of time.
[0163]
Further, for example, the contents of the term database recorded in the HDD 21 can be shared via the network 2.
[0164]
In the above description, the case where the date and time copied according to ISRC is stored is described as an example. However, as long as the information identifies the content or CD, other information (for example, song name, album name, and their names) Combination) can also be used.
[0165]
Next, referring to the flowcharts of FIGS. 12 to 14, the CPU 21 that executes the content management program 111 and the CPU 53 that executes the main program from the HDD 21 to the flash memory 61 (for example, Memory Stick (trademark)) of the portable device 6. The process of moving music data will be described. In step S51, the CPU 11 calculates a hash value of the entire music database, and in step S52, compares the hash value stored in the nonvolatile memory 34 with the CPU 32 calculating the previous time. If they do not match, the CPU 11 proceeds to step S53, and displays a message such as “There is a possibility that the song database has been tampered” on the display 20, and then terminates the processing. The processing in this case is similar to the processing in steps S31 to S34 in FIG. In this case, the music data is not transferred from the HDD 21 to the portable device 6.
[0166]
Next, in step S54, the CPU 11 reads the information of the music registered in the music database formed in the HDD 21, and displays it on the display 20 as a GUI for selection. The user operates the keyboard 18 or the mouse 19 to select a song to be moved from the HDD 21 to the portable device 6 based on the GUI for this selection. Next, in step S55, the CPU 11 checks the reproduction condition, copy condition, reproduction-time charging condition, etc. of the selected song selected in step S54. Details of this processing will be described later with reference to the flowchart of FIG.
[0167]
Next, in step S56, mutual authentication processing is performed between the CPU 11 of the personal computer 1 and the CPU 53 of the portable device 6, and the communication key is shared.
[0168]
For example, the master key KM is stored in advance in the flash memory 61 (or EEPROM 68) of the portable device 6, and the individual key KP and ID are stored in the RAM 13 (or a predetermined file in the HDD 21) of the personal computer 1. Assume that it is stored in advance. The CPU 53 receives the ID stored in advance in the RAM 13 from the CPU 11, applies a hash function to the ID and the master key KM owned by itself, and the individual key of the personal computer 1 stored in the RAM 13. Generate the same key. By doing so, a common individual key is shared by both the personal computer 1 and the portable device 6. Furthermore, a temporary communication key can be generated using this individual key.
[0169]
Alternatively, the ID and master key KMP are stored in advance in the RAM 13 of the personal computer 1, and the ID and master key KMM of the portable device 6 are also stored in the flash memory 61 of the portable device 6. Then, by transmitting each ID and master key to each other, the other applies a hash function to the ID and master key transmitted from one to generate the other individual key.
Then, a temporary communication key is further generated from the individual key.
[0170]
As an authentication method, for example, IOS (International Organization for Standardization) 9798-2 can be used.
[0171]
When the mutual authentication is not correctly performed, the process is terminated. When the mutual authentication is correctly performed, in step S57, the CPU 11 reads out the file name of the selected song from the song database, and the music data of the file name ( For example, it is read from the HDD 21 (encrypted in the process of step S20 in FIG. 7). In step S58, the CPU 11 performs processing for converting the compression encoding method (processing in step S19), encryption method (processing in step S20), format, and the like of the digital music data read out in step S57 into those of the portable device 6. Execute.
Details of this conversion processing will be described later with reference to the flowchart of FIG.
[0172]
In step S <b> 59, the CPU 11 encrypts the music data converted in step S <b> 58 with the communication key shared by the mutual authentication process in step S <b> 56 and transfers it to the portable device 6 through the USB port 23. In step S <b> 60, when the CPU 53 of the portable device 6 receives the transmitted music data via the USB connector 56, the music data is stored in the flash memory 61 as it is.
[0173]
In step S <b> 61, the CPU 11 further converts the playback conditions (start date / time, end date / time, number limit, etc.) of the selected song registered in the song database into a format managed by the portable device 6. In step S <b> 62, the CPU 11 further converts the SCMS information in the copy condition registered in the song database of the selected song into a format managed by the portable device 6. In step S63, the CPU 11 transfers the reproduction condition converted in step S61 and the SCMS information converted in step S62 to the portable device 6. The CPU 53 of the portable device 6 saves the transferred playback condition and SCMS information in the flash memory 61.
[0174]
In step S64, the CPU 11 also transfers the playback conditions, charging conditions for playback, copy conditions, etc. registered in the song database of the selected song to the portable device 6 in the format handled by the CPU 11 in the song database. And stored in the flash memory 61.
[0175]
In step S65, the CPU 11 reads the encrypted encryption key of the selected song from the song database, and in step S66, decrypts the encryption key with the storage key stored in the RAM 13 and encrypts it with the communication key. To do. Then, the CPU 11 transfers the encryption key encrypted with the communication key to the portable device 6.
[0176]
In step S67, the CPU 53 of the portable device 6 decrypts the encryption key transferred from the personal computer 1 using the communication key shared by the mutual authentication process, encrypts it using its own storage key, The data is stored in the flash memory 61 in association with the stored data.
[0177]
When the storage of the encryption key is completed, the CPU 53 notifies the personal computer 1 that the encryption key has been stored in step S68. Upon receiving this notification from the portable device 6, the CPU 11 of the personal computer 1 deletes the music data file from the HDD 21 and deletes the set of elements of the music from the music database in step S 69. In other words, not a copy but a move is performed. In step S <b> 70, the CPU 11 transfers the music database data to the CPU 32 of the adapter 26, calculates the entire hash value, and stores the calculated hash value in the nonvolatile memory 34. This hash value is used as the previously stored hash value in step S52 described above.
[0178]
Next, a description will be given of a check process such as the playback condition of the selected tune in step S55 of FIG. 12 by the CPU 11 that executes the content management program 111. In step S81, the CPU 11 reads various conditions from the song database. In step S82, the CPU 11 determines whether or not the number of copies has already exceeded the copy limit number among the various conditions read in step S81. If the copy count has already exceeded the copy limit count, it is not possible to allow further copy, so the process proceeds to step S83, and the CPU 11, for example, “The copy count has already reached the copy limit count. "Is displayed on the display 20, and the process is terminated. If it is determined in step S82 that the number of copies has not exceeded the copy limit number, the process proceeds to step S84, where it is determined whether the current date has passed the reproduction end date. As the current date and time, those output from the RTC 35 of the adapter 26 are used. This prevents the user from using the personal computer 1 whose current time is intentionally corrected to a past value. The CPU 11 receives this current date and time from the CPU 32 and makes the determination of step S84 itself, or supplies the playback conditions read from the song database to the CPU 32 of the adapter 26 in step S81, and sends the CPU 32 to the CPU 32 in step S84. The determination process is executed.
[0179]
When the current date and time has passed the playback end date and time, the process proceeds to step S85, and the CPU 11 deletes the selected song from the HDD 21 and deletes the information of the selected song from the song database. In step S <b> 86, the CPU 11 causes the CPU 32 to calculate the hash value of the music database and store it in the nonvolatile memory 34. Thereafter, the process is terminated. Therefore, in this case, the music data is not moved.
[0180]
If it is determined in step S84 that the current date / time is not past the playback end date / time, the process proceeds to step S87, and the CPU 11 determines that the charging condition (for example, fee per playback) of the selected song is the song database. It is determined whether or not it is registered. If the charging condition for reproduction is registered, the CPU 11 communicates with the portable device 6 in step S88 and determines whether or not the portable device 6 has a charging function. If the portable device 6 does not have a billing function, the selected song cannot be transferred to the portable device 6. Therefore, in step S89, the CPU 11, for example, “The transfer destination does not have a billing function. Is displayed on the display 20, and the music data movement process is terminated.
[0181]
If it is determined in step S87 that the charging condition for playback is not registered, or if it is determined in step S88 that the portable device 6 has a charging function, the process proceeds to step S90, and the CPU 11 For example, it is determined whether or not other reproduction conditions such as the reproduction limit number are registered.
If other playback conditions are registered, the process proceeds to step S91, and the CPU 11 determines whether or not the portable device 6 has a function for keeping the playback conditions. If the portable device 6 does not have a function for keeping the playback conditions, the process proceeds to step S92, and the CPU 11 reads, for example, “The transfer destination device does not have a function for keeping the playback conditions”. Such a message is displayed on the display 20, and the process is terminated.
[0182]
If it is determined in step S90 that the playback condition is not registered, or if it is determined in step S91 that the portable device 6 has a function for protecting the playback condition, the check process for the playback condition and the like is terminated. Return to step S56 in FIG.
[0183]
FIG. 16 shows an example of playback conditions managed (protectable) by the portable device 6. In this example, the playback start date and time and the playback end date and time are registered for each of the items 1 to 3, but the playback count is registered only for item 2 and registered for item 1 and item 3. It has not been. Therefore, when the song of item 2 is the selected song, the playback condition of the number of playbacks can be observed, but when the song of item 1 or item 3 is the selected song, the condition of the number of playbacks must be observed. Will not be able to.
[0184]
Next, details of the format conversion process in step S58 in FIG. 12 by the CPU 11 executing the content management program 111 will be described with reference to the flowchart in FIG. In step S101, the CPU 11 checks the format (reproduction condition, use condition, copy condition, etc.) of the selected song recorded on the HDD 21. In step S102, the CPU 11 checks the conditions that can be set for the counterpart device (in this case, the portable device 6). That is, the CPU 11 inquires about conditions that can be set to the CPU 53 of the portable device 6 and obtains an answer to the conditions. In step S103, the CPU 11 determines a condition that can be set in the counterpart device among the conditions of the format registered in the music database based on the condition checked in step S102.
[0185]
In step S104, the CPU 11 determines whether there is a settable condition. If there is no settable condition, the CPU 11 proceeds to step S105 and prohibits the process of moving the music data to the portable device 6. . That is, in this case, since the portable device 6 cannot keep the conditions registered in the song database, it is prohibited to move music data to such a portable device 6.
[0186]
If it is determined in step S104 that there is a settable condition, the process proceeds to step S106, and the CPU 11 converts the condition into a function format condition of the counterpart. In step S107, the converted condition is set in the counterpart device. As a result, the portable device 6 can reproduce music data in accordance with the set conditions (observing the conditions).
[0187]
Next, processing when music data is copied from the HDD 21 to the portable device 6 by the CPU 11 that executes the content management program 111 and the CPU 53 that executes the main program will be described with reference to the flowcharts of FIGS. The processing from step S111 to step S127 in FIGS. 18 to 20 is the same as the processing from step S51 to step S67 when moving music data from the HDD 21 to the portable device 6 in FIGS. That is, also in this case, after checking the alteration of the song database, a check process with the reproduction condition of the selected song is performed. Further, after mutual authentication processing between the portable device 6 and the personal computer 1, the music data is transferred from the HDD 21 of the personal computer 1 to the flash memory 61 of the portable device 6 and stored. Thereafter, in step S128, the CPU 11 of the personal computer 1 increments the copy number counter of the music database by one. In step S 129, the CPU 11 causes the CPU 32 to calculate the hash value of the entire music database, and stores the value in the nonvolatile memory 34.
[0188]
Next, a process of moving music data from the portable device 6 to the HDD 21 by the CPU 11 that executes the content management program 111 and the CPU 53 that executes the main program will be described with reference to the flowchart of FIG. In step S <b> 161, the CPU 11 of the personal computer 1 requests the CPU 53 of the portable device 6 to read the song information stored in the flash memory 61. In response to this request, the CPU 53 transmits the music information stored in the flash memory 61 to the personal computer 1. Based on this information, the CPU 11 of the personal computer 1 causes the display 20 to display a GUI for selecting a song stored in the flash memory 61. The user operates the keyboard 18 or the mouse 19 to designate a song to be moved from the portable device 6 to the HDD 21 based on the GUI.
[0189]
In step S162, the CPU 11 performs mutual authentication processing with the CPU 53 and shares a communication key. This process is the same as that in step S56 of FIG.
[0190]
Next, in step S <b> 163, the CPU 53 reads the encrypted music data of the selected song stored in the flash memory 61 and transfers it to the personal computer 1. In step S164, the CPU 11 of the personal computer 1 stores the music data transferred from the portable device 6 in the HDD 21 with a file name as one file. This storage can be performed, for example, by giving position information (for example, the number of bytes from the beginning) of the file name as a part of one file.
[0191]
In step S165, the CPU 53 reads the encrypted encryption key of the selected song stored in the flash memory 61, decrypts it with its own storage key, and further encrypts it with the communication key. Transfer to personal computer 1. This encryption key has been stored in the flash memory 61 in the process of step S67 of FIG. 14, for example.
[0192]
In step S166, upon receiving the transfer of the encryption key from the portable device 6, the CPU 11 of the personal computer 1 decrypts it with the communication key and encrypts it with its own storage key. In step S167, the CPU 11 stores the file name of the music data file saved in step S164, the song name input by the user via the GUI, the encryption key encrypted in step S166, etc. Register in the database. In step S168, the CPU 11 causes the CPU 32 to calculate the hash value of the entire music database and store it in the nonvolatile memory 34.
[0193]
In step S169, the CPU 11 of the personal computer 1 notifies the portable device 6 that the encryption key has been saved, and requests deletion of the music data of the song. When the personal computer 1 requests deletion of the music data of the song, the CPU 53 deletes the music data of the song stored in the flash memory 61 in step S170.
[0194]
Next, processing when music data is copied from the portable device 6 to the HDD 21 by the CPU 11 that executes the content management program 111 and the CPU 53 that executes the main program will be described with reference to the flowchart of FIG. The processing from step S181 to step S188 shown in FIG. 22 is the same as the processing from step S161 to step S168 in the processing when moving music data from the portable device 6 to the HDD 21 in FIG. That is, in the case of the copy process, the process is basically the same as the process in the case of moving except that the processes in steps S169 and S170 in FIG.
[0195]
Next, a process of copying music data transferred from the EMD server 4 to the HDD 21 by the CPU 11 executing the EMD server 4 and the content management program 111 will be described with reference to a flowchart of FIG. In step S <b> 201, the CPU 11 controls the communication unit 25 to access the EMD server 4 via the network 2 when an instruction to access the EMD server 4 is issued from the user via the keyboard 18 or the mouse 19. In response to this access, the EMD server 4 transfers information such as the song number, song name, and information held by itself to the personal computer 1 via the network 2. When the CPU 11 of the personal computer 1 acquires this information via the communication unit 25, it displays it on the display 20 via the interface 17. Using the GUI displayed on the display 20, the user designates a song that he / she wishes to copy in step S202. This designation information is transferred to the EMD server 4 via the network 2. In step S <b> 203, the CPU 11 performs mutual authentication processing with the EMD server 4 via the network 2 and shares a communication key.
[0196]
The mutual authentication process performed between the personal computer 1 and the EMD server 4 can be performed using, for example, a public key and a secret key defined in ISO 9798-3. In this case, the personal computer 1 has its own secret key and the public key of the EMD server 4 in advance, and the EMD server 4 has its own secret key, and mutual authentication processing is performed. The public key of the personal computer 1 is transferred from the EMD server 4 or a certificate (certificate) distributed in advance to the personal computer 1 is transferred from the personal computer 1 to the EMD server 4, and the certificate is transferred to the EMD server 4. May confirm and obtain a public key. Furthermore, in step S <b> 204, the CPU 11 executes processing related to charging with the EMD server 4. Details of the accounting process will be described later with reference to the flowchart of FIG.
[0197]
Next, in step S205, the EMD server 4 transfers the encrypted music data of the song designated in step S202 to the personal computer 1 via the network 2 to the personal computer 1. At this time, time information is also appropriately transferred. In step S206, the CPU 11 saves the transferred music data as a single file in the HDD 21 with a file name. In step S207, the EMD server 4 further encrypts the encryption key of the song using the communication key shared with the personal computer 1 in step S203, and transfers it to the personal computer 1.
[0198]
In step S208, the CPU 11 decrypts the encryption key transferred from the EMD server 4 alone or in cooperation with the CPU 32 of the adapter 26 using the communication key, and decrypts the encryption key obtained by itself. Encrypt with the storage key. In step S209, the CPU 11 registers the file name of the song, the song information, the song name input by the user, and the encrypted encryption key in the song database of the HDD 21. Further, in step S210, the CPU 11 causes the CPU 32 to calculate the hash value of the entire music database and store it in the nonvolatile memory 34.
[0199]
In step S205, the EMD server 4 transmits time data to the personal computer 1 together with the music data. This time data is transferred from the personal computer 1 to the adapter 26. When receiving the time data transferred from the personal computer 1, the CPU 32 of the adapter 26 corrects the time of the RTC 35 in step S211. In this way, the time information of the RTC 35 of the adapter 26 is corrected based on the time information obtained from the external device recognized as the correct device as a result of mutual authentication. Information can be held.
[0200]
Next, with reference to the flowchart of FIG. 24, the details of the processing related to charging in step S204 of FIG. 23 by the CPU 11 that executes the EMD server 4 and the content management program 111 will be described. In step S221, the CPU 11 of the personal computer 1 reads the price information of the selected song designated in step S202 from the price information transmitted from the EMD server 4 in step S201, and stores this in the billing log on the HDD 21. Write. FIG. 25 shows an example of such a charge log. In this example, the user has copied items 1 to 3 from the EMD server 4, the area of item 1 and item 2 is 50 yen, and the charge of item 3 is 60 yen. The hash value of the billing log at that time is also calculated by the CPU 32 and registered in the nonvolatile memory 34.
[0201]
Next, in step S <b> 222, the CPU 11 of the personal computer 1 reads the billing log written in step S <b> 221 from the HDD 21 and transfers it to the EMD server 4 via the network 2. In step S223, the EMD server 4 executes billing calculation processing based on the billing log transferred from the personal computer 1. That is, the EMD server 4 additionally updates the charging log transmitted from the user of the personal computer 1 to the built-in database. In step S224, the EMD server 4 determines whether or not to immediately approve the billing log. If so, the process proceeds to step S225. Are transferred to an approval server (not shown). In step S226, the approval server executes an approval process for the user of the personal computer 1. If it is determined in step S224 that the decision is not made immediately, the processes in steps S225 and S226 are skipped. That is, this process is periodically executed thereafter, for example, once a month.
[0202]
Next, referring to the flowcharts of FIGS. 26 and 27, the music data reproduced from the CD player or the like (not shown) input from the IEC60958 terminal of the audio input / output interface 24 by the CPU 11 executing the content management program 111 is shown. A process for copying to the HDD 21 will be described. In step S <b> 241, the user connects the IEC60958 output terminal of the CD player to the IEC60958 terminal of the audio input / output interface 24 of the personal computer 1. In step S242, the user operates the keyboard 18 or the mouse 19 to input the name of the song to be copied from the CD player (or a number corresponding to the song). In step S243, the user operates a button on the CD player to start playback on the CD player. When a line for transmitting and receiving control signals is connected between the CD player and the personal computer 1, a playback start command is input via the keyboard 18 or the mouse 19 of the personal computer 1, whereby the CD player It is also possible to start playback.
[0203]
When CD playback is started in the CD player, the music data output from the CD player is transferred to the personal computer 1 via the IEC60958 terminal in step S244. In step S245, the CPU 11 reads SCMS (Serial Copy Management System) data from data input via the IEC60958 terminal. This SCMS data includes copy information such as copy prohibition, one copy only, and copy free. Therefore, in step S246, the CPU 11 determines whether or not the SCMS data indicates copy prohibition. If the copy prohibition is indicated, the CPU 11 proceeds to step S247, and the CPU 11 displays, for example, “Copy”. Message is displayed and the copy process is terminated. That is, in this case, copying to the HDD 21 is prohibited.
[0204]
If the CPU 11 determines in step S246 that the SCMS information read in step S245 does not indicate copy prohibition, the CPU 11 proceeds to step S248, reads a watermark code, and determines whether or not the watermark indicates copy prohibition. The determination is made in step S249. If the watermark code indicates copy prohibition, the process proceeds to step S247, a predetermined message is displayed, and the copy process is terminated as in the case described above.
[0205]
If it is determined in step S249 that the watermark does not indicate copy prohibition, the process proceeds to step S250, and a time limit database check process is performed. If the selected music piece has already been registered as a result of the time limit database check, the process ends in steps S251 and S252. This process is the same as the process of steps S13 and S14 in FIG.
[0206]
If the selected song is not yet registered in the HDD 21, the registration process is executed in steps S253 to S258. The processing from step S253 to step S258 is the same as the processing from step S19 to step S24 in FIG. 7 except that the SCMS information supplied from the IEC60958 terminal is also registered in the song database in step S257. Therefore, the description is omitted.
[0207]
Next, processing when the music data is output (reproduced) from the HDD 21 to the IEC60958 terminal by the CPU 11 that executes the content management program 111 will be described with reference to the flowcharts of FIGS. In steps S271 through S273, as in the case of steps S111 through S113 in FIG. 18, the hash value of the entire music database is calculated, and it is determined whether or not it matches the previously stored hash value. The tampering check process is performed. If it is determined that the song database has not been tampered with, the process proceeds to step S274, where the CPU 11 accesses the song database in the HDD 21, reads out information on the songs registered therein, and causes the display 20 to display the information. The user sees the display and appropriately operates the keyboard 18 or mouse 19 to select a song to be reproduced and output. In step S275, the CPU 11 executes a check process such as a playback condition for the selected song. Details of this reproduction condition check process will be described later with reference to the flowchart of FIG.
[0208]
Next, in step S276, the CPU 11 reads the encryption key of the song selected in step S274 from the song database and decrypts it with the storage key. In step S277, the CPU 11 reads the SCMS information of the selected song from the song database, and determines the SCMS information to be output from the IEC60958 terminal according to the rules of the SCMS system. For example, when the number of reproductions is limited, the number of reproductions is incremented by 1, and new SCMS information is obtained. In step S278, the CPU 11 further reads out the ISRC of the selected song from the song database.
[0209]
In step S279, the CPU 11 reads the selected song file name from the song database, and reads the music data from the HDD 21 based on the file name. The CPU 11 further reads out the encryption key corresponding to the music data from the music database, decrypts it with the storage key, and decrypts the encrypted music data using the decrypted encryption key. The CPU 11 further decodes the compression code of the music data. In step S280, the CPU 11 outputs the decoded digital music data in step S279 from the IEC60958 terminal in accordance with the IEC60958 terminal together with the SCMS information determined in step S277 and the ISRC information read in step S278. Furthermore, the digital music data is converted to analog and output from the analog output terminal of the audio input / output interface 24.
[0210]
In step S281, the CPU 11 increments the value of the reproduction number counter in the song database by one. In step S282, it is determined whether or not a charging condition is added to the selected song. If the charge condition at the time of reproduction is added, the process proceeds to step S283, and the CPU 11 writes the corresponding charge in the charge log, and in step S284, causes the CPU 32 to calculate the hash value of the entire music database, and the nonvolatile memory 34 Remember me. If it is determined in step S282 that the charge condition for reproduction is not added to the selected song, the processes in steps S283 and S284 are skipped.
[0211]
Next, with reference to the flowchart of FIG. 30, the details of the checking process such as the reproduction condition in step S275 of FIG. 28 by the CPU 11 executing the content management program 111 will be described. In step S301, the CPU 11 reads out various conditions of the song database. In step S302, the CPU 11 determines whether or not the number of reproductions exceeds the limit number among the read conditions, and if so, the process proceeds to step S303 to delete the selected song from the HDD 21 and the song database. Delete the selected song information from. In step S <b> 304, the CPU 11 further causes the CPU 32 to calculate a new hash value of the music database and stores the hash value in the nonvolatile memory 34. In this case, reproduction output is prohibited.
[0212]
If it is determined in step S302 that the number of reproductions has not exceeded the limit number, the process proceeds to step S305, and the CPU 11 determines whether or not the reproduction end date has passed the current date and time. If the playback end date / time has passed the current date / time, the selected song is deleted from the HDD 21 and also deleted from the song database in step S303 as in the case described above. In step S304, the hash value of the new music database is calculated and stored. Also in this case, reproduction output is prohibited.
[0213]
If it is determined in step S305 that the playback end date / time has not passed the current date / time, the process proceeds to step S306, and the CPU 32 determines whether or not a playback charging condition is added to the selected song. If the playback charging condition is added, the process proceeds to step S307, and the CPU 11 causes the display 20 to display a message and a charge indicating that the playback charging condition is added. If it is determined in step S306 that the charging condition for playback is not added, the process in step S307 is skipped.
[0214]
Next, referring to the flowcharts of FIG. 31 and FIG. 32, processing when music data is output (played back) from the HDD 21 via the portable device 6 by the CPU 11 that executes the content management program 111 and the CPU 53 that executes the main program. Will be described. In steps S321 to S325, a tampering check of the music database, selection of the selected music, check processing of the playback conditions of the selected music, and the like are performed. Since the process is the same as the process of steps S271 to S275 in FIG. 28, the description thereof is omitted.
[0215]
In step S326, a mutual authentication process is executed between the portable device 6 and the personal computer 1, and a communication key is shared between them. In step S327, the CPU 11 of the personal computer 1 instructs the portable device 6 to reproduce the encrypted audio data to be sent. In step S328, the CPU 11 reads the file name of the selected song designated in step S324 from the song database, and reads the music data of that file name from the HDD 21. In step S329, the CPU 11 executes processing for converting the compression / encoding method, encryption method, format, etc., of the music data into that of the portable device 6. In step S330, the CPU 11 encrypts the music data converted in step S329 with a communication key and transfers the encrypted music data to the portable device 6.
[0216]
In step S331, in response to the command transferred from the personal computer 1 in step S327, the CPU 53 of the portable device 6 decrypts each transferred data with the communication key, and reproduces and outputs it. In step S332, the CPU 11 increments the reproduction count of the music database by one. Further, in step S333, the CPU 11 determines whether or not a charging condition for reproduction is added to the selected song. If it is added, the charge is written in the charging log in step S334, and in step S335. The CPU 32 newly calculates and stores the hash value of the entire music database. When the charge condition at the time of reproduction is not added to the selected music piece, the processes in steps S334 and S335 are skipped.
[0217]
In the present invention, various ideas have been devised in order to prevent illegal duplication of music data. For example, the program for operating the CPU 11 is so-called tamper resistant software whose execution order changes every time.
[0218]
Furthermore, as described above, a part of the function of the CPU 11 is shared by the adapter 26 as hardware, and the two cooperate to execute various processes. Thereby, it is possible to further improve safety.
[0219]
For example, as described above, the hash value of the music database is not stored in the music database itself, but is stored in the nonvolatile memory 34 of the adapter 26.
That is, in the comparison process with the previously stored hash value such as steps S32 and S33 in FIG. 8, the past hash value to be compared is stored in the nonvolatile memory 34. Thus, for example, before the music data stored in the HDD 21 is copied or moved to another recording medium, the recorded content of the HDD 21 is backed up, and the music data stored there is transferred from the HDD 21 to other data. After the data has been copied or moved to the recording medium, the data backed up on the HDD 21 is restored again, so that copying or moving can be prevented without substantial reproduction.
[0220]
For example, as shown in FIG. 33, when songs A and B are stored in the HDD 21, hash values corresponding to the information of the songs A and B are stored in the nonvolatile memory 34. In this state, it is assumed that the recording data of the HDD 21 is backed up to another recording medium 251. After that, when the song A is moved to another recording medium 252 among the songs A and B stored in the HDD 21, the song recorded in the HDD 21 at that time is only the song B. The hash value of the nonvolatile memory 34 is also changed to a hash value corresponding to the music piece B.
[0221]
Therefore, even if the contents of the HDD 21 backed up in the recording medium 251 are restored to the HDD 21 and the songs A and B are stored again in the HDD 21, the information on the song B is stored in the nonvolatile memory 34. The hash value calculated from the information of music A and music B is not stored. Thereby, at that time, the hash value based on the music A and the music B stored in the HDD 21 does not match the past hash value stored in the nonvolatile memory 34, and the music database has been falsified. It is detected. As a result, the use of the music A and the music B stored in the HDD 21 is restricted thereafter.
[0222]
Further, as described above, the adapter 26 includes the RTC 35, and the value of the RTC 35 is based on time data transferred from another device (for example, the EMD server 4) from which a correct authentication result is obtained. To correct the time information. The current date and time is not managed by the personal computer 1 but is output from the RTC 35. Therefore, the user cannot intentionally correct the current time of the personal computer 1 to a past time and escape the determination of the reproduction end date and time as a reproduction condition.
[0223]
Further, the adapter 26 is configured to decrypt and execute an encrypted program transferred in accordance with a program stored in the ROM 36 in advance, thereby further improving safety. Next, this point will be described with reference to the flowchart of FIG.
[0224]
That is, when the personal computer 1 wants the adapter 26 to execute a predetermined process, in step S351, the personal computer 1 encrypts the program to be executed by the adapter 26 using the encryption key stored in the RAM 13 in advance. 26. The ROM 36 of the adapter 26 stores in advance a program for decrypting and executing the encrypted program transferred from the personal computer 1. The CPU 32 decrypts the encrypted program transferred from the personal computer 1 in step S352 according to the program stored in the ROM 36. In step S313, the CPU 32 develops the decrypted program in the RAM 33, and in step S354, executes the program.
[0225]
For example, as described above, when the CPU 11 of the personal computer 1 causes the adapter 26 to calculate the hash value of the music database of the HDD 21, the data of the music database is encrypted with the encryption key and transferred to the CPU 32 of the adapter 26. The CPU 32 applies a hash function to the transferred music database data and calculates a hash value. Then, the calculated hash value is stored in the nonvolatile memory 34. Alternatively, the CPU 32 compares the hash value with a past hash value stored in advance, and transfers the comparison result to the CPU 11 of the personal computer 1.
[0226]
FIG. 35 shows a more specific configuration inside the adapter 26. The adapter 26 is formed as a semiconductor IC. In addition to the interface 31, CPU 32, RAM 33, nonvolatile memory 34, RTC 35, and ROM 36 shown in FIG. 3, the adapter 26 has a RAM controller 261 that controls writing to and reading from the RAM 33, and a logic circuit 262. The logic circuit 262 is used, for example, for processing in a case where decrypted data is directly output from the adapter 26 after decrypting the encrypted music data.
[0227]
The interface 31 to ROM 36, the RAM controller 261, and the logic circuit 262 are integrally incorporated in the semiconductor IC and configured so as not to be disassembled from the outside.
[0228]
The crystal oscillator 271 is used when the adapter 26 generates a reference clock for executing various processes. The oscillation circuit 272 is an oscillation circuit for operating the RTC 35. The battery 273 supplies power for backup to the oscillation circuit 272, the nonvolatile memory 34, and the RTC 35. The other circuit of the adapter 26 is supplied with power from the power supply circuit 281 of the personal computer 1.
[0229]
The nonvolatile memory 34 can be composed of a ROM that can be written to and erased. However, when it is composed of a RAM backed up by a backup power source from the battery 273, for example, as shown in FIG. A protective aluminum layer 291 is formed on the memory 34, and a power supply pattern 292 for supplying power from the battery 273 to the nonvolatile memory 34 is formed so as to be flush with the protective aluminum layer 291. can do. In this case, for example, if the protective aluminum layer 291 is deleted in order to falsify the nonvolatile memory 34, the power supply pattern 292 on the same plane is also deleted, and the power supply to the nonvolatile memory 34 is cut off. The data stored inside is erased. By comprising in this way, tamper resist property can be improved more.
[0230]
Further, as shown in FIG. 37, wirings 301-1 to 301-3 for writing or reading data to / from the nonvolatile memory 34 are formed at corresponding positions so as to overlap in the vertical (depth) direction. ing. Thus, in order to read data from the lower wiring 301-3, the upper wirings 301-1 and 101-2 must be removed, and a plurality of wirings 301-1, 301-2, and 301-3 are removed. Cannot read data simultaneously. Furthermore, if the wirings 301-1 to 301-3 are formed redundantly and directly probed, it is possible to make it difficult to analyze the contents due to the additional capacitance.
[0231]
In the above description, the case where the portable device 6 is used as the recording medium has been described as an example. However, the present invention can also be applied to a case where data is transferred or copied to another recording medium.
[0232]
In addition to music data, the data can be image data or other data.
[0233]
As described above, according to the present invention, the following effects can be obtained.
[0234]
(1) The data is encrypted and recorded on the HDD 21 and the encryption key is encrypted with the storage key and then recorded on the HDD 21. Even if the music data recorded on the HDD 21 is copied, this Can not be decrypted, so that a large number of copies can be prevented from being distributed.
[0235]
(2) When a given song is copied once, the song and recording date and time are stored in the song database so that the song cannot be copied for a certain period of time (48 hours in the above example). Since registration is performed, the number of times of copying can be limited, and distribution of a large number of copies can be prevented.
[0236]
Further, since the hash value of the data is calculated and stored every time the database is updated, it becomes easy to prevent falsification of the database.
[0237]
(3) Since the music data on the HDD 21 is erased when the music data is transferred to an external device, the original digital music data does not remain in the HDD 21 and a large number of copies thereof are prevented from being distributed. .
[0238]
(4) Since the song database is provided in the HDD 21 and the entire hash value is checked every time, the contents of the HDD 21 are backed up immediately before the move, and the backed up data immediately after the move is restored to the HDD 21. However, it is possible to securely delete the data of the sending source.
[0239]
(5) Since the personal computer 1 performs the mutual authentication process before transferring data to an external device, it is possible to prevent data from being transferred to an unauthorized device.
[0240]
(6) Before the data is transferred from the external device to the personal computer 1, whether or not the software of the personal computer 1 is valid is confirmed by mutual authentication. It is prevented that music data is passed.
[0241]
(7) When ISRC is used to determine the identity of a song and the ISRC cannot be obtained, the TOC is used. Therefore, even if the ISRC cannot be obtained, the identity of the song can be judged.
[0242]
(8) Of the software functions in the personal computer 1, a predetermined portion is borne by the adapter 26 externally attached to the personal computer 1. Since it is not known whether it is a process, it becomes difficult to tamper with the software and to have the intended function.
[0243]
The processing executed by the adapter 26 may be executed by the CPU 11 with a secure program. In this case, the personal computer 1 downloads the current time data from a specific server (for example, the EMD registration server 3) connected to the network 2 instead of the current time supplied by the RTC 35 of the adapter 26, Based on the current time, a determination process is executed. In this case, the personal computer 1 stores the current time at a predetermined time interval, displays an error when a time before the stored time is set, and does not accept the time setting. You may do it.
[0244]
The series of processes described above can be executed by hardware, but can also be executed by software. When a series of processing is executed by software, a program constituting the software may execute various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a program storage medium in a general-purpose personal computer or the like.
[0245]
As shown in FIG. 3, a program storage medium that stores a program that is installed in a computer and can be executed by the computer includes a magnetic disk 41 (including a floppy disk), an optical disk 42 (CD-ROM (Compact Disc- Package media including a read-only memory (DVD) (including a digital versatile disc (DVD)), a magneto-optical disk 43 (including an MD (mini-disc)), or a semiconductor memory 44, or a program temporarily or permanently. The ROM 12 is stored, and the HDD 21 is used. The program is stored in the program storage medium using a wired or wireless communication medium such as a local area network or the network 2 such as the Internet or digital satellite broadcasting via an interface such as the communication unit 25 as necessary. Is called.
[0246]
In the present specification, the step of describing the program stored in the program storage medium is not limited to the processing performed in time series according to the described order, but is not necessarily performed in time series. Or the process performed separately is also included.
[0247]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0248]
【The invention's effect】
  The present inventionAccording toYu-It will be possible to effectively ban a large amount of duplication without significantly degrading the profit of the user.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining SCMS and CGMS.
FIG. 2 is a diagram showing an embodiment of an audio data management system according to the present invention.
FIG. 3 is a diagram illustrating a configuration of a personal computer 1;
4 is a diagram illustrating a configuration of a portable device 6. FIG.
FIG. 5 is a block diagram illustrating a functional configuration of a personal computer 1;
6 is a diagram illustrating an example of a window displayed on the display 20 by the recording program 113. FIG.
FIG. 7 is a flowchart for explaining processing when copying from a compact disc to the HDD 21;
FIG. 8 is a flowchart for explaining a time limit database check process in step S12 of FIG.
FIG. 9 is a diagram illustrating an example of a time limit database.
FIG. 10 is a diagram illustrating a watermark.
FIG. 11 is a diagram showing an example of a music database.
FIG. 12 is a flowchart for explaining the operation of moving data from the HDD 21 to the portable device 6;
FIG. 13 is a flowchart for explaining the operation of moving data from the HDD 21 to the portable device 6;
FIG. 14 is a flowchart illustrating an operation of moving data from the HDD 21 to the portable device 6;
FIG. 15 is a flowchart illustrating a check process such as a playback condition for a selected song in step S55 of FIG.
FIG. 16 is a diagram for explaining playback conditions managed by the portable device 6;
FIG. 17 is a flowchart illustrating details of the format conversion process in step S58 of FIG.
FIG. 18 is a flowchart for explaining an operation when data is copied from the HDD 21 to the portable device 6;
FIG. 19 is a flowchart for explaining an operation when data is copied from the HDD 21 to the portable device 6;
FIG. 20 is a flowchart for explaining an operation when data is copied from the HDD 21 to the portable device 6;
FIG. 21 is a flowchart illustrating an operation when data is moved from the portable device 6 to the HDD 21;
FIG. 22 is a flowchart illustrating an operation when data is copied from the portable device 6 to the HDD 21;
FIG. 23 is a flowchart for explaining processing when data is copied from the EMD server 4 to the HDD 21;
FIG. 24 is a flowchart illustrating details of processing related to charging in step S204 of FIG.
FIG. 25 is a diagram illustrating a billing log.
26 is a flowchart illustrating two processes for copying data from the IEC60958 terminal of the personal computer 1 of FIG. 3 to the HDD 21. FIG.
27 is a flowchart for explaining processing when data is copied from the IEC60958 terminal of the personal computer 1 of FIG. 3 to the HDD 21. FIG.
FIG. 28 is a flowchart for explaining the operation when data is output from the HDD 21 to the IEC60958 terminal.
FIG. 29 is a flowchart for explaining the operation when data is output from the HDD 21 to the IEC60958 terminal.
30 is a flowchart for describing a check process such as a reproduction condition in step S275 in FIG.
FIG. 31 is a flowchart for explaining the operation when data is output from the HDD 21 via the portable device 6;
32 is a flowchart for explaining the operation when data is output from the HDD 21 via the portable device 6. FIG.
33 is a diagram illustrating the function of a nonvolatile memory 34. FIG.
34 is a flowchart illustrating the operation of the adapter 26. FIG.
35 is a diagram showing an internal configuration of the adapter 26. FIG.
36 is a diagram showing an example of the internal configuration of a nonvolatile memory 34. FIG.
37 is a diagram showing an example of the internal configuration of a nonvolatile memory 34. FIG.
[Explanation of symbols]
1 Personal computer, 2 Network, 3 EMD registration server, 11 CPU, 12 ROM, 13 RAM, 21 HDD, 24 Audio input / output interface, 26 Adapter, 32 CPU, 33 RAM, 34 Non-volatile memory, 35 RTC, 36 ROM, 41 magnetic disk, 42 optical disk, 43 magneto-optical disk, 44 semiconductor memory, 53 CPU, 54 RAM, 55 ROM, 59 DSP, 61 flash memory, 111 content management program, 112 display operation instruction program, 113 recording program, 114 content database 131 EMD selection program, 132 Check-in / check-out management program, 133 Encryption method conversion program, 134 Compression method conversion program, 135 Encryption program 136, use condition conversion program, 137 signature management program, 138 authentication program, 139 decryption program, 140 PD driver, 141 purchase driver, 142 purchase driver, 181 filtering data file, 182 display data file, 183 image file, 184 History data file

Claims (7)

第1の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第1の記録媒体とは異なる第2の記録媒体に記録する複製手段と、
前記第1の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新手段と、
第1の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得手段と、
取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製制御手段と
を含む情報処理装置。
Duplicating means for duplicating the content recorded on the first recording medium and recording the resulting copy content on a second recording medium different from the first recording medium;
Each time the content recorded on the first recording medium is duplicated by the duplicating means, a time limit for storing the identification information for identifying the content in association with time information when the content is duplicated Update means for updating the database;
An acquisition unit configured to acquire identification information of the content instructed to be copied when the user instructs to copy the content recorded in the first recording medium;
Read time information when the content corresponding to the acquired identification information was last copied from the time limit database,
When a predetermined time has elapsed since the content that was instructed to be replicated was previously replicated, the replication means is permitted to replicate the content,
An information processing apparatus comprising: a copy control unit that prohibits the copy unit from copying the content when a predetermined time has not passed since the content instructed to be copied was previously copied.
前記識別情報は、ISRC(International Standard Recording Code)である
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the identification information is ISRC (International Standard Recording Code).
前記識別情報は、TOC(Table of Contents)である
請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the identification information is a table of contents (TOC).
前記取得手段は、前記コンテンツの識別情報である前記ISRCを、前記コンテンツが記憶されている前記第1の記録媒体から読み出し、前記ISRCが前記第1の記録媒体に記録されていない場合は、前記コンテンツの識別情報としてTOCを用いる
請求項1に記載の情報処理装置。
The acquisition means reads the ISRC, which is identification information of the content, from the first recording medium in which the content is stored, and when the ISRC is not recorded in the first recording medium, The information processing apparatus according to claim 1, wherein TOC is used as content identification information.
前記期限データベースの改竄を、ハッシュ関数を用いて検出する検出手段をさらに含み、
前記複製制御手段は、前記期限データベースの改竄が検出された場合にも、前記複製手段に対して前記コンテンツの複製を禁止する
請求項1に記載の情報処理装置。
A detection unit for detecting falsification of the deadline database using a hash function;
The information processing apparatus according to claim 1, wherein the duplication control unit prohibits the duplication unit from duplicating the content even when falsification of the time limit database is detected.
第1の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第1の記録媒体とは異なる第2の記録媒体に記録する複製手段を備える情報処理装置の情報処理方法において、
前記第1の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新ステップと、
第1の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得ステップと、
取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製御ステップと
を含む情報処理方法。
Information processing method of information processing apparatus provided with duplicating means for duplicating the content recorded on the first recording medium and recording the resulting copy content on a second recording medium different from the first recording medium In
Each time the content recorded on the first recording medium is duplicated by the duplication unit, the time limit when the content is duplicated and stored in association with identification information for identifying the content An update step to update the database;
An acquisition step of acquiring identification information of the content instructed to be copied when the user instructs to copy the content recorded in the first recording medium;
Read time information when the content corresponding to the acquired identification information was last copied from the time limit database,
When a predetermined time has elapsed since the content that was instructed to be replicated was previously replicated, the replication means is permitted to replicate the content,
If the replication is the content that is instructed not a predetermined time elapses since the replicated last time, information processing method and a replication control step of prohibiting the duplication of the content to the duplication unit.
第1の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第1の記録媒体とは異なる第2の記録媒体に記録する複製手段を備える情報処理装置の制御用のプログラムであって、
前記第1の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新ステップと、
第1の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得ステップと、
取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製御ステップと
を含む処理を情報処理装置のコンピュータに実行させるプログラムが格納されているプログラム格納媒体。
For controlling an information processing apparatus provided with duplication means for duplicating content recorded on a first recording medium and recording copy content obtained as a result on a second recording medium different from the first recording medium A program,
Each time the content recorded on the first recording medium is duplicated by the duplication unit, the time limit when the content is duplicated and stored in association with identification information for identifying the content An update step to update the database;
An acquisition step of acquiring identification information of the content instructed to be copied when the user instructs to copy the content recorded in the first recording medium;
Read time information when the content corresponding to the acquired identification information was last copied from the time limit database,
When a predetermined time has elapsed since the content that was instructed to be replicated was previously replicated, the replication means is permitted to replicate the content,
If the replication is the content that is instructed not a predetermined time elapses since the replicated last time, the information processing apparatus a process that includes a replication control step of prohibiting the duplication of the content to the duplication unit A program storage medium storing a program to be executed by a computer.
JP36608699A 1998-12-25 1999-12-24 Information processing apparatus and method, and program storage medium Expired - Fee Related JP4568933B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP36608699A JP4568933B2 (en) 1998-12-25 1999-12-24 Information processing apparatus and method, and program storage medium
CNB998054518A CN1144212C (en) 1998-12-25 1999-12-24 Information processing device and method, and program storage medium
PCT/JP1999/007302 WO2000039800A1 (en) 1998-12-25 1999-12-24 Information processing device and method, and program storage medium
AU18013/00A AU1801300A (en) 1998-12-25 1999-12-24 Information processing device and method, and program storage medium

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP36941498 1998-12-25
JP10-369414 1999-02-17
JP3922299 1999-02-17
JP11-39222 1999-02-17
JP36608699A JP4568933B2 (en) 1998-12-25 1999-12-24 Information processing apparatus and method, and program storage medium

Publications (3)

Publication Number Publication Date
JP2000305854A JP2000305854A (en) 2000-11-02
JP2000305854A5 JP2000305854A5 (en) 2006-04-27
JP4568933B2 true JP4568933B2 (en) 2010-10-27

Family

ID=27290077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36608699A Expired - Fee Related JP4568933B2 (en) 1998-12-25 1999-12-24 Information processing apparatus and method, and program storage medium

Country Status (4)

Country Link
JP (1) JP4568933B2 (en)
CN (1) CN1144212C (en)
AU (1) AU1801300A (en)
WO (1) WO2000039800A1 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108710A (en) 2000-07-24 2002-04-12 Sony Corp System and method for processing information, information processor and program providing medium
JP2002116960A (en) * 2000-08-03 2002-04-19 Sony Corp Device and method for processing information, reproducing device and method and program storage medium
JP2002236767A (en) 2001-02-07 2002-08-23 Sony Corp Device and method for processing information, program storage medium and program
JP2002236808A (en) * 2001-02-07 2002-08-23 Sony Corp Information processing device and method, program storage medium and program
JP2002288041A (en) 2001-03-23 2002-10-04 Sony Corp Information processing device and method, program storage medium and program
JP4716068B2 (en) * 2001-03-26 2011-07-06 ソニー株式会社 Information distribution method, information distribution system, and client device
JP3778009B2 (en) 2001-06-13 2006-05-24 ソニー株式会社 Data transfer system, data transfer device, data recording device, and data management method
JP4200686B2 (en) * 2002-05-08 2008-12-24 ソニー株式会社 Information communication terminal, information distribution apparatus, information distribution system, information reception method, information distribution method
US8220064B2 (en) 2004-07-20 2012-07-10 Panasonic Corporation Content management system and content management unit
JP2007243703A (en) * 2006-03-09 2007-09-20 Toshiba Corp Portable terminal
JP4636008B2 (en) * 2006-11-17 2011-02-23 日本電気株式会社 Data replication system, data replication method, data replication program
JP4423314B2 (en) * 2007-07-09 2010-03-03 株式会社日立製作所 Digital information recording / reproducing apparatus and display apparatus
JP2008257847A (en) * 2008-04-03 2008-10-23 Hitachi Ltd Digital broadcasting signal receiving method
JP4927974B2 (en) * 2010-06-29 2012-05-09 シャープ株式会社 Information playback device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07226733A (en) * 1994-02-16 1995-08-22 Nippon Telegr & Teleph Corp <Ntt> Method and device for copying digital information
JPH103745A (en) * 1996-06-12 1998-01-06 Sony Corp Recording medium, digital copy management method, reproducing device and recording device
JPH10222931A (en) * 1997-01-31 1998-08-21 Victor Co Of Japan Ltd Method and equipment for preventing illegal act
JPH1153818A (en) * 1997-08-05 1999-02-26 Matsushita Electric Ind Co Ltd Recording apparatus
JP2000207832A (en) * 1999-01-14 2000-07-28 Sony Corp Duplication restricting method of information signal, duplication control system of information signal, and information signal recorder

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03250878A (en) * 1990-02-28 1991-11-08 Canon Inc Recording and reproducing device
JP3060819B2 (en) * 1994-03-04 2000-07-10 株式会社日立製作所 Helical scanning type recording / reproducing device
JP3092432B2 (en) * 1994-02-17 2000-09-25 株式会社日立製作所 Information recording / reproducing device
JP3781796B2 (en) * 1995-01-12 2006-05-31 ソニー株式会社 Recording apparatus and method, and recording / reproducing apparatus

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07226733A (en) * 1994-02-16 1995-08-22 Nippon Telegr & Teleph Corp <Ntt> Method and device for copying digital information
JPH103745A (en) * 1996-06-12 1998-01-06 Sony Corp Recording medium, digital copy management method, reproducing device and recording device
JPH10222931A (en) * 1997-01-31 1998-08-21 Victor Co Of Japan Ltd Method and equipment for preventing illegal act
JPH1153818A (en) * 1997-08-05 1999-02-26 Matsushita Electric Ind Co Ltd Recording apparatus
JP2000207832A (en) * 1999-01-14 2000-07-28 Sony Corp Duplication restricting method of information signal, duplication control system of information signal, and information signal recorder

Also Published As

Publication number Publication date
CN1298537A (en) 2001-06-06
JP2000305854A (en) 2000-11-02
WO2000039800A1 (en) 2000-07-06
AU1801300A (en) 2000-07-31
CN1144212C (en) 2004-03-31

Similar Documents

Publication Publication Date Title
KR100862371B1 (en) Information processing system
CA2328932C (en) Information processing device and method, and program storage medium
KR100654879B1 (en) Information processing device and method, and program storage medium
JP4568933B2 (en) Information processing apparatus and method, and program storage medium
KR100633588B1 (en) Semiconductor IC, information processing method, information processing device, and program storage medium
JP2000305846A (en) Information processor, its method and program storing medium
JP4556277B2 (en) Information processing apparatus and method, information processing system, and program storage medium
JP4379653B2 (en) Information processing apparatus and method, and program storage medium
JP4300442B2 (en) Information processing apparatus and method, and program storage medium
JP2000347852A (en) Device and method for processing information and program storage medium
JP4304819B2 (en) Information processing apparatus and method, and program storage medium
JP2000306006A (en) Information processor, information processing method and program storage medium
JP2000349751A (en) Information processor, information processing method, authentication method and program storage medium
JP2000348105A (en) Method and device for providing information and program storage medium
JP2000347851A (en) Device and method for information processing and program storage medium
JP2000305855A (en) Information processor, its method and program storing medium
JP2000347847A (en) Device and method for information processing, semiconductor ic, information processing system and program storage medium
AU2003257706B2 (en) Information processing apparatus and method, and program storage medium
JP2000307568A (en) Semiconductor ic, information processing method, information processor and program storing medium
JP2000347848A (en) Semiconductor ic, information processing method, information processor, and program storage medium
JP2000347849A (en) Device and method for providing information and program storage medium
JP2000347850A (en) Device and method for information processing and program storage medium
AU2003262491A1 (en) Information processing system
MXPA00010101A (en) Information processing device and method, and program storage medium

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060310

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100419

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100726

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130820

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees