(57)【特許請求の範囲】
【請求項１】
第１の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第１の記録媒体とは異なる第２の記録媒体に記録する複製手段と、
前記第１の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新手段と、
第１の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得手段と、
取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製制御手段と
を含む情報処理装置。
【請求項２】
前記識別情報は、ISRC(International Standard Recording Code)である
請求項１に記載の情報処理装置。
【請求項３】
前記識別情報は、TOC(Table of Contents)である
請求項１に記載の情報処理装置。
【請求項４】
前記取得手段は、前記コンテンツの識別情報である前記ISRCを、前記コンテンツが記憶されている前記第１の記録媒体から読み出し、前記ISRCが前記第１の記録媒体に記録されていない場合は、前記コンテンツの識別情報としてTOCを用いる
請求項１に記載の情報処理装置。
【請求項５】
前記期限データベースの改竄を、ハッシュ関数を用いて検出する検出手段をさらに含み、
前記複製制御手段は、前記期限データベースの改竄が検出された場合にも、前記複製手段に対して前記コンテンツの複製を禁止する
請求項１に記載の情報処理装置。
【請求項６】
第１の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第１の記録媒体とは異なる第２の記録媒体に記録する複製手段を備える情報処理装置の情報処理方法において、
前記第１の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新ステップと、
第１の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得ステップと、
取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製制御ステップと
を含む情報処理方法。
【請求項７】
第１の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第１の記録媒体とは異なる第２の記録媒体に記録する複製手段を備える情報処理装置の制御用のプログラムであって、
前記第１の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新ステップと、
第１の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得ステップと、
取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、
複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製制御ステップと
を含む処理を情報処理装置のコンピュータに実行させるプログラムが格納されているプログラム格納媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラム格納媒体に関し、特に、例えば、コンテンツの複製を適切に制限することができるようにした情報処理装置および方法、並びにプログラム格納媒体に関する。
【０００２】
【従来の技術】
著作権が設定されているAVコンテンツ（例えば、音楽や画像）の複製を制限する方法として、SCMS(Serial Copy Management System)、CGMS(Copy Generation Management Sysytem)などが提案されている。
【０００３】
これらのシステムにおいては、図１に示すように、著作権が設定されたコンテンツＡ1（第１世代）を複製し、コンテンツＡ2（第２世代）を得ることは（記録することは）できるが、コンテンツＡ2（第２世代）自体をさらに複製して、コンテンツＡ３（第３世代）を得ることはできない。
【０００４】
【発明が解決しようとする課題】
しかしながら、この場合、図１に示すように、コンテンツＡ1の複製を繰り返すことより、複数の第２世代のコンテンツＡ2を得ることができ、コンテンツＡ1の著作権が十分に保護されない課題があった。
【０００５】
そこで、コンテンツＡ1を１度だけ複製することができるようにした方法として、UCS(Uni Copy System)が提案されているが、この場合、ユーザは、個人の使用の範囲においても、１度だけしか複製することができず、ユーザに不利益を与える課題があった。
【０００６】
本発明はこのような状況に鑑みてなされたものであり、ユーザの利益を大きく損なうことなく、大量の複製を実質的に禁止することができるようにするものである。
【０００７】
【課題を解決するための手段】
本発明の情報処理装置は、第１の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第１の記録媒体とは異なる第２の記録媒体に記録する複製手段と、前記第１の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新手段と、第１の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得手段と、取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している合には、前記複製手段に対して前記コンテンツの複製を許可し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製制御手段とを含む。
【０００８】
本発明の情報処理方法は、第１の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第１の記録媒体とは異なる第２の記録媒体に記録する複製手段を備える情報処理装置の情報処理方法において、前記第１の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新ステップと、第１の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得ステップと、取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製制御ステップとを含む。
【０００９】
本発明のプログラム格納媒体は、第１の記録媒体に記録されているコンテンツを複製し、その結果得られるコピーコンテンツを前記第１の記録媒体とは異なる第２の記録媒体に記録する複製手段を備える情報処理装置の制御用のプログラムであって、前記第１の記録媒体に記録されている前記コンテンツが前記複製手段によって複製される毎、前記コンテンツを識別する識別情報に前記コンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースを更新する更新ステップと、第１の記録媒体に記録されている前記コンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報を取得する取得ステップと、取得された前記識別情報に対応するコンテンツが前回複製されたときの時刻情報を前記期限データベースから読み出し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過している場合には、前記複製手段に対して前記コンテンツの複製を許可し、複製が指示された前記コンテンツが前回複製されてから所定の時間が経過していない場合には、前記複製手段に対して前記コンテンツの複製を禁止する複製制御ステップとを含む処理を情報処理装置のコンピュータに実行させるプログラムが格納されている。
【００１０】
本発明においては、第１の記録媒体に記録されているコンテンツが複製手段によって複製される毎、コンテンツを識別する識別情報にコンテンツが複製されたときの時刻情報を対応付けて記憶している期限データベースが更新され、第１の記録媒体に記録されているコンテンツの複製がユーザから指示された場合、複製が指示されたコンテンツの識別情報が取得され、取得された識別情報に対応するコンテンツが前回複製されたときの時刻情報が期限データベースから読み出され、複製が指示されたコンテンツが前回複製されてから所定の時間が経過している場合には、複製手段に対してコンテンツの複製が許可される。反対に、複製が指示されたコンテンツが前回複製されてから所定の時間が経過していない場合には、複製手段に対してコンテンツの複製が禁止される。
【００１１】
【発明の実施の形態】
図２は、本発明に係る音声データ管理システムの一実施の形態を示す図である。パーソナルコンピュータ１は、ローカルエリアネットワークまたはインターネットなどから構成されるネットワーク２に接続されている。パーソナルコンピュータ１は、EMD（Elecrical Music Distribution）サーバ４−１乃至４−３から受信した、または後述するCD（Compact Disc）から読み取った音楽のデータ（以下、コンテンツと称する）を、所定の圧縮の方式（例えば、ATRAC3（商標））に変換するとともにDES（Data Encryption Standard）などの暗号化方式で暗号化して記録する。
【００１２】
パーソナルコンピュータ１は、暗号化して記録しているコンテンツに対応して、コンテンツの利用条件を示す利用条件のデータを記録する。利用条件のデータは、例えば、その利用条件のデータに対応するコンテンツを同時に３台のポータブルデバイス（Portable Device（PDとも称する））６−１乃至６−３で利用できる、コピー（ポータブルデバイス６−１乃至６−３にコンテンツを記憶させても、パーソナルコンピュータ１が記録しているコンテンツは使用できる。ポータブルデバイス６−１乃至６−３にコンテンツを記憶させることができる回数は制限される場合がある。この場合、その回数は、増えることがない。）することができる、他のパーソナルコンピュータに移動する（ポータブルデバイス６−１乃至６−３にコンテンツを記憶させた後、パーソナルコンピュータ１が記録しているコンテンツは使用できなくなる。）ことができるなどを示す。利用条件のデータの詳細は、後述する。
【００１３】
パーソナルコンピュータ１は、暗号化して記録しているコンテンツを、コンテンツに関連するデータ（例えば、曲名、または再生条件など）と共に、USB（Universal Sirial Bus）ケーブル７−１を介して、接続されているポータブルデバイス６−１に記憶させるとともに、ポータブルデバイス６−１に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する（以下、チェックアウトと称する）。より詳細には、チェックアウトしたとき、パーソナルコンピュータ１が記録している、そのコンテンツに対応する利用条件のデータのチェックアウトできる回数は、１減らされる。チェックアウトできる回数が０のとき、対応するコンテンツは、チェックアウトすることができない。
【００１４】
パーソナルコンピュータ１は、暗号化して記録しているコンテンツを、コンテンツに関連するデータと共に、USBケーブル７−２を介して、接続されているポータブルデバイス６−２に記憶させるとともに、ポータブルデバイス６−２に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する。パーソナルコンピュータ１は、暗号化して記録しているコンテンツを、コンテンツに関連するデータと共に、USBケーブル７−３を介して、接続されているポータブルデバイス６−３に記憶させるとともに、ポータブルデバイス６−３に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する。
【００１５】
また、パーソナルコンピュータ１は、USBケーブル７−１を介して、接続されているポータブルデバイス６−１にパーソナルコンピュータ１がチェックアウトしたコンテンツを、ポータブルデバイス６−１に消去させて（または、使用できなくさせて）、消去させたコンテンツに対応する利用条件のデータを更新する（以下、チェックインと称する）。より詳細には、チェックインしたとき、パーソナルコンピュータ１が記録している、対応するコンテンツの利用条件のデータのチェックアウトできる回数は、１増やされる。
【００１６】
パーソナルコンピュータ１は、USBケーブル７−２を介して、接続されているポータブルデバイス６−２にパーソナルコンピュータ１がチェックアウトしたコンテンツを、ポータブルデバイス６−２に消去させて（または、使用できなくさせて）、消去させたコンテンツに対応する利用条件のデータを更新する。パーソナルコンピュータ１は、USBケーブル７−３を介して、接続されているポータブルデバイス６−３にパーソナルコンピュータ１がチェックアウトしたコンテンツを、ポータブルデバイス６−３に消去させて（または、使用できなくさせて）、消去させたコンテンツに対応する利用条件のデータを更新する。
【００１７】
パーソナルコンピュータ１は、図示せぬ他のパーソナルコンピュータがポータブルデバイス６−１にチェックアウトしたコンテンツをチェックインできない。
パーソナルコンピュータ１は、他のパーソナルコンピュータがポータブルデバイス６−２にチェックアウトしたコンテンツをチェックインできない。パーソナルコンピュータ１は、他のパーソナルコンピュータがポータブルデバイス６−３にチェックアウトしたコンテンツをチェックインできない。
【００１８】
EMD登録サーバ３は、パーソナルコンピュータ１がEMDサーバ４−１乃至４−３からコンテンツの取得を開始するとき、パーソナルコンピュータ１の要求に対応して、ネットワーク２を介して、パーソナルコンピュータ１とEMDサーバ４−１乃至４−３との相互認証に必要な認証鍵をパーソナルコンピュータ１に送信するとともに、EMDサーバ４−１乃至４−３に接続するためのプログラムをパーソナルコンピュータ１に送信する。
【００１９】
EMDサーバ４−１は、パーソナルコンピュータ１の要求に対応して、ネットワーク２を介して、コンテンツに関連するデータ（例えば、曲名、または再生制限など）と共に、パーソナルコンピュータ１にコンテンツを供給する。EMDサーバ４−２は、パーソナルコンピュータ１の要求に対応して、ネットワーク２を介して、コンテンツに関連するデータと共に、パーソナルコンピュータ１にコンテンツを供給する。EMDサーバ４−３は、パーソナルコンピュータ１の要求に対応して、ネットワーク２を介して、コンテンツに関連するデータと共に、パーソナルコンピュータ１にコンテンツを供給する。
【００２０】
EMDサーバ４−１乃至４−３のそれぞれが供給するコンテンツは、同一または異なる圧縮の方式で圧縮されている。EMDサーバ４−１乃至４−３のそれぞれが供給するコンテンツは、同一または異なる暗号化の方式で暗号化されている。
【００２１】
WWW（World Wide Web）サーバ５−１は、パーソナルコンピュータ１の要求に対応して、ネットワーク２を介して、コンテンツを読み取ったCD（例えば、CDのアルバム名、またはCDの販売会社など）、およびCDから読み取ったコンテンツに対応するデータ（例えば、曲名、または作曲者名など）をパーソナルコンピュータ１に供給する。WWWサーバ５−２は、パーソナルコンピュータ１の要求に対応して、ネットワーク２を介して、コンテンツを読み取ったCD、およびCDから読み取ったコンテンツに対応するデータをパーソナルコンピュータ１に供給する。
【００２２】
ポータブルデバイス６−１は、パーソナルコンピュータ１から供給されたコンテンツ（すなわち、チェックアウトされたコンテンツ）を、コンテンツに関連するデータ（例えば、曲名、または再生制限など）と共に記憶する。ポータブルデバイス６−１は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。
【００２３】
例えば、コンテンツに関連するデータとして記憶されている、再生制限としての再生回数を超えて再生しようとしたとき、ポータブルデバイス６−１は、対応するコンテンツの再生を停止する。コンテンツに関連するデータとして記憶されている再生制限としての、再生期限を過ぎた後に再生しようとしたとき、ポータブルデバイス６−１は、対応するコンテンツの再生を停止する。
【００２４】
使用者は、コンテンツを記憶したポータブルデバイス６−１をパーソナルコンピュータ１から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【００２５】
ポータブルデバイス６−２は、パーソナルコンピュータ１から供給されたコンテンツを、コンテンツに関連するデータと共に記憶する。ポータブルデバイス６−２は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。使用者は、コンテンツを記憶したポータブルデバイス６−２をパーソナルコンピュータ１から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【００２６】
ポータブルデバイス６−３は、パーソナルコンピュータ１から供給されたコンテンツを、コンテンツに関連するデータと共に記憶する。ポータブルデバイス６−３は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。使用者は、コンテンツを記憶したポータブルデバイス６−３をパーソナルコンピュータ１から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【００２７】
以下、ポータブルデバイス６−１乃至６−３を個々に区別する必要がないとき、単にポータブルデバイス６と称する。
【００２８】
図３は、パーソナルコンピュータ１の構成を説明する図である。CPU（Central Processing Unit）１１は、各種アプリケーションプログラム（詳細については後述する）や、OS（Operating System)を実際に実行する。ROM（Read-only Memory）１２は、一般的には、CPU１１が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM（Random-Access Memory）１３は、CPU１１の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはCPUバスなどから構成されるホストバス１４により相互に接続されている。
【００２９】
ホストバス１４は、ブリッジ１５を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス１６に接続されている。
【００３０】
キーボード１８は、CPU１１に各種の指令を入力するとき、使用者により操作される。マウス１９は、ディスプレイ２０の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ２０は、液晶表示装置またはCRT（Cathode Ray Tube）などから成り、各種情報をテキストやイメージで表示する。HDD（Hard Disk Drive）２１は、ハードディスクを駆動し、それらにCPU１１によって実行するプログラムや情報を記録または再生させる。
【００３１】
ドライブ２２は、装着されている磁気ディスク４１、光ディスク４２（CDを含む）、光磁気ディスク４３、または半導体メモリ４４に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース１７、外部バス１６、ブリッジ１５、およびホストバス１４を介して接続されているRAM１３に供給する。
【００３２】
USBポート２３−１には、USBケーブル７−１を介して、ポータブルデバイス６−１が接続される。USBポート２３−１は、インターフェース１７、外部バス１６、ブリッジ１５、またはホストバス１４を介して、HDD２１、CPU１１、またはRAM１３から供給されたデータ（例えば、コンテンツまたはポータブルデバイス６−１のコマンドなどを含む）をポータブルデバイス６−１に出力する。
【００３３】
USBポート２３−２には、USBケーブル７−２を介して、ポータブルデバイス６−２が接続される。USBポート２３−２は、インターフェース１７、外部バス１６、ブリッジ１５、またはホストバス１４を介して、HDD２１、CPU１１、またはRAM１３から供給されたデータ（例えば、コンテンツまたはポータブルデバイス６−２のコマンドなどを含む）をポータブルデバイス６−２に出力する。
【００３４】
USBポート２３−３には、USBケーブル７−３を介して、ポータブルデバイス６−３が接続される。USBポート２３−３は、インターフェース１７、外部バス１６、ブリッジ１５、またはホストバス１４を介して、HDD２１、CPU１１、またはRAM１３から供給されたデータ（例えば、コンテンツまたはポータブルデバイス６−３のコマンドなどを含む）をポータブルデバイス６−３に出力する。
【００３５】
IEC（Internationl Electrotechnical Commission）60958端子を有する音声入出力インタフェース２４は、デジタル音声入出力、あるいはアナログ音声入出力のインタフェース処理を実行する。スピーカ４５は、音声入出力インタフェース２４から供給された音声信号を基に、コンテンツに対応する所定の音声を出力する。
【００３６】
これらのキーボード１８乃至音声入出力インタフェース２４は、インターフェース１７に接続されており、インターフェース１７は、外部バス１６、ブリッジ１５、およびホストバス１４を介してCPU１１に接続されている。
【００３７】
通信部２５は、ネットワーク２が接続され、CPU１１、またはHDD２１から供給されたデータ（例えば、登録の要求、またはコンテンツの送信要求など）を、所定の方式のパケットに格納して、ネットワーク２を介して、送信するとともに、ネットワーク２を介して、受信したパケットに格納されているデータ（例えば、認証鍵、またはコンテンツなど）をCPU１１、RAM１３、またはHDD２１に出力する。
【００３８】
半導体ICとして、一体的に形成され、パーソナルコンピュータ１に装着されるアダプタ２６のCPU３２は、外部バス１６、ブリッジ１５、およびホストバス１４を介してパーソナルコンピュータ１のCPU１１と共働し、各種の処理を実行する。RAM３３は、CPU３２が各種の処理を実行する上において必要なデータやプログラムを記憶する。不揮発性メモリ３４は、パーソナルコンピュータ１の電源がオフされた後も保持する必要があるデータを記憶する。ROM３６には、パーソナルコンピュータ１から、暗号化されているプログラムが転送されてきたとき、それを復号するプログラムが記憶されている。RTC（Real Time Clock）３５は、計時動作を実行し、時刻情報を提供する。
【００３９】
通信部２５およびアダプタ２６は、外部バス１６、ブリッジ１５、およびホストバス１４を介してCPU１１に接続されている。
【００４０】
以下、USBポート２３−１乃至２３−３を個々に区別する必要がないとき、単に、USBポート２３と称する。以下、USBケーブル７−１乃至７−３を個々に区別する必要がないとき、単にUSBケーブル７と称する。
【００４１】
次に、ポータブルデバイス６の構成を図４を参照して説明する。電源回路５２は、乾電池５１から供給される電源電圧を所定の電圧の内部電力に変換して、CPU５３乃至表示部６７に供給することにより、ポータブルデバイス６全体を駆動させる。
【００４２】
USBコントローラ５７は、USBコネクタ５６を介して、パーソナルコンピュータ１とUSBケーブル７を介して接続された場合、パーソナルコンピュータ１から転送されたコンテンツを、内部バス５８を介して、CPU５３に供給する。
【００４３】
コンテンツは、１パケット当たり64バイトのデータから構成され、12Mbit/secの転送レートでパーソナルコンピュータ１から転送される。
【００４４】
ポータブルデバイス６に転送されるコンテンツは、ヘッダおよび音声データ（コンテンツの実体である、音声信号に対応したデータ）から構成され、ヘッダには、ファイル名、ヘッダサイズ、コンテンツ鍵、ファイルサイズ、コーデックID、ファイル情報などが格納されていると共に、再生制限処理に必要な再生制限データ、開始日時、終了日時、回数制限、および再生回数カウンタなどが格納されている。音声データは、ATRAC3などの符号化方式で符号化され、暗号化されている、所定の曲の音声信号に対応するデータである。
【００４５】
ヘッダサイズは、ヘッダのデータ長（例えば、33バイトなど）を表し、ファイルサイズは、音声データのデータ長（例えば、33,636,138バイトなど）を表す。
【００４６】
コンテンツ鍵は、暗号化されている音声データを復号するための鍵であり、パーソナルコンピュータ１とポータブルデバイス６との相互認証の処理で生成されたセッション鍵（一時鍵）を基に暗号化された状態で、パーソナルコンピュータ１からポータブルデバイス６に送信される。
【００４７】
ポータブルデバイス６がUSBケーブル７を介してパーソナルコンピュータ１のUSBポート２３に接続されたとき、ポータブルデバイス６とパーソナルコンピュータ１とは、相互認証の処理を実行する。この相互認証の処理は、例えば、チャレンジレスポンス方式の認証の処理である。ちなみに、ポータブルデバイス６のDSP５９は、チャレンジレスポンス方式の認証の処理を行うとき、暗号解読（復号）の処理を実行する。
【００４８】
チャレンジレスポンス方式とは、例えば、パーソナルコンピュータ１が生成するある値（チャレンジ）に対して、ポータブルデバイス６がパーソナルコンピュータ１と共有している秘密鍵を使用して生成した値（レスポンス）で応答する方式である。チャレンジレスポンス方式の相互認証の処理においては、パーソナルコンピュータ１が生成する値は認証の処理毎に毎回変化するので、例えば、ポータブルデバイス６が出力した、秘密鍵を使用して生成された値が読み出されて、いわゆる、なりすましの攻撃を受けても、次の相互認証の処理では、相互認証に使用される値が異なるので、パーソナルコンピュータ１は不正を検出できる。
【００４９】
コーデックIDは、音声データの符号化方式に対応したIDであり、例えば、コーデックID”１”は、ATRAC3に対応し、コーデックID”０”は、MP3（MPEG(Moving Picture Experts Group) Audio Layer-3）に対応する。
【００５０】
ファイル名は、コンテンツに対応するパーソナルコンピュータ１が記録しているコンテンツファイル（後述する）をASCII(American National Standard Code for Information Interchange)コードに変換したデータであり、ファイル情報は、コンテンツに対応する曲名、アーティスト名、作詞者名、または作曲者名などをASCIIコードに変換したデータである。
【００５１】
再生制限データは、コンテンツの再生が可能な期間（すなわち、開始日時または終了日時）または回数制限（再生の回数の制限）が設定されているか否かを示すデータである。再生制限データには、回数制限が設定されているとき、”１”が割り当てられ、再生が可能な期間が設定されているとき、”２”が割り当てられ、回数制限および再生が可能な期間がいずれも設定されていないとき（いわゆる、買い取りで購入されたとき）、”０”が割り当てられる。
【００５２】
開始日時および終了日時は、再生制限データが”２”であるとき、再生可能期間の範囲を示すデータである。例えば、開始日時が”０００４０Ｆ”であり、終了日時が”０００７０Ｆ”であるとき、対応するコンテンツは、２０００年４月１５日から２０００年７月１５日まで、再生が可能である。
【００５３】
同様に、回数制限および再生回数カウンタは、再生制限データが”１”または”２”であるとき、回数制限は、そのコンテンツに対応して予め設定された再生可能な回数であり、再生回数カウンタは、そのコンテンツの再生の処理を実行したときCPU５３により更新される、コンテンツが再生された回数を示す。例えば、回数制限が”０２”であるとき、そのコンテンツの再生可能な回数は２回であり、再生回数カウンタが”０１”であるとき、そのコンテンツが再生された回数は１回である。
【００５４】
例えば、再生制限データが”２”であり、開始日時が”０００４０Ｆ”であり、終了日時が”０００７０Ｆ”であり、再生制限データが”２”であるとき、ポータブルデバイス６は、対応するコンテンツを、２０００年４月１５日から２０００年７月１５日までの期間において、１日２回ずつ繰り返し再生できる。
【００５５】
例えば、再生制限データが”１”であり、開始日時が”００００００”であり、終了日時が”００００００”であり、再生制限データが”０ａ”であり、再生回数カウンタが”０５”であるとき、対応するコンテンツは、再生可能な期間の制限がなく、再生可能な回数が１０回であり、再生された回数が５回である。
【００５６】
ポータブルデバイス６が、パーソナルコンピュータ１からコンテンツと共にコンテンツの書き込み命令を受信した場合、ROM５５からRAM５４に読み出したメインプログラムを実行するCPU５３は、書き込み命令を受け取り、フラッシュメモリコントローラ６０を制御して、パーソナルコンピュータ１から受信したコンテンツをフラッシュメモリ６１に書き込ませる。
【００５７】
フラッシュメモリ６１は、約64MByteの記憶容量を有し、コンテンツ（音声データ）を記憶する。また、フラッシュメモリ６１には、所定の圧縮方式で圧縮されている音声データを伸張するための再生用コードが予め格納されている。
【００５８】
なお、フラッシュメモリ６１は、ポータブルデバイス６に着脱可能とすることができる。
【００５９】
使用者による、図示せぬ再生／停止ボタンの押し下げ操作に対応した再生命令が操作キーコントローラ６２を介してCPU５３に供給されると、CPU５３は、フラッシュメモリコントローラ６０に、フラッシュメモリ６１から、再生用コードと音声データとを読み出させ、DSP５９に転送させる。
【００６０】
DSP５９は、フラッシュメモリ６１から転送された再生用コードに基づいて音声データをCRC（Cyclic Redundancy Check）方式で誤り検出をした後、再生して、再生したデータ（図４中においてD1で示す）をディジタル／アナログ変換回路６３に供給する。
【００６１】
DSP５９は、内部に設けられた図示せぬ発信回路とともに一体に構成され、外付けされた水晶で成る発信子５９ＡからのマスタークロックMCLKを基に、音声データを再生するとともに、マスタークロックMCLK、マスタークロックMCLKを基に内部の発振回路で生成した所定の周波数のビットクロックBCLK、並びにフレーム単位のＬチャンネルクロックLCLK、およびＲチャンネルクロックRCLKからなる動作クロックLRCLKをディジタルアナログ変換回路６３に供給する。
【００６２】
DSP５９は、音声データを再生するとき、再生用コードに従って上述の動作クロックをディジタルアナログ変換回路６３に供給して、音声データを再生しないとき、再生用コードに従って動作クロックの供給を停止して、ディジタルアナログ変換回路６３を停止させて、ポータブルデバイス６全体の消費電力量を低減する。
【００６３】
同様に、CPU５３およびUSBコントローラ５７も、水晶でなる発振子５３Ａまたは５７Ａがそれぞれ外付けされ、発振子５３Ａまたは５７Ａからそれぞれ供給されるマスタークロックMCLKに基づき、所定の処理を実行する。
【００６４】
このように構成することで、ポータブルデバイス６は、CPU５３，DSP５９，USBコントローラ５７等の各回路ブロックに対してクロック供給を行うためのクロック発生モジュールが不要となり、回路構成を簡素化すると共に小型化することができる。
【００６５】
ディジタルアナログ変換回路６３は、再生した音声データをアナログの音声信号に変換して、これを増幅回路６４に供給する。増幅回路６４は、音声信号を増幅して、ヘッドフォンジャック６５を介して、図示せぬヘッドフォンに音声信号を供給する。
【００６６】
このように、ポータブルデバイス６は、図示せぬ再生／停止ボタンが押圧操作されたとき、CPU５３の制御に基づいてフラッシュメモリ６１に記憶されている音声データを再生するとともに、再生中に再生／停止ボタンが押圧操作されたとき、音声データの再生を停止する。
【００６７】
ポータブルデバイス６は、停止後に再度再生／停止ボタンが押圧操作されたとき、CPU５３の制御に基づいて停止した位置から音声データの再生を再開する。再生／停止ボタンが押圧操作により再生を停止して操作が加わることなく数秒間経過したとき、ポータブルデバイス６は、自動的に電源をオフして消費電力を低減する。
【００６８】
因みに、ポータブルデバイス６は、電源がオフになった後に再生／停止ボタンが押圧操作されたとき、前回の停止した位置から音声データを再生せず、１曲目から再生する。
【００６９】
また、ポータブルデバイス６のCPU５３は、LCDコントローラ６８を制御して、表示部６７に、再生モードの状態（例えば、リピート再生、イントロ再生など）、イコライザ調整（すなわち、音声信号の周波数帯域に対応した利得の調整）、曲番号、演奏時間、再生、停止、早送り、早戻しなどの状態、音量および乾電池５１の残量等の情報を表示させる。
【００７０】
さらに、ポータブルデバイス６は、EEPROM６８に、フラッシュメモリ８０に書き込まれているコンテンツの数、それぞれのコンテンツが書き込まれているフラッシュメモリ６１のブロック位置、およびその他種々のメモリ蓄積情報等のいわゆるFAT（File Allocation Table）を格納する。
【００７１】
因みに、本実施の形態においては、音声データは、64KByteを１ブロックとして扱われ、１曲のコンテンツに対応したブロック位置がFATに格納される。
【００７２】
フラッシュメモリ６１にFATが格納される場合、例えば、１曲目のコンテンツがCPU５３の制御によりフラッシュメモリ６１に書き込まれると、１曲目のコンテンツに対応するブロック位置がFATとしてフラッシュメモリ６１に書き込まれ、次に、２曲目のコンテンツがフラッシュメモリ６１に書き込まれると、２曲目のコンテンツに対応するブロック位置がFATとしてフラッシュメモリ６１（１曲目と同一の領域）に書き込まれる。
【００７３】
このように、FATは、フラッシュメモリ６１へのコンテンツの書き込みの度に書き換えられ、更に、データの保護の為、同一のデータがリザーブ用に２重に書き込まれる。
【００７４】
FATがフラッシュメモリ６１に書き込まれると、１回のコンテンツの書き込みに対応して、フラッシュメモリ６１の同一の領域が２回書き換えられるので、少ないコンテンツの書き込みの回数で、フラッシュメモリ６１に規定されている書き換えの回数に達してしまい、フラッシュメモリ６１の書き換えができなくなってしまう。
【００７５】
そこで、ポータブルデバイス６は、FATをEEPROM６８に記憶させて、１回のコンテンツの書き込みに対応するフラッシュメモリ６１の書き換えの頻度を少なくしている。
【００７６】
書き換えの回数の多いFATをEEPROM６８に記憶させることにより、FATをフラッシュメモリ６１に記憶させる場合に比較して、ポータブルデバイス６は、コンテンツの書き込みができる回数を数十倍以上に増やすことができる。更に、CPU５３は、EEPROM６８にFATを追記するように書き込ませるので、EEPROM６８の同一の領域の書き換えの頻度を少なくして、EEPROM６８が短期間で書き換え不能になることを防止する。
【００７７】
ポータブルデバイス６は、USBケーブル７を介してパーソナルコンピュータ１に接続されたとき（以下、これをUSB接続と称する）、USBコントローラ５７からCPU５３に供給される割り込み信号に基づき、USB接続されたことを認識する。
【００７８】
ポータブルデバイス６は、USB接続されたことを認識すると、パーソナルコンピュータ１からUSBケーブル７を介して規定電流値の外部電力の供給を受けるとともに、電源回路５２を制御して、乾電池５１からの電力の供給を停止させる。
【００７９】
CPU５３は、USB接続されたとき、DSP５９の音声データの再生の処理を停止させる。これにより、CPU５３は、パーソナルコンピュータ１から供給される外部電力が規定電流値を超えてしまうことを防止して、規定電流値の外部電力を常時受けられるように制御する。
【００８０】
このようにCPU５３は、USB接続されると、乾電池５１から供給される電力からパーソナルコンピュータ１から供給される電力に切り換えるので、電力単価の安いパーソナルコンピュータ１からの外部電力が使用され、電力単価の高い乾電池５１の消費電力が低減され、かくして乾電池５１の寿命を延ばすことができる。
【００８１】
なお、CPU５３は、パーソナルコンピュータ１からUSBケーブル７を介して外部電力の供給を受けたとき、DSP５９の再生処理を停止させることにより、DSP５９からの輻射を低減させ、その結果としてパーソナルコンピュータ１を含むシステム全体の輻射を一段と低減させる。
【００８２】
図５は、CPU１１の所定のプログラムの実行等により実現される、パーソナルコンピュータ１の機能の構成を説明するブロック図である。コンテンツ管理プログラム１１１は、EMD選択プログラム１３１、チェックイン／チェックアウト管理プログラム１３２、暗号方式変換プログラム１３３、圧縮方式変換プログラム１３４、暗号化プログラム１３５、利用条件変換プログラム１３６、署名管理プログラム１３７、認証プログラム１３８、復号プログラム１３９、PD用ドライバ１４０、購入用ドライバ１４１、および購入用ドライバ１４２などの複数のプログラムで構成されている。
【００８３】
コンテンツ管理プログラム１１１は、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されて、その処理内容を外部から隠蔽し、その処理内容の読解が困難になる（例えば、使用者が、直接、コンテンツ管理プログラム１１１を読み出しても、インストラクションを特定できないなど）ように構成されている。
【００８４】
EMD選択プログラム１３１は、コンテンツ管理プログラム１１１がパーソナルコンピュータ１にインストールされるとき、コンテンツ管理プログラム１１１には含まれず、後述するEMDの登録の処理において、ネットワーク２を介して、EMD登録サーバ３から受信される。EMD選択プログラム１３１は、EMDサーバ４−１乃至４−３のいずれかとの接続を選択して、購入用アプリケーション１１５、または購入用ドライバ１４１若しくは１４２に、EMDサーバ４−１乃至４−３のいずれかとの通信（例えば、コンテンツを購入するときの、コンテンツのダウンロードなど）を実行させる。
【００８５】
チェックイン／チェックアウト管理プログラム１３２は、チェックインまたはチェックアウトの設定、およびコンテンツデータベース１１４に記録されている利用条件ファイル１６２−１乃至１６２−Ｎに基づいて、コンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツをポータブルデバイス６−１乃至６−３のいずれかにチェックアウトするか、またはポータブルデバイス６−１乃至６−３に記憶されているコンテンツをチェックインする。
【００８６】
チェックイン／チェックアウト管理プログラム１３２は、チェックインまたはチェックアウトの処理に対応して、コンテンツデータベース１１４に記録されている利用条件ファイル１６２−１乃至１６２−Ｎに格納されている利用条件のデータを更新する。
【００８７】
暗号方式変換プログラム１３３は、ネットワーク２を介して、購入用アプリケーションプログラム１１５がEMDサーバ４−１から受信したコンテンツの暗号化の方式、購入用ドライバ１４１がEMDサーバ４−２から受信したコンテンツの暗号化の方式、または購入用ドライバ１４２がEMDサーバ４−３から受信したコンテンツの暗号化の方式を、コンテンツデータベース１１４が記録しているコンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツと同一の暗号化の方式に変換する。
【００８８】
また、暗号方式変換プログラム１３３は、ポータブルデバイス６−１または６−３にコンテンツをチェックアウトするとき、チェックアウトするコンテンツを、ポータブルデバイス６−１または６−３が利用可能な暗号化方式に変換する。
【００８９】
圧縮方式変換プログラム１３４は、ネットワーク２を介して、購入用アプリケーションプログラム１１５がEMDサーバ４−１から受信したコンテンツの圧縮の方式、購入用ドライバ１４１がEMDサーバ４−２から受信したコンテンツの圧縮の方式、または購入用ドライバ１４２がEMDサーバ４−３から受信したコンテンツの圧縮の方式を、コンテンツデータベース１１４が記録しているコンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツと同一の圧縮の方式に変換する。
【００９０】
圧縮方式変換プログラム１３４は、例えばCDから読み取られ、録音プログラム１１３から供給されたコンテンツ（圧縮されていない）を、コンテンツデータベース１１４が記録しているコンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツと同一の符号化の方式で符号化する。
【００９１】
また、圧縮方式変換プログラム１３４は、ポータブルデバイス６−１または６−３にコンテンツをチェックアウトするとき、チェックアウトするコンテンツを、ポータブルデバイス６−１または６−３が利用可能な圧縮の方式に変換する。
【００９２】
暗号化プログラム１３５は、例えばCDから読み取られ、録音プログラム１１３から供給されたコンテンツ（暗号化されていない）を、コンテンツデータベース１１４が記録しているコンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツと同一の暗号化の方式で暗号化する。
【００９３】
利用条件変換プログラム１３６は、ネットワーク２を介して、購入用アプリケーションプログラム１１５がEMDサーバ４−１から受信したコンテンツの利用条件を示すデータ（いわゆる、Usage Rule）、購入用ドライバ１４１がEMDサーバ４−２から受信したコンテンツの利用条件を示すデータ、または購入用ドライバ１４２がEMDサーバ４−３から受信したコンテンツの利用条件を示すデータを、コンテンツデータベース１１４が記録している利用条件ファイル１６２−１乃至１６２−Ｎに格納されている利用条件データと同一のフォーマットに変換する。
【００９４】
また、利用条件変換プログラム１３６は、ポータブルデバイス６−１または６−３にコンテンツをチェックアウトするとき、チェックアウトするコンテンツに対応する利用条件のデータを、ポータブルデバイス６−１または６−３が利用可能な利用条件のデータに変換する。
【００９５】
署名管理プログラム１３７は、チェックインまたはチェックアウトの処理を実行する前に、コンテンツデータベース１１４に記録されている利用条件ファイル１６２−１乃至１６２−Ｎに格納されている利用条件のデータに含まれている署名（後述する）を基に、利用条件のデータの改竄を検出する。署名管理プログラム１３７は、チェックインまたはチェックアウトの処理に伴う、コンテンツデータベース１１４に記録されている利用条件ファイル１６２−１乃至１６２−Ｎに格納されている利用条件のデータを更新に対応して、利用条件のデータに含まれる署名を更新する。
【００９６】
認証プログラム１３８は、コンテンツ管理プログラム１１１と購入用アプリケーションプログラム１１５との相互認証の処理、およびコンテンツ管理プログラム１１１と購入用ドライバ１４１との相互認証の処理を実行する。また、認証プログラム１３８は、EMDサーバ４−１と購入用アプリケーションプログラム１１５との相互認証の処理、EMDサーバ４−２と購入用ドライバ１４１との相互認証の処理、およびEMDサーバ４−３と購入用ドライバ１４２との相互認証の処理で利用される認証鍵を記憶している。
【００９７】
認証プログラム１３８が相互認証の処理で利用する認証鍵は、コンテンツ管理プログラム１１１がパーソナルコンピュータ１にインストールされたとき、認証プログラム１３８に記憶されておらず、表示操作指示プログラム１１２により登録の処理が正常に実行されたとき、EMD登録サーバ３から供給され、認証プログラム１３８に記憶される。
【００９８】
復号プログラム１３９は、コンテンツデータベース１１４が記録しているコンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツをパーソナルコンピュータ１が再生するとき、コンテンツを復号する。
【００９９】
PD用ドライバ１４０は、ポータブルデバイス６−２に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス６−２から所定のコンテンツをチェックインするとき、ポータブルデバイス６−２にコンテンツまたはポータブルデバイス６−２に所定の処理を実行させるコマンドを供給する。
【０１００】
PD用ドライバ１４０は、ポータブルデバイス６−１に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス６−１から所定のコンテンツをチェックインするとき、デバイスドライバ１１６−１にコンテンツ、またはデバイスドライバ１１６−１に所定の処理を実行させるコマンドを供給する。
【０１０１】
PD用ドライバ１４０は、ポータブルデバイス６−３に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス６−３から所定のコンテンツをチェックインするとき、デバイスドライバ１１６−２にコンテンツ、またはデバイスドライバ１１６−２に所定の処理を実行させるコマンドを供給する。
【０１０２】
購入用ドライバ１４１は、いわゆる、プラグインプログラムであり、コンテンツ管理プログラム１１１と共にインストールされ、EMD登録サーバ３からネットワーク２を介して供給され、または所定のCDに記録されて供給される。購入用ドライバ１４１は、パーソナルコンピュータ１にインストールされたとき、コンテンツ管理プログラム１１１の有する所定の形式のインターフェースを介して、コンテンツ管理プログラム１１１とデータを送受信する。
【０１０３】
購入用ドライバ１４１は、ネットワーク２を介して、EMDサーバ４−２に所定のコンテンツの送信を要求するとともに、EMDサーバ４−２からコンテンツを受信する。また、購入用ドライバ１４１は、EMDサーバ４−２からコンテンツを受信するとき、課金の処理を実行する。
【０１０４】
購入用ドライバ１４２は、コンテンツ管理プログラム１１１と共にインストールされるプログラムであり、ネットワーク２を介して、EMDサーバ４−３に所定のコンテンツの送信を要求するとともに、EMDサーバ４−３からコンテンツを受信する。また、購入用ドライバ１４２は、EMDサーバ４−３からコンテンツを受信するとき、課金の処理を実行する。
【０１０５】
表示操作指示プログラム１１２は、フィルタリングデータファイル１８１、表示データファイル１８２、画像ファイル１８３−１乃至１８３−Ｋ、または履歴データファイル１８４を基に、ディスプレイ２０に所定のウィンドウの画像を表示させ、キーボード１８またはマウス１９への操作を基に、コンテンツ管理プログラム１１１にチェックインまたはチェックアウトなどの処理の実行を指示する。
【０１０６】
フィルタリングデータファイル１８１は、コンテンツデータベース１１４に記録されているコンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツそれぞれに重み付けをするためのデータを格納して、HDD２１に記録されている。
【０１０７】
表示データファイル１８２は、コンテンツデータベース１１４に記録されているコンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツに対応するデータを格納して、HDD２１に記録されている。
【０１０８】
画像ファイル１８３−１乃至１８３−Ｋは、コンテンツデータベース１１４に記録されているコンテンツファイル１６１−１乃至１６１−Ｎに対応する画像、または後述するパッケージに対応する画像を格納して、HDD２１に記録されている。
【０１０９】
以下、画像ファイル１８３−１乃至１８３−Ｋを個々に区別する必要がないとき、単に、画像ファイル１８３と称する。
【０１１０】
履歴データファイル１８４は、コンテンツデータベース１１４に記録されているコンテンツファイル１６１−１乃至１６１−Ｎに格納されているコンテンツがチェックアウトされた回数、チェックインされた回数、その日付などの履歴データを格納して、HDD２１に記録されている。
【０１１１】
表示操作指示プログラム１１２は、登録の処理のとき、ネットワーク２を介して、EMD登録サーバ３に、予め記憶しているコンテンツ管理プログラム１１１のIDを送信するとともに、EMD登録サーバ３から認証用鍵およびEMD選択プログラム１３１を受信して、コンテンツ管理プログラム１１１に認証用鍵およびEMD選択プログラム１３１を供給する。
【０１１２】
録音プログラム１１３は、所定のウィンドウの画像を表示させて、キーボード１８またはマウス１９への操作を基に、ドライブ２２に装着された光ディスク４２であるCDからコンテンツの録音時間などのデータを読み出す。
【０１１３】
録音プログラム１１３は、CDに記録されているコンテンツの録音時間などを基に、ネットワーク２を介して、WWWサーバ５−１または５−２にCDに対応するデータ（例えば、アルバム名、またはアーティスト名など）またはCDに記録されているコンテンツに対応するデータ（例えば、曲名など）の送信を要求するとともに、WWWサーバ５−１または５−２からCDに対応するデータまたはCDに記録されているコンテンツに対応するデータを受信する。
【０１１４】
録音プログラム１１３は、受信したCDに対応するデータまたはCDに記録されているコンテンツに対応するデータを、表示操作指示プログラム１１２に供給する。
【０１１５】
また、録音の指示が入力されたとき、録音プログラム１１３は、ドライブ２２に装着された光ディスク４２であるCDからコンテンツを読み出して、コンテンツ管理プログラム１１１に出力する。
【０１１６】
コンテンツデータベース１１４は、コンテンツ管理プログラム１１１から供給された所定の方式で圧縮され、所定の方式で暗号化されているコンテンツを、コンテンツファイル１６１−１乃至１６１−Ｎのいずれかに格納する（HDD２１に記録する）。コンテンツデータベース１１４は、コンテンツファイル１６１−１乃至１６１−Ｎにそれぞれ格納されているコンテンツに対応する利用条件のデータを、コンテンツが格納されているコンテンツファイル１６１−１乃至１６１−Ｎにそれぞれ対応する利用条件ファイル１６２−１乃至１６２−Ｎのいずれかに格納する（HDD２１に記録する）。
【０１１７】
コンテンツデータベース１１４は、コンテンツファイル１６１−１乃至１６１−Ｎまたは利用条件ファイル１６２−１乃至１６２−Ｎをレコードとして記録してもよい。
【０１１８】
例えば、コンテンツファイル１６１−１に格納されているコンテンツに対応する利用条件のデータは、利用条件ファイル１６２−１に格納されている。コンテンツファイル１６１−Ｎに格納されているコンテンツに対応する利用条件のデータは、利用条件ファイル１６２−Ｎに格納されている。
【０１１９】
なお、利用条件ファイル１６２−１乃至１６２−Ｎに記録されているデータは、後述する期限データベースに記録されているデータ、または曲データベースに記録されているデータに対応する。すなわち、コンテンツデータベース１１４は、後述する期限データベースおよび曲データベースを包含して、構成されている。
【０１２０】
以下、コンテンツファイル１６１−１乃至１６１−Ｎを個々に区別する必要がないとき、単に、コンテンツファイル１６１と称する。以下、利用条件ファイル１６２−１乃至１６２−Ｎを個々に区別する必要がないとき、単に、利用条件ファイル１６２と称する。
【０１２１】
購入用アプリケーションプログラム１１５は、EMD登録サーバ３からネットワーク２を介して供給され、または所定のCDに記録されて供給される。購入用アプリケーションプログラム１１５は、ネットワーク２を介して、EMDサーバ４−１に所定のコンテンツの送信を要求するとともに、EMDサーバ４−１からコンテンツを受信して、コンテンツ管理プログラム１１１に供給する。また、購入用アプリケーションプログラム１１５は、EMDサーバ４−１からコンテンツを受信するとき、課金の処理を実行する。
【０１２２】
次に、表示データファイル８２に格納されているデータとコンテンツデータベースに格納されているコンテンツファイル１６１−１乃至１６１−Ｎとの対応付けについて説明する。
【０１２３】
コンテンツファイル１６１−１乃至１６１−Ｎのいずれかに格納されているコンテンツは、所定のパッケージに属する。パッケージは、より詳細には、オリジナルパッケージ、マイセレクトパッケージ、またはフィルタリングパッケージのいずれかである。
【０１２４】
オリジナルパッケージは、１以上のコンテンツが属し、EMDサーバ４−１乃至４−３におけるコンテンツの分類（例えば、いわゆるアルバムに対応する）、または一枚のCDに対応する。コンテンツは、いずれかのオリジナルパッケージに属し、複数のオリジナルパッケージに属することができない。また、コンテンツが属するオリジナルパッケージは、変更することができない。使用者は、オリジナルパッケージに対応する情報の一部を編集（情報の追加、または追加した情報の変更）することができる。
【０１２５】
マイセレクトパッケージは、使用者が任意に選択した１以上のコンテンツが属する。マイセレクトパッケージにいずれのコンテンツが属するかは、使用者が任意に編集することができる。コンテンツは、１以上のマイセレクトパッケージに同時に属することができる。また、コンテンツは、いずれのマイセレクトパッケージに属しなくともよい。
【０１２６】
フィルタリングパッケージには、フィルタリングデータファイル１８１に格納されているフィルタリングデータを基に選択されたコンテンツが属する。フィルタリングデータは、EMDサーバ４−１乃至４−３またはWWWサーバ５−１若しくは５−２などからネットワーク２を介して供給され、または所定のCDに記録されて供給される。使用者は、フィルタリングデータファイル１８１に格納されているフィルタリングデータを編集することができる。
【０１２７】
フィルタリングデータは、所定のコンテンツを選択する、またはコンテンツに対応する重みを算出する基準となる。例えば、今週のＪ−ＰＯＰ（日本のポップス）ベストテンに対応するフィルタリングデータを利用すれば、パーソナルコンピュータ１は、今週の日本のポップス１位のコンテンツ乃至今週の日本のポップス１０位のコンテンツを特定することができる。
【０１２８】
フィルタリングデータファイル１８１は、例えば、過去１月間にチェックアウトされていた期間が長い順にコンテンツを選択するフィルタリングデータ、過去半年間にチェックアウトされた回数が多いコンテンツを選択するフィルタリングデータ、または曲名に”愛”の文字が含まれているコンテンツを選択するフィルタリングデータなどを含んでいる。
【０１２９】
このようにフィルタリングパッケージのコンテンツは、コンテンツに対応するコンテンツ用表示データ２２１（コンテンツ用表示データ２２１に使用者が設定したデータを含む）、または履歴データ１８４などと、フィルタリングデータとを対応させて選択される。
【０１３０】
図６は、WWWサーバ５−２からCDの情報を受信したとき、録音プログラム１１３がディスプレイ２０に表示させるウィンドウを説明する図である。WWWサーバ５−２から受信したCDの情報を基に、録音プログラム１１３は、フィールド２０１に、例えば、”アシンクロナイズド”などのCDのタイトルを表示する。WWWサーバ５−２から受信したCDの情報を基に、録音プログラム１１３は、フィールド２０２に、例えば、”クワイ”などのアーティスト名を表示する。
【０１３１】
WWWサーバ５−２から受信したCDの情報を基に、録音プログラム１１３は、フィールド２０３の曲名を表示する部分に、例えば、”ヒート”，”プラネット”，”ブラック”，”ソウル”などの曲名を表示する。同様に、録音プログラム１１３は、フィールド２０３のアーティストを表示する部分に、例えば、”クワイ”などのアーティスト名を表示する。
【０１３２】
録音プログラム１１３が所定のCDの情報を受信した後、録音プログラム１１３は、HDD２１の所定のディレクトリにCDの情報を格納する。
【０１３３】
ボタン２０４などがクリックされて、CDの情報の取得の指示を受けたとき、録音プログラム１１３は、始めに、HDD２１の所定のディレクトリを検索する。録音プログラム１１３は、そのディレクトリにCDの情報が格納されているとき、図示せぬダイアログボックスを表示して、使用者にディレクトリに格納されているCDの情報を利用するか否かを選択させる。
【０１３４】
録音プログラム１１３が表示させるウィンドウに配置されているコンテンツの録音の開始を指示するボタン２０６がクリックされたとき、録音プログラム１１３は、ドライブ２２に格納されているCDからコンテンツを読み出して、CDから読み出したコンテンツをCDの情報と共にコンテンツ管理プログラム１１１に供給する。コンテンツ管理プログラム１１１の圧縮方式変換プログラム１３４は、録音プログラム１１３から供給されたコンテンツを所定の圧縮の方式で圧縮して、暗号化プログラム１３５は、圧縮されたコンテンツを、暗号化する。また、利用条件変換プログラム１３６は、圧縮され、暗号化されたコンテンツに対応する利用条件のデータを生成する。
【０１３５】
コンテンツ管理プログラム１１１は、圧縮され、暗号化されたコンテンツを利用条件のデータと共に、コンテンツデータベース１１４に供給する。
【０１３６】
コンテンツデータベース１１４は、コンテンツ管理プログラム１１１から受信したコンテンツに対応するコンテンツファィル１６１および利用条件ファイル１６２を生成して、コンテンツファィル１６１にコンテンツを格納するとともに、利用条件ファイル１６２に利用条件のデータを格納する。
【０１３７】
コンテンツ管理プログラム１１１は、コンテンツデータベース１１４にコンテンツおよびコンテンツに対応する利用条件のデータが格納されたとき、録音プログラム１１３から受信したCDの情報および利用条件のデータを表示操作指示プログラム１１２に供給する。
【０１３８】
表示操作指示プログラム１１２は、録音の処理でコンテンツデータベース１１４に格納されたコンテンツに対応する利用条件のデータおよびCDの情報を基に、オリジナルパッケージ用表示データ２０１およびコンテンツ用表示データ２２１を生成する。
【０１３９】
録音プログラム１１３が表示させるウィンドウには、更に、CDから読み出したコンテンツをコンテンツデータベース１１４に記録したとき、自動的に、CDから読み出したコンテンツをポータブルデバイス６−１乃至６−３のいずれかにチェックアウトさせるか否かの設定を行うボタン２０５が配置されている。
【０１４０】
例えば、ボタン２０５がクリックされたとき、録音プログラム１１３は、ポータブルデバイス６−１乃至６−３のリストを示すプルダウンメニューを表示する。使用者が、そのプルダウンメニューからポータブルデバイス６−１乃至６−３のいずれかを選択したとき、パーソナルコンピュータ１は、選択されたポータブルデバイス６−１乃至６−３のいずれかに、自動的に、CDから記録したコンテンツをチェックアウトする。使用者が、そのプルダウンメニューから”チェックアウトしない”を選択した場合、パーソナルコンピュータ１は、CDからコンテンツを記録したとき、チェックアウトしない。
【０１４１】
次に、図７のフローチャートを参照して、録音プログラム１１３を実行するCPU１１による、ドライブ２２に装着されたCDから再生した音楽データをHDD２１に転送し、コピーする場合の処理について説明する。使用者がキーボード１８またはマウス１９を操作して、インタフェース１７を介してCPU１１に対してドライブ２２に装着されたCD（図示せず）から再生された音楽データをHDD２１に転送、コピーする指令を入力すると、CPU１１は、ステップＳ１１において、インタフェース１７を介してディスプレイ２０にコピーする曲を選択するためのGUI（Graphical User Interface）を表示させる。
【０１４２】
具体的には、例えば、CPU１１は、ドライブ２２に装着されたCDのTOC（Table Of Contents）を読み込み、そのCDに含まれる曲の情報を得て、ディスプレイ２０に表示させる。または、CPU１１は、CDに含まれている各曲毎のISRC（International Standard Recording Code）を読み出し、その曲の情報を得て、ディスプレイ２０に表示させる。あるいはまた、CPU１１は、ネットワーク２を介してWWWサーバ５−１または５−２にアクセスし、TOCを用いて、そのCDの曲の情報を得て、対応するGUIをディスプレイ２０に表示させる。使用者は、ディスプレイ２０のGUIを利用してキーボード１８またはマウス１９を操作し、コピーする曲を選択する。
【０１４３】
次に、ステップＳ１２において、CPU１１は、HDD２１に格納されている期限データベース（図５に示すコンテンツデータベース１１４の利用条件ファイル１６２−１乃至１６２−Ｎに対応する）をチェックする。この期限データベースチェック処理の詳細は、図８のフローチャートに示されている。
【０１４４】
ステップＳ３１においてCPU１１は、アダプタ２６のCPU３２と共働して、期限データベース全体のハッシュ値を計算し、ステップＳ３２において、その計算された値と、前回保存しておいたハッシュ値と比較する。
【０１４５】
なお、期限データベースにデータが何ら記録されていないとき、CPU１１は、ハッシュ値を計算しない。
【０１４６】
すなわち、HDD２１には、期限データベースが形成されており、この期限データベースには、図９に示すように、HDD２１に記録されている音楽データ（コンテンツ）を管理する管理情報として、過去に記録されたことのある曲のISRCとコピー日時が対応して記憶されている。この例においては、アイテム１乃至アイテム３の３つのアイテムについて、それぞれのISRCとコピー日時が記憶されている。この期限データベースに記録されている全ての曲のISRCとコピー日時に基づいた期限データベース全体のハッシュ値が、後述するように、ステップＳ３８において、アダプタ２６のCPU３２により計算され、不揮発性メモリ３４に記憶されている。ハッシュ値は、データに対してハッシュ関数を適用して得られた値である。ハッシュ関数は、一般的に可変長の長いデータを、固定長の短い値にマップする一方向性の関数であり、ハッシュ値同士の衝突が起こりにくい性質を有している。ハッシュ関数の例としては、SHA（Secure Hash Algorithm），MD（Message Digest）５などがある。CPU１１は、ステップＳ３１において、CPU３２が実行したのと同様にハッシュ値を計算する。そして、ステップＳ３２において、CPU１１は、CPU３２に、不揮発性メモリ３４に記憶されているハッシュ値の読み出しを要求し、転送を受けたハッシュ値と、ステップＳ３１で、いま自分自身が計算したハッシュ値とを比較する。
【０１４７】
ステップＳ３３において、CPU１１は、ステップＳ３１でいま計算したハッシュ値と、不揮発性メモリ３４に記憶されている前回の期限データベースのハッシュ値とが一致するか否かを判定し、一致しない場合には、期限データベースが改竄されたものと判定し、CPU１１は、ステップＳ３４において、例えば、「期限データベースが改竄されたので、コピーができません」といったメッセージを発生し、インタフェース１７を介してディスプレイ２０に出力し、表示させ、以後、処理を終了させる。すなわち、この場合には、CDに記録されている音楽データを再生し、HDD２１にコピーする処理が禁止される。
【０１４８】
ステップＳ３１で計算したハッシュ値と、前回のハッシュ値とが一致する場合には、ステップＳ３５に進み、CPU１１は、ステップＳ１１で指定されたコピーする曲として選択された曲（選択曲）のISRCをCDから取得する。CDにISRCが記録されていない場合、CPU１１は、そのCDのTOCのデータを読み出し、そのデータにハッシュ関数を適用するなどして、例えば、５８ビットなどの適当な長さのデータを得て、これをISRCに代えて用いる。
【０１４９】
ステップＳ３６において、CPU１１は、ステップＳ３５で取得したISRC（すなわち、選択曲）が期限データベース（図９）に登録されているか否かを判定する。ISRCが期限データベースに登録されていない場合には、その曲はまだHDD２１に記録されていないことになるので、ステップＳ３７に進み、CPU１１は、その曲のISRCと現在の日時とを期限データベースに登録する。なお、CPU１１は、この現在の日時として、CPU３２から転送を受けた、アダプタ２６のRTC３５が出力する値を利用する。そして、ステップＳ３８において、CPU１１は、その時点における期限データベースのデータを読み出し、アダプタ２６のCPU３２に転送する。CPU３２は、転送されてきたデータのハッシュ値を計算し、不揮発性メモリ３４に保存してする。上述したように、このようにして保存されたハッシュ値が、ステップＳ３２において、前回保存しておいたハッシュ値として利用される。
【０１５０】
次に、ステップＳ３９において、CPU１１は、選択曲が期限データベースに登録されていないことを表す未登録のフラグを設定する。このフラグは、後述する図７のステップＳ１３において、選択曲が期限データベースに登録されているか否かの判定を行うときに用いられる。
【０１５１】
ステップＳ３６において、選択曲のISRCが期限データベースに登録されていると判定された場合、その選択曲は、少なくとも一度、HDD２１に登録されたことがある曲であるということになる。そこで、この場合、ステップＳ４０に進み、CPU１１は、期限データベースに登録されているその選択曲の登録日時より、現在の日時（アダプタ２６のRTC３５が出力した現在の日時）が４８時間以上経過しているか否かを判定する。現在時刻が、登録日時より、既に４８時間以上経過している場合には、HDD２１に、少なくとも一度は記録したことがあるが、既に、その時から４８時間以上経過しているので、その曲を再度コピーさせたとしても、それほど実害がないので、この場合には、HDD２１へのコピーが許容される。そこで、ステップＳ４１に進み、CPU１１は、期限データベースの日時を、過去の登録日時から現在の日時（RTC３５の出力する日時）に変更させる。そして、ステップＳ３８に戻り、CPU１１は、再び、期限データベース全体のハッシュ値をCPU３２に計算させ、不揮発性メモリ３４に保存させるとともに、ステップＳ３９において、その曲に対して未登録のフラグを設定する。
【０１５２】
一方、ステップＳ４０において、現在時刻が登録日時より、まだ４８時間以上経過していないと判定された場合、その選択曲のHDD２１へのコピーが禁止される。そこで、この場合には、ステップＳ４２に進み、CPU１１は、その選択曲に対応して登録済みのフラグを設定する。
【０１５３】
以上のようにして、期限データベースチェック処理により、選択曲がHDD２１に登録されているか否かを表すフラグが設定される。
【０１５４】
図７に戻り、ステップＳ１３においてCPU１１は、選択曲が期限データベースに登録済みであるか否かを、上述したフラグから判定する。選択曲が登録済みである場合には、ステップＳ１４に進み、CPU１１は、ディスプレイ２０に、例えば、「この曲は一度コピーされてからまだ４８時間以上経過していないので、コピーすることができません」のようなメッセージを表示させる。これにより、使用者は、その曲をHDD２１にコピーすることができない理由を知ることができる。
【０１５５】
ステップＳ１３において、選択した曲が期限データベースに登録されていないと判定された場合、ステップＳ１５に進み、CPU１１は、ドライブ２２を制御し、そこに装着されているCDから音楽データを読み出させる。この音楽データには、図１０に示すように、所定の位置にウォータマークコードが挿入されている。
CPU１１は、ステップＳ１６において、音楽データに含まれているウォータマークコードを抽出し、そのウォータマークコードがコピー禁止を表しているいるか否かをステップＳ１７において判定する。ウォータマークコードがコピー禁止を表している場合には、ステップＳ１８に進み、CPU１１は、インタフェース１７を介してディスプレイ２０に、例えば、「コピーは禁止されています」のようなメッセージを表示させ、コピー処理を終了させる。
【０１５６】
これに対して、ステップＳ１７において、ウォータマークがコピー禁止を表していないと判定された場合、ステップＳ１９に進み、CPU１１は、音楽データを、例えば、ATRAC（Adaptive Transform Acoustic Coding）3（商標）などの方式で、ソフトウェア処理により圧縮させる。ステップＳ２０において、CPU１１は、予め設定され、メモリ１３に記憶されている暗号鍵を用いて、例えば、DES（Data Encryption Standard）方式、FEAL（Fast Encripherment Algotithm）方式などの暗号化方法により、音楽データを暗号化する。暗号鍵は、この他、例えば、ソフトウェアにより発生した乱数、あるいはアダプタ２６のCPU３２により発生させた乱数に基づいて生成したものを用いることもできる。このように、パーソナルコンピュータ１だけではなく、それに付随して装着されたハードウェアとしてのアダプタ２６のCPU３２と、共働して暗号化処理を実行するようにすることで、解読がより困難となる暗号化を行うことが可能となる。
【０１５７】
次に、ステップＳ２１において、CPU１１は、暗号化されたデータをHDD２１に転送し、１つのファイル（コンテンツファィル１６１として）としてファイル名を付けて保存させる。あるいはまた、１つのファイルの一部として、そのファイル名の位置情報（例えば、先頭からのバイト数）を与えて保存するようにしてもよい。
【０１５８】
この保存処理と、上記した圧縮符号化処理および暗号化処理とは別々に行うようにしてもよいし、同時に平行的に行うようにしてもよい。
【０１５９】
さらに、ステップＳ２２において、CPU１１は、予め定められているRAM１３に記憶されている保存用鍵（不正な読み出しでは読み出しが困難になるように記憶されている）を使って、上述したDES方式、FEAL方式などの方式で、音楽データを暗号化した暗号鍵を暗号化し、HDD２１の曲データベース（図５に示すコンテンツデータベース１１４の利用条件ファイル１６２−１乃至１６２−Ｎに対応する）に保存する。
【０１６０】
ステップＳ２３において、CPU１１は、保存したファイルに関する情報、暗号化された暗号鍵、その曲の情報、使用者がGUIを介して入力した曲名の情報の要素を組にしてHDD２１の曲データベースに登録する。そして、ステップＳ２４において、CPU１１は、CPU３２に、曲データベース全体のハッシュ値を計算させ、不揮発性メモリ３４に保存させる。
【０１６１】
このようにして、例えば、図１１に示すような曲データベースが、HDD２１上に登録される。この例においては、アイテム１乃至アイテム３のファイル名、暗号化された暗号鍵、曲名、長さ、再生条件（開始日時、終了日時、回数制限）、再生回数カウンタ、再生時課金条件、コピー条件（回数）、コピー回数カウンタ、およびコピー条件（SCMS）が記録されている。
【０１６２】
複製されて一定期間が経過すると、再び複製することができるようにしたので、ユーザの個人の使用の範囲とされる、数回の複製が可能となる。一方、個人の使用の範囲を超えて、例えば、大量に複製しようとすると、莫大な時間が必要とされ、現実的に不可能になる。また、例えば、パーソナルコンピュータ１が故障して、HDD２１に記録されていたコンテンツが消去された場合においても、一定期間の経過後、消去されたコンテンツを再び複製し、HDD２１に記録することができる。
【０１６３】
また、例えば、ネットワーク２を介してHDD２１に記録されている期限データベースの内容を共有することもできる。
【０１６４】
以上においては、ISRCに対応して複製された日時が記憶されている場合を例として説明したが、コンテンツやCDを識別する情報であれば、他のもの（例えば、曲名、アルバム名、それらの組み合わせなど）を利用することもできる。
【０１６５】
次に、図１２乃至図１４のフローチャートを参照して、コンテンツ管理プログラム１１１を実行するCPU１１およびメインプログラムを実行するCPU５３による、HDD２１からポータブルデバイス６のフラッシュメモリ６１（例えば、メモリースティック（商標））に、音楽データを移動する処理について説明する。ステップＳ５１において、CPU１１は、曲データベース全体のハッシュ値を計算し、ステップＳ５２で、前回CPU３２に計算させ、不揮発性メモリ３４に保存しておいたハッシュ値と比較する。両者が一致しない場合、CPU１１は、ステップＳ５３に進み、例えば、「曲データベースが改竄された恐れがあります」のようなメッセージをディスプレイ２０に表示させた後、処理を終了させる。この場合の処理は、図８のステップＳ３１乃至ステップＳ３４の処理と同様の処理である。この場合においては、HDD２１からポータブルデバイス６への音楽データの移動が実行されないことになる。
【０１６６】
次に、ステップＳ５４において、CPU１１は、HDD２１に形成されている曲データベースから、そこに登録されている曲の情報を読み出し、ディスプレイ２０に、選択のためのGUIとして表示させる。使用者は、この選択のためのGUIに基づいて、HDD２１からポータブルデバイス６へ移動させる曲を、キーボード１８またはマウス１９を操作して選択する。次に、ステップＳ５５において、CPU１１は、ステップＳ５４で選択された選択曲の再生条件、コピー条件、再生時課金条件などを調べる。この処理の詳細は、図１５のフローチャートを参照して後述する。
【０１６７】
次に、ステップＳ５６において、パーソナルコンピュータ１のCPU１１とポータブルデバイス６のCPU５３との間において、相互認証処理が行われ、通信用鍵が共有される。
【０１６８】
例えば、ポータブルデバイス６のフラッシュメモリ６１（または、EEPROM６８）には、マスター鍵ＫMが予め記憶されており、パーソナルコンピュータ１のRAM１３（または、HDD２１の所定のファイル）には、個別鍵ＫPとIDが予め記憶されているものとする。CPU５３は、CPU１１から、RAM１３に予め記憶されているIDの供給を受け、そのIDと自分自身が有するマスター鍵ＫMにハッシュ関数を適用して、RAM１３に記憶されているパーソナルコンピュータ１の個別鍵と同一の鍵を生成する。このようにすることで、パーソナルコンピュータ１とポータブルデバイス６の両方に、共通の個別鍵が共有されることになる。この個別鍵を用いてさらに、一時的な通信用鍵を生成することができる。
【０１６９】
あるいはまた、パーソナルコンピュータ１のRAM１３にIDとマスター鍵ＫMPを予め記憶させておくとともに、ポータブルデバイス６のフラッシュメモリ６１にもポータブルデバイス６のIDとマスター鍵ＫMMを記憶させておく。そして、それぞれのIDとマスター鍵をお互いに他方に送信することで、他方は一方から送信されてきたIDとマスター鍵にハッシュ関数を適用して、他方の個別鍵を生成する。
そして、その個別鍵から、一時的な通信用鍵をさらに生成するようにする。
【０１７０】
なお、認証の方法としては、例えば、IOS（International Organization for Standardization）  ９７９８−２を利用することができる。
【０１７１】
相互認証が正しく行われなかったとき、処理は終了されるが、正しく行われたとき、さらに、ステップＳ５７において、CPU１１は、選択曲のファイル名を曲データベースから読み出し、そのファイル名の音楽データ（例えば、図７のステップＳ２０の処理で暗号化されている）をHDD２１から読み出す。ステップＳ５８において、CPU１１は、ステップＳ５７で読み出したデジタル音楽データの圧縮符号化方式（ステップＳ１９の処理）、暗号化方式（ステップＳ２０の処理）、フォーマットなどをポータブルデバイス６のものに変換する処理を実行する。
この変換処理の詳細は、図１７のフローチャートを参照して後述する。
【０１７２】
ステップＳ５９において、CPU１１は、ステップＳ５８で変換した音楽データを、ステップＳ５６の相互認証処理により共有した通信用鍵で暗号化し、ポータブルデバイス６にUSBポート２３を介して転送する。ステップＳ６０において、ポータブルデバイス６のCPU５３は、USBコネクタ５６を介してこの伝送されてきた音楽データを受信すると、その音楽データを、そのままフラッシュメモリ６１に記憶させる。
【０１７３】
ステップＳ６１において、CPU１１は、さらに、曲データベースに登録されているその選択曲の再生条件（開始日時、終了日時、回数制限など）を、ポータブルデバイス６が管理している形式に変換する。ステップＳ６２において、CPU１１は、さらに選択曲の曲データベース中に登録されているコピー条件中のSCMS情報を、ポータブルデバイス６の管理する形式に変換する。そして、ステップＳ６３において、CPU１１は、ステップＳ６１で変換した再生条件と、ステップＳ６２で変換したSCMS情報を、ポータブルデバイス６に転送する。ポータブルデバイス６のCPU５３は、転送を受けた再生条件とSCMS情報を、フラッシュメモリ６１に保存する。
【０１７４】
ステップＳ６４において、CPU１１はまた、選択曲の曲データベース中に登録されている再生条件、再生時課金条件、コピー条件などを、CPU１１が曲データベース中で扱っている形式のまま、ポータブルデバイス６に転送し、フラッシュメモリ６１に保存させる。
【０１７５】
ステップＳ６５において、CPU１１は、選択曲の暗号化されている暗号鍵を曲データベースから読み出し、ステップＳ６６において、その暗号鍵をRAM１３に保存されている保存用鍵で復号し、通信用鍵で暗号化する。そして、通信用鍵で暗号化した暗号鍵を、CPU１１は、ポータブルデバイス６に転送する。
【０１７６】
ポータブルデバイス６のCPU５３は、ステップＳ６７で、パーソナルコンピュータ１から転送されてきた暗号鍵を相互認証処理で共有した通信用鍵を用いて復号し、自分自身の保存用鍵を用いて暗号化し、既に保存したデータと関連付けて、フラッシュメモリ６１に保存する。
【０１７７】
CPU５３は、暗号鍵の保存が完了すると、ステップＳ６８において、パーソナルコンピュータ１に対して暗号鍵を保存したことを通知する。パーソナルコンピュータ１のCPU１１は、ポータブルデバイス６からこの通知を受けると、ステップＳ６９において、HDD２１から、その音楽データのファイルを削除するとともに、曲データベースからその曲の要素の組を削除する。すなわち、これにより、コピーではなく、移動（ムーブ）が行われることになる。そして、ステップＳ７０において、CPU１１は、アダプタ２６のCPU３２に、曲データベースのデータを転送し、全体のハッシュ値を計算させ、不揮発性メモリ３４に保存させる。このハッシュ値が、上述したステップＳ５２において、前回保存しておいたハッシュ値として用いられることになる。
【０１７８】
次に、コンテンツ管理プログラム１１１を実行するCPU１１による、図１２のステップＳ５５における選択曲の再生条件などのチェック処理について説明する。ステップＳ８１において、CPU１１は、曲データベースから、各種の条件を読み出す。CPU１１は、ステップＳ８２において、ステップＳ８１で読み出した各種条件のうち、コピー回数がコピー制限回数を既に過ぎているか否かを判定する。コピー回数が、コピー制限回数を既にすぎている場合には、それ以上コピーを許容する訳にはいかないので、ステップＳ８３に進み、CPU１１は、例えば、「既にコピー回数がコピー制限回数に達しています」のようなメッセージをディスプレイ２０に表示させ、処理を終了させる。ステップＳ８２において、コピー回数がコピー制限回数を過ぎていないと判定された場合、ステップＳ８４に進み、現在日時が再生終了日時を過ぎているか否かの判定が行われる。現在日時としては、アダプタ２６のRTC３５より出力されたものが用いられる。これにより、使用者が、パーソナルコンピュータ１の現在時刻を意図的に過去の値に修正したものが用いられるようなことが防止される。CPU１１は、この現在日時をCPU３２から提供を受けて、ステップＳ８４の判断を自ら行うか、または、ステップＳ８１で、曲データベースから読み出した再生条件をアダプタ２６のCPU３２に供給し、CPU３２に、ステップＳ８４の判定処理を実行させる。
【０１７９】
現在日時が再生終了日時を過ぎている場合、ステップＳ８５に進み、CPU１１は、選択曲をHDD２１から消去するとともに、曲データベースから、その選択曲の情報を消去する。ステップＳ８６において、CPU１１は、CPU３２に、曲データベースのハッシュ値を計算させ、それを不揮発性メモリ３４に保存させる。以後、処理は終了される。従って、この場合、音楽データの移動が実行されない。
【０１８０】
ステップＳ８４において、現在日時が、再生終了日時を過ぎていないと判定された場合、ステップＳ８７に進み、CPU１１は、その選択曲の再生時課金条件（例えば、再生１回当たりの料金）が曲データベース中に登録されているか否かを判定する。再生時課金条件が登録されている場合には、CPU１１は、ステップＳ８８において、ポータブルデバイス６と通信し、ポータブルデバイス６に課金機能が存在するか否かを判定する。ポータブルデバイス６に課金機能が存在しない場合には、選択曲をポータブルデバイス６に転送する訳にはいかないので、ステップＳ８９において、CPU１１は、例えば、「転送先が課金機能を有しておりません」のようなメッセージをディスプレイ２０に表示させ、音楽データの移動処理を終了させる。
【０１８１】
ステップＳ８７において再生時課金条件が登録されていないと判定された場合、または、ステップＳ８８において、ポータブルデバイス６に課金機能が存在すると判定された場合、ステップＳ９０に進み、CPU１１は、選択曲に関し、例えば、再生制限回数などのその他の再生条件が登録されているか否かを判定する。
その他の再生条件が登録されている場合には、ステップＳ９１に進み、CPU１１は、ポータブルデバイス６に、その再生条件を守る機能が存在するか否かを判定する。ポータブルデバイス６が、その再生条件を守る機能を有していない場合には、ステップＳ９２に進み、CPU１１は、例えば、「転送先の装置が再生条件を守る機能を有しておりません」のようなメッセージをディスプレイ２０に表示させ、処理を終了させる。
【０１８２】
ステップＳ９０において、再生条件が登録されていないと判定された場合、またはステップＳ９１において、ポータブルデバイス６が再生条件を守る機能を有している判定された場合、再生条件等のチェック処理が終了され、図１２のステップＳ５６に戻る。
【０１８３】
図１６は、ポータブルデバイス６が管理している（守ることが可能な）再生条件の例を表している。この例においては、アイテム１乃至アイテム３の各曲について、再生開始日時と再生終了日時が登録されているが、再生回数は、アイテム２についてのみ登録されており、アイテム１とアイテム３については登録されていない。従って、アイテム２の曲が選択曲とされた場合、再生回数の再生条件は守ることが可能であるが、アイテム１またはアイテム３の曲が選択曲とされた場合、再生回数の条件は守ることができないことになる。
【０１８４】
次に、図１７のフローチャートを参照して、コンテンツ管理プログラム１１１を実行するCPU１１による、図１２のステップＳ５８におけるフォーマット変換処理の詳細について説明する。ステップＳ１０１において、CPU１１は、HDD２１に記録されている選択曲のフォーマット（再生条件、使用条件、コピー条件など）を調べる。ステップＳ１０２において、CPU１１は、相手先の機器（今の場合、ポータブルデバイス６）に設定することが可能な条件を調べる。すなわち、CPU１１は、ポータブルデバイス６のCPU５３に設定可能な条件を問い合わせ、その回答を得る。ステップＳ１０３においてCPU１１は、曲データベース中に登録されているフォーマットの条件のうち、相手先の機器に設定可能な条件をステップＳ１０２で調べた条件に基づいて決定する。
【０１８５】
ステップＳ１０４において、CPU１１は、設定可能な条件が存在するか否かを判定し、設定可能な条件が存在しない場合には、ステップＳ１０５に進み、音楽データをポータブルデバイス６に移動する処理を禁止する。すなわち、この場合には、曲データベース中に登録されている条件をポータブルデバイス６が守ることができないので、そのようなポータブルデバイス６には、音楽データを移動することが禁止されるのである。
【０１８６】
ステップＳ１０４において設定可能な条件が存在すると判定された場合、ステップＳ１０６に進み、CPU１１は、その条件を相手先の機能フォーマットの条件に変換する。そして、ステップＳ１０７において、変換した条件を相手先の機器に設定する。その結果、ポータブルデバイス６は、設定された条件に従って（その条件を守って）、音楽データ再生することが可能となる。
【０１８７】
次に、図１８乃至図２０のフローチャートを参照して、コンテンツ管理プログラム１１１を実行するCPU１１およびメインプログラムを実行するCPU５３による、HDD２１からポータブルデバイス６に音楽データをコピーする場合の処理について説明する。この図１８乃至図２０のステップＳ１１１乃至ステップＳ１２７の処理は、図１２乃至図１４のHDD２１からポータブルデバイス６へ音楽データを移動させる場合のステップＳ５１乃至ステップＳ６７の処理と同様の処理である。すなわち、この場合においても、曲データベースの改竄がチェックされた後、選択曲の再生条件とのチェック処理が行われる。さらに、ポータブルデバイス６と、パーソナルコンピュータ１との間の相互認証処理の後、音楽データが、パーソナルコンピュータ１のHDD２１からポータブルデバイス６のフラッシュメモリ６１に転送され、保存される。その後、ステップＳ１２８において、パーソナルコンピュータ１のCPU１１は、曲データベースのコピー回数カウンタを１だけインクリメントする。そして、ステップＳ１２９において、CPU１１は、CPU３２に、曲データベース全体のハッシュ値を計算させ、その値を不揮発性メモリ３４に保存させる。
【０１８８】
次に、図２１のフローチャートを参照して、コンテンツ管理プログラム１１１を実行するCPU１１およびメインプログラムを実行するCPU５３による、ポータブルデバイス６からHDD２１に音楽データを移動する処理について説明する。ステップＳ１６１において、パーソナルコンピュータ１のCPU１１は、ポータブルデバイス６のCPU５３に対してフラッシュメモリ６１に記憶されている曲の情報の読み出しを要求する。CPU５３は、この要求に対応して、フラッシュメモリ６１に記憶されている曲の情報をパーソナルコンピュータ１に送信する。パーソナルコンピュータ１のCPU１１は、この情報に基づいて、ディスプレイ２０に、フラッシュメモリ６１に記憶されている曲を選択するためのGUIを表示させる。使用者は、キーボード１８またはマウス１９を操作して、そのGUIに基づいて、ポータブルデバイス６からHDD２１に移動させる曲を指定する。
【０１８９】
ステップＳ１６２において、CPU１１は、CPU５３との間において、相互認証処理を実行し、通信用鍵を共有する。この処理は、図１２のステップＳ５６における場合と同様の処理である。
【０１９０】
次に、ステップＳ１６３において、CPU５３は、フラッシュメモリ６１に記憶されている暗号化されている選択曲の音楽データを読み出し、パーソナルコンピュータ１に転送する。パーソナルコンピュータ１のCPU１１は、ステップＳ１６４において、ポータブルデバイス６から転送されてきた音楽データを、１つのファイルとしてファイル名を付けて、HDD２１に保存する。この保存は、例えば、１つのファイルの一部として、ファイル名の位置情報（例えば、先頭からのバイト数）を与えて行うようにすることもできる。
【０１９１】
ステップＳ１６５において、CPU５３は、フラッシュメモリ６１に記憶されている選択曲の暗号化されている暗号鍵を読み出し、それを自分自身の保存用鍵で復号し、さらに通信用鍵で暗号化した後、パーソナルコンピュータ１に転送する。この暗号鍵は、例えば、図１４のステップＳ６７の処理でフラッシュメモリ６１に保存されていたものである。
【０１９２】
ステップＳ１６６において、パーソナルコンピュータ１のCPU１１は、ポータブルデバイス６から暗号鍵の転送を受けると、それを通信用鍵で復号し、自分自身の保存用鍵で暗号化する。ステップＳ１６７で、CPU１１は、ステップＳ１６４で保存した音楽データのファイルのファイル名、その曲の情報を使用者がGUIを介して入力した曲名、ステップＳ１６６で暗号化した暗号鍵などを、HDD２１の曲データベースに登録する。そして、ステップＳ１６８において、CPU１１は、その曲データベース全体のハッシュ値をCPU３２に計算させ、不揮発性メモリ３４に保存させる。
【０１９３】
ステップＳ１６９において、パーソナルコンピュータ１のCPU１１は、ポータブルデバイス６に対して暗号鍵が保存されたことを通知し、その曲の音楽データの削除を要求する。CPU５３は、パーソナルコンピュータ１から、その曲の音楽データの削除が要求されてきたとき、ステップＳ１７０において、フラッシュメモリ６１に記憶されているその曲の音楽データを削除する。
【０１９４】
次に、コンテンツ管理プログラム１１１を実行するCPU１１およびメインプログラムを実行するCPU５３による、ポータブルデバイス６からHDD２１へ音楽データをコピーする場合の処理について、図２２のフローチャートを参照して説明する。この図２２に示すステップＳ１８１乃至ステップＳ１８８の処理は、図２１のポータブルデバイス６からHDD２１へ音楽データを移動させる場合の処理におけるステップＳ１６１乃至ステップＳ１６８の処理と同様の処理である。すなわち、コピー処理の場合は、図２１のステップＳ１６９，Ｓ１７０の処理が省略される点を除いて、移動の場合の処理と基本的に同様の処理となるので、その説明は省略する。
【０１９５】
次に、図２３のフローチャートを参照して、EMDサーバ４およびコンテンツ管理プログラム１１１を実行するCPU１１による、EMDサーバ４から転送を受けた音楽データをHDD２１にコピーする処理について説明する。ステップＳ２０１において、CPU１１は、キーボード１８またはマウス１９を介して使用者からEMDサーバ４へのアクセスが指令されたとき、通信部２５を制御し、ネットワーク２を介してEMDサーバ４にアクセスさせる。EMDサーバ４は、このアクセスに対応して、自分自身が保持している曲の曲番号、曲名、各情報などの情報を、ネットワーク２を介してパーソナルコンピュータ１に転送する。パーソナルコンピュータ１のCPU１１は、通信部２５を介して、この情報を取得したとき、それをインタフェース１７を介してディスプレイ２０に表示させる。使用者は、ディスプレイ２０に表示されたGUIを利用して、ステップＳ２０２において、コピーを希望する曲を指定する。この指定情報は、ネットワーク２を介してEMDサーバ４に転送される。ステップＳ２０３において、CPU１１は、EMDサーバ４との間において、ネットワーク２を介して相互認証処理を実行し、通信用鍵を共有する。
【０１９６】
パーソナルコンピュータ１とEMDサーバ４との間で行われる相互認証処理は、例えば、ISO  ９７９８−３で規定される公開鍵と秘密鍵を用いて行うようにすることができる。この場合、パーソナルコンピュータ１は、自分自身の機密鍵とEMDサーバ４の公開鍵を予め有しており、EMDサーバ４は、自分自身の秘密鍵を有し、相互認証処理が行われる。パーソナルコンピュータ１の公開鍵は、EMDサーバ４から転送したり、あるいはパーソナルコンピュータ１に予め配布されている証明書（certificate）をパーソナルコンピュータ１からEMDサーバ４に転送し、その証明書をEMDサーバ４が確認し、公開鍵を得るようにしてもよい。さらに、ステップＳ２０４において、CPU１１は、EMDサーバ４との間において課金に関する処理を実行する。この課金の処理の詳細は、図２４のフローチャートを参照して後述する。
【０１９７】
次に、ステップＳ２０５において、EMDサーバ４は、パーソナルコンピュータ１に対して、ステップＳ２０２で指定された曲の暗号化されている音楽データをネットワーク２を介してパーソナルコンピュータ１に転送する。このとき、時刻情報も適宜転送される。ステップＳ２０６において、CPU１１は、転送を受けた音楽データをファイル名を付けてHDD２１に１つのファイルとして保存する。ステップＳ２０７において、EMDサーバ４は、さらに、その曲の暗号鍵をステップＳ２０３でパーソナルコンピュータ１と共有した通信用鍵を用いて暗号化し、パーソナルコンピュータ１へ転送する。
【０１９８】
CPU１１は、ステップＳ２０８において、EMDサーバ４より転送を受けた暗号鍵を単独で、またはアダプタ２６のCPU３２と共同して通信用鍵を用いて復号し、復号して得られた暗号鍵を自分自身の保存用鍵で暗号化する。ステップＳ２０９において、CPU１１は、その曲のファイル名、曲の情報、使用者が入力した曲名、暗号化された暗号鍵を組にして、HDD２１の曲データベースに登録する。さらに、ステップＳ２１０において、CPU１１は、その曲データベース全体のハッシュ値をCPU３２に計算させ、不揮発性メモリ３４に保存させる。
【０１９９】
なお、ステップＳ２０５においてEMDサーバ４は、音楽データとともに、時刻データをパーソナルコンピュータ１に送信する。この時刻データは、パーソナルコンピュータ１からアダプタ２６に転送される。アダプタ２６のCPU３２は、パーソナルコンピュータ１より転送されてきた時刻データを受信すると、ステップＳ２１１において、RTC３５の時刻を修正させる。このようにして、相互認証の結果、正しい装置と認識された外部の装置から得られた時刻情報に基づいて、アダプタ２６のRTC３５の時刻情報を修正するようにしたので、アダプタ２６を常に正しい時刻情報を保持することが可能となる。
【０２００】
次に、図２４のフローチャートを参照して、EMDサーバ４およびコンテンツ管理プログラム１１１を実行するCPU１１による、図２３のステップＳ２０４における課金に関する処理の詳細について説明する。ステップＳ２２１において、パーソナルコンピュータ１のCPU１１は、ステップＳ２０１でEMDサーバ４から伝送されてきた価格情報の中から、ステップＳ２０２で指定された選択曲の価格情報を読み取り、これをHDD２１上の課金ログに書き込む。図２５は、このような課金ログの例を表している。この例においては、使用者は、アイテム１乃至アイテム３を、EMDサーバ４からコピーしており、アイテム１とアイテム２の領域は５０円とされ、アイテム３の料金は６０円とされている。その時点における課金ログのハッシュ値も、CPU３２により計算され、不揮発性メモリ３４に登録されている。
【０２０１】
次に、ステップＳ２２２において、パーソナルコンピュータ１のCPU１１は、ステップＳ２２１で書き込んだ課金ログをHDD２１から読み出し、これをネットワーク２を介してEMDサーバ４に転送する。EMDサーバ４は、ステップＳ２２３において、パーソナルコンピュータ１から転送を受けた課金ログに基づく課金計算処理を実行する。すなわち、EMDサーバ４は、内蔵するデータベースに、パーソナルコンピュータ１の使用者から伝送されてきた課金ログを追加更新する。そして、ステップＳ２２４において、EMDサーバ４は、その課金ログについて直ちに決裁するか否かを判定し、直ちに決裁する場合には、ステップＳ２２５に進み、EMDサーバ４は、決裁に必要な商品名、金額などを決裁サーバ（図示せず）に転送する。そして、ステップＳ２２６において、決裁サーバは、パーソナルコンピュータ１の使用者に対する決裁処理を実行する。ステップＳ２２４において、決裁は直ちには行われないと判定された場合、ステップＳ２２５とＳ２２６の処理はスキップされる。すなわち、この処理は、例えば、月に１回など、定期的にその後実行される。
【０２０２】
次に、図２６と図２７のフローチャートを参照して、コンテンツ管理プログラム１１１を実行するCPU１１による、音声入出力インタフェース２４のIEC60958端子から入力された、図示せぬCDプレーヤなどからの再生音楽データを、HDD２１にコピーする場合の処理について説明する。ステップＳ２４１において、使用者は、CDプレーヤのIEC60958出力端子を、パーソナルコンピュータ１の音声入出力インタフェース２４のIEC60958端子に接続する。ステップＳ２４２において、使用者は、キーボード１８またはマウス１９を操作し、CDプレーヤからコピーする曲の曲名（または、曲に対応する番号）を入力する。そして、ステップＳ２４３において使用者は、CDプレーヤのボタンを操作し、CDプレーヤの再生を開始させる。CDプレーヤとパーソナルコンピュータ１との間に制御信号を送受する線が接続されている場合には、パーソナルコンピュータ１のキーボード１８またはマウス１９を介して再生開始指令を入力することで、CDプレーヤにCDの再生を開始させることも可能である。
【０２０３】
CDプレーヤにおいて、CDの再生が開始されると、ステップＳ２４４において、CDプレーヤから出力された音楽データが、IEC60958端子を介してパーソナルコンピュータ１に転送されてくる。ステップＳ２４５において、CPU１１は、IEC60958端子を介して入力されてくるデータから、SCMS（Serial Copy Management System）データを読み取る。このSCMSデータには、コピー禁止、コピー１回限り可能、コピーフリーなどのコピー情報が含まれている。そこで、ステップＳ２４６において、CPU１１は、SCMSデータがコピー禁止を表しているか否かを判定し、コピー禁止を表している場合には、ステップＳ２４７に進み、CPU１１は、ディスプレイ２０に、例えば、「コピーが禁止されています」といったメッセージを表示させ、コピー処理を終了する。すなわち、この場合には、HDD２１へのコピーが禁止される。
【０２０４】
CPU１１は、ステップＳ２４６において、ステップＳ２４５で読み取ったSCMS情報がコピー禁止を表していないと判定した場合、ステップＳ２４８に進み、ウォータマークコードを読み出し、そのウォータマークがコピー禁止を表しているか否かをステップＳ２４９において判定する。ウォータマークコードがコピー禁止を表している場合には、ステップＳ２４７に進み、上述した場合と同様に、所定のメッセージが表示され、コピー処理が終了される。
【０２０５】
ステップＳ２４９において、ウォータマークがコピー禁止を表していないと判定された場合、ステップＳ２５０に進み、期限データベースチェック処理が行われる。期限データベースチェックの結果、選択曲が既に登録されていれば、ステップＳ２５１，Ｓ２５２の処理で、処理が終了される。この処理は、図７のステップＳ１３，Ｓ１４の処理と同様の処理である。
【０２０６】
選択曲がまだHDD２１に登録されていない曲であれば、ステップＳ２５３乃至Ｓ２５８で、その登録処理が実行される。このステップＳ２５３乃至ステップＳ２５８の処理は、ステップＳ２５７において、IEC60958端子から供給されてくるSCMS情報も曲データベースに登録される点を除き、図７のステップＳ１９乃至ステップＳ２４の処理と同様の処理であるので、その説明は省略する。
【０２０７】
次に、図２８と図２９のフローチャートを参照して、コンテンツ管理プログラム１１１を実行するCPU１１による、音楽データをHDD２１からIEC60958端子に出力（再生）する場合の処理について説明する。ステップＳ２７１乃至ステップＳ２７３において、図１８のステップＳ１１１乃至Ｓ１１３における場合と同様に、曲データベース全体のハッシュ値が計算され、前回保存しておいたハッシュ値と一致するか否かが判定され、曲データベースの改竄のチェック処理が行われる。曲データベースの改竄が行われていないと判定された場合、ステップＳ２７４に進み、CPU１１は、HDD２１の曲データベースにアクセスし、そこに登録されている曲の情報を読み出し、ディスプレイ２０に表示させる。使用者は、その表示を見て、キーボード１８またはマウス１９を適宜操作して、再生出力する曲を選択する。ステップＳ２７５において、CPU１１は、選択曲の再生条件等のチェック処理を実行する。この再生条件等のチェック処理の詳細は、図３０のフローチャートを参照して後述する。
【０２０８】
次に、ステップＳ２７６において、CPU１１は、ステップＳ２７４において選択された曲の暗号鍵を曲データベースから読み出し、保存用鍵で復号する。ステップＳ２７７において、CPU１１は、選択曲のSCMS情報を曲データベースから読み出し、IEC60958端子から出力するSCMS情報を、SCMSシステムの規則に従って決定する。例えば、再生回数に制限があるような場合、再生回数は１だけインクリメントされ、新たなSCMS情報とされる。ステップＳ２７８において、CPU１１はさらに、選択曲のISRCを曲データベースから読み出す。
【０２０９】
次に、ステップＳ２７９において、CPU１１は、曲データベースから選択曲ファイル名を読み出し、そのファイル名を基に、その音楽データをHDD２１から読み出す。CPU１１はさらに、その音楽データに対応する暗号鍵を曲データベースから読み出し、保存用鍵で復号し、復号した暗号鍵を用いて、暗号化されている音楽データを復号する。CPU１１は、さらに、その音楽データの圧縮符号を復号する。ステップＳ２８０において、CPU１１は、ステップＳ２７９で、復号したデジタル音楽データを、ステップＳ２７７で決定したSCMS情報、並びにステップＳ２７８で読み出したISRC情報とともに、IEC60958の規定に従って、IEC60958端子から出力する。さらにまた、デジタル音楽データをアナログ化し、音声入出力インタフェース２４のアナログ出力端子から出力する。
【０２１０】
ステップＳ２８１において、CPU１１は、曲データベース中の再生回数カウンタの値を１だけインクリメントする。そして、ステップＳ２８２において、選択曲に再生時課金条件が付加されているか否かを判定する。再生時課金条件が付加されている場合には、ステップＳ２８３に進み、CPU１１は、対応する料金を課金ログに書き込み、ステップＳ２８４において、曲データベース全体のハッシュ値をCPU３２に計算させ、不揮発性メモリ３４に記憶させる。ステップＳ２８２において、選択曲に再生時課金条件が付加されていないと判定された場合、ステップＳ２８３とステップＳ２８４の処理はスキップされる。
【０２１１】
次に、図３０のフローチャートを参照して、コンテンツ管理プログラム１１１を実行するCPU１１による、図２８のステップＳ２７５の再生条件等のチェック処理の詳細について説明する。ステップＳ３０１において、CPU１１は、曲データベースの各種条件を読み出す。ステップＳ３０２においてCPU１１は、読み出した条件のうち、再生回数が制限回数を過ぎているか否かを判定し、過ぎている場合には、ステップＳ３０３に進み、選択曲をHDD２１から削除させるとともに、曲データベースから選択曲の情報を削除させる。ステップＳ３０４において、CPU１１はさらに、曲データベースの新たなハッシュ値をCPU３２に計算させ、そのハッシュ値を不揮発性メモリ３４に保存させる。この場合、再生出力は禁止される。
【０２１２】
ステップＳ３０２において、再生回数が制限回数を過ぎていないと判定された場合、ステップＳ３０５に進み、CPU１１は、再生終了日時が現在日時を過ぎているか否かを判定する。再生終了日時が現在日時を過ぎている場合には、上述した場合と同様にステップＳ３０３において、選択曲をHDD２１から削除させるとともに、曲データベースからも削除させる。そして、ステップＳ３０４において、新たな曲データベースのハッシュ値が計算され、保存される。この場合にも、再生出力は禁止される。
【０２１３】
ステップＳ３０５において、再生終了日時が現在日時を過ぎていないと判定された場合は、ステップＳ３０６に進み、CPU３２は、その選択曲に対して再生時課金条件が付加されているか否かを判定する。再生時課金条件が付加されている場合には、ステップＳ３０７に進み、CPU１１は、再生時課金条件が付加されている旨のメッセージと料金を、ディスプレイ２０に表示させる。ステップＳ３０６において、再生時課金条件が付加されていないと判定された場合、ステップＳ３０７の処理はスキップされる。
【０２１４】
次に、図３１と図３２のフローチャートを参照して、コンテンツ管理プログラム１１１を実行するCPU１１およびメインプログラムを実行するCPU５３による、HDD２１からポータブルデバイス６経由で音楽データを出力（再生）する場合の処理について説明する。ステップＳ３２１乃至ステップＳ３２５において、曲データベースの改竄チェックと選択曲の指定、並びに選択曲の再生条件等のチェック処理が行われる。その処理は、図２８のステップＳ２７１乃至ステップＳ２７５の処理と同様の処理であるので、その説明は省略する。
【０２１５】
ステップＳ３２６において、ポータブルデバイス６とパーソナルコンピュータ１の間で相互認証処理が実行され、相互の間で、通信用鍵が共有される。ステップＳ３２７において、パーソナルコンピュータ１のCPU１１は、ポータブルデバイス６に対して、これから送る暗号化音声データを再生するように命令する。ステップＳ３２８において、CPU１１は、ステップＳ３２４で指定された選択曲のファイル名を曲データベースから読み出し、そのファイル名の音楽データをHDD２１から読み出す。CPU１１は、ステップＳ３２９において、音楽データの圧縮符号化方式、暗号化方式、フォーマットなどをポータブルデバイス６の方式のものに変換する処理を実行する。そして、ステップＳ３３０において、CPU１１は、ステップＳ３２９において変換した音楽データを通信用鍵で暗号化し、ポータブルデバイス６に転送する。
【０２１６】
ステップＳ３３１において、ポータブルデバイス６のCPU５３は、ステップＳ３２７において、パーソナルコンピュータ１から転送されてきた命令に対応して、転送を受けた各データを通信用鍵で復号し、再生出力する。ステップＳ３３２において、CPU１１は、曲データベースの再生回数カウントを１だけインクリメントする。さらに、ステップＳ３３３において、CPU１１は、選択曲に再生時課金条件が付加されているか否かを判定し、付加されている場合には、ステップＳ３３４において、その料金を課金ログに書き込み、ステップＳ３３５において、CPU３２に、曲データベース全体のハッシュ値を新たに計算させ、保存させる。選択曲に再生時課金条件が付加されていない場合には、ステップＳ３３４，ステップＳ３３５の処理はスキップされる。
【０２１７】
本発明においては、音楽データが不正に複製されるのを防止するために、各種の工夫が凝らされている。例えば、CPU１１を動作させるプログラムは、その実行順序が毎回変化するような、いわゆるタンパーレジスタントソフトウェアとされている。
【０２１８】
さらに、上述したように、CPU１１の機能の一部は、ハードウェアとしてのアダプタ２６に分担され、両者が共働して各種の処理を実行するようになされている。これにより、より安全性を高めることが可能となっている。
【０２１９】
例えば、上述したように、曲データベースのハッシュ値は、曲データベース自体に保存されるのではなく、アダプタ２６の不揮発性メモリ３４に保存される。
すなわち、図８のステップＳ３２，Ｓ３３などの前回保存しておいたハッシュ値との比較処理において、比較対象とされる過去のハッシュ値は、不揮発性メモリ３４に記憶されているものとされる。これにより、例えば、HDD２１に保存されている音楽データを、他の記録媒体にコピーまたは移動させる前に、HDD２１の記録内容をバックアップしておき、HDD２１から、そこに保存されている音楽データを他の記録媒体にコピーまたはムーブした後、HDD２１にバックアップしておいたデータを再びリストアするようにすることで、実質的に再現なく、コピーまたはムーブができてしまうようなことが防止される。
【０２２０】
例えば、図３３に示すように、HDD２１に曲Ａ，Ｂが保存されている場合、不揮発性メモリ３４には、曲Ａと曲Ｂの情報に対応するハッシュ値が保存されている。この状態において、HDD２１の記録データを他の記録媒体２５１にバックアップしたとする。その後、HDD２１に保存されている曲Ａと曲Ｂのうち、曲Ａを他の記録媒体２５２に移動させた場合、その時点において、HDD２１に記録されている曲は、曲Ｂだけとなるので、不揮発性メモリ３４のハッシュ値も、曲Ｂに対応するハッシュ値に変更される。
【０２２１】
従って、その後、記録媒体２５１にバックアップしておいたHDD２１の内容をHDD２１にリストアして、HDD２１に、再び曲Ａと曲Ｂを保存させたとしても、不揮発性メモリ３４には、曲Ｂの情報から演算されたハッシュ値が記憶されており、曲Ａと曲Ｂの情報から演算されたハッシュ値は記憶されていない。これにより、その時点において、HDD２１に記憶されている曲Ａと曲Ｂに基づくハッシュ値が、不揮発性メモリ３４に記憶されている過去のハッシュ値と一致しないことになり、曲データベースが改竄されたことが検出される。その結果、以後、HDD２１に保存されている曲Ａと曲Ｂの利用が制限されてしまうことになる。
【０２２２】
さらに、上述したように、アダプタ２６は、RTC３５を内蔵しており、このRTC３５の値は、正しい認証結果が得られた他の装置（例えば、EMDサーバ４）から転送されてきた時刻データに基づいて、その時刻情報を修正する。そして、現在日時としては、パーソナルコンピュータ１が管理するものではなく、RTC３５が出力するものが利用される。従って、使用者が、パーソナルコンピュータ１の現在時刻を故意に過去の時刻に修正し、再生条件としての再生終了日時の判定を免れるようなことができなくなる。
【０２２３】
また、アダプタ２６は、暗号化されて転送されてきたプログラムをROM３６に予め記憶されているプログラムに従って復号し、実行するように構成することで、より安全性が高められている。次に、この点について、図３４のフローチャートを参照して説明する。
【０２２４】
すなわち、パーソナルコンピュータ１は、アダプタ２６に対して、所定の処理を実行させたいとき、ステップＳ３５１において、アダプタ２６に実行させるべきプログラムをRAM１３に予め記憶されている暗号鍵を用いて暗号化してアダプタ２６に転送する。アダプタ２６のROM３６には、パーソナルコンピュータ１から転送されてきた、暗号化されているプログラムを復号し、実行するためのプログラムが予め記憶されている。CPU３２は、このROM３６に記憶されているプログラムに従って、パーソナルコンピュータ１から転送されてきた暗号化されているプログラムをステップＳ３５２において復号する。そして、ステップＳ３１３において、CPU３２は、復号したプログラムをRAM３３に展開し、ステップＳ３５４において、そのプログラムを実行する。
【０２２５】
例えば、上述したように、パーソナルコンピュータ１のCPU１１は、HDD２１の曲データベースのハッシュ値をアダプタ２６に計算させるとき、曲データベースのデータを暗号鍵で暗号化してアダプタ２６のCPU３２に転送する。CPU３２は、転送されてきた曲データベースのデータに対してハッシュ関数を適応し、ハッシュ値を計算する。そして、計算されたハッシュ値を不揮発性メモリ３４に記憶させる。あるいは、そのハッシュ値を、CPU３２は、予め記憶されている過去のハッシュ値と比較し、比較結果をパーソナルコンピュータ１のCPU１１に転送する。
【０２２６】
図３５は、アダプタ２６の内部のより具体的な構成を表している。アダプタ２６は、半導体ICとして形成される。アダプタ２６は、図３に示したインタフェース３１、CPU３２、RAM３３、不揮発性メモリ３４、RTC３５、ROM３６以外に、RAM３３に対する書き込みと読み出しを制御するRAMコントローラ２６１、並びに論理回路２６２を有している。論理回路２６２は、例えば、暗号化されている音楽データを解読した後、解読したデータをアダプタ２６から直接出力するような場合の処理のために用いられる。
【０２２７】
これらのインタフェース３１乃至ROM３６、RAMコントローラ２６１、並びに論理回路２６２は、半導体IC内に一体的に組み込まれ、外部からは分解できないように構成されている。
【０２２８】
水晶振動子２７１は、アダプタ２６が各種の処理を実行する上において、基準となるクロックを生成するとき用いられる。発振回路２７２は、RTC３５を動作させるための発振回路である。バッテリ２７３は、発振回路２７２、不揮発性メモリ３４、およびRTC３５に対してバックアップ用の電力を供給している。アダプタ２６のその他の回路には、パーソナルコンピュータ１の電源供給回路２８１からの電力が供給されている。
【０２２９】
不揮発性メモリ３４は、書き込み消去可能なROMで構成することも可能であるが、バッテリ２７３からのバックアップ電源でバックアップされるRAMで構成する場合には、例えば、図３６に示すように、不揮発性メモリ３４の上に保護アルミニウム層２９１を形成し、さらに、その保護アルミニウム層２９１と同一平面上となるように、不揮発性メモリ３４にバッテリ２７３からの電力を供給する電源パターン２９２を形成するようにすることができる。このようにすると、例えば、不揮発性メモリ３４を改竄すべく、保護アルミニウム層２９１を削除しようとすると、同一平面上の電源パターン２９２も削除されてしまい、不揮発性メモリ３４に対する電力の供給が断たれ、内部に記憶されているデータが消去されてしまうことになる。このように構成することで、タンパーレジスト性をより高めることができる。
【０２３０】
さらに、図３７に示すように、不揮発性メモリ３４に対するデータの書き込みまたは読み出しのための配線３０１−１乃至３０１−３は、対応する位置で、上下（深さ）方向に重なりあうように形成されている。これにより、より下層の配線３０１−３からデータを読み出すためには、上方の配線３０１−１，１０１−２を除去しなければならず、複数の配線３０１−１，３０１−２，３０１−３から同時にデータを読み取ることができなくなる。さらにまた、この配線３０１−１乃至３０１−３を冗長に形成し、直接プローブすると、その付加容量により、その内容を解析することが困難になるようにすることができる。
【０２３１】
以上においては、記録媒体として、ポータブルデバイス６を用いる場合を例として説明したが、本発明は、その他の記録媒体にデータを移転またはコピーする場合にも応用することが可能である。
【０２３２】
また、データは、音楽データ以外に、画像データ、その他のデータとすることもできる。
【０２３３】
以上のように、本発明によれば、次のような効果を奏することができる。
【０２３４】
（１）  HDD２１に暗号化してデータを記録するとともに、暗号鍵も保存用鍵で暗号化した上でHDD２１に記録するようにしたので、HDD２１に記録されている音楽データをコピーしても、これを復号することができないので、複製が大量に配布されることを防止することができる。
【０２３５】
（２）  所定の曲を１回コピーしたとき、一定時間（上記例の場合、４８時間）の間、その曲をコピーすることができないようするために、その曲と録音日時を曲データベース上に登録するようにしたので、そのコピー回数を制限することができ、複製を大量に配布することを防止することができる。
【０２３６】
さらにデータベースを更新する度に、データのハッシュ値を計算し保存するようにしたので、データベースの改竄を防止することが容易となる。
【０２３７】
（３）  外部の装置に音楽データを渡したら、HDD２１上の音楽データを消去するようにしたので、HDD２１内に元のデジタル音楽データが残らず、その複製を大量に配布することが防止される。
【０２３８】
（４）  HDD２１内に曲データベースを設け、全体のハッシュ値を毎回チェックするようにしたので、HDD２１の内容をムーブの直前にバックアップし、ムーブ直後にバックアップしたデータをHDD２１にリストアするようにしたとしても、送り元のデータを確実に消去することが可能となる。
【０２３９】
（５）  パーソナルコンピュータ１が外部の機器にデータを渡すとき、その前に相互認証処理を行うようにしたので、不正な機器にデータを渡してしまうようなことが防止される。
【０２４０】
（６）  外部機器から、パーソナルコンピュータ１に対してデータを渡す前に、パーソナルコンピュータ１のソフトウェアが正当なものであるか否かを相互認証により確認するようにしたので、不正なソフトウェアに対して音楽データを渡してしまうようなことが防止される。
【０２４１】
（７）  曲の同一性の判定にISRCを用い、ISRCが取得できないときは、TOCを用いるようにしたので、ISRCが取得できなくとも、曲の同一性を判定することが可能になる。
【０２４２】
（８）  パーソナルコンピュータ１におけるソフトウェア機能のうち、所定の部分をパーソナルコンピュータ１に外付けされるアダプタ２６に負担させるようにしたので、パーソナルコンピュータ１のソフトウェアを解析しただけでは、全体としてどのような処理となっているのかが判らないので、ソフトウェアを改竄をして、意図する機能を持たせるようなことが困難となる。
【０２４３】
なお、アダプタ２６が実行する処理は、セキュアなプログラムでCPU１１が実行するようにしてもよい。この場合において、パーソナルコンピュータ１は、アダプタ２６のRTC３５が供給する現在時刻に代えて、ネットワーク２に接続されている特定のサーバ（例えば、EMD登録サーバ３）から現在時刻のデータをダウンロードして、その現在時刻を基に、判定の処理を実行する。また、この場合において、パーソナルコンピュータ１は、所定の時間間隔で現在時刻を記憶して、記憶している時刻より以前の時刻が設定されたとき、エラーの表示を行い、時刻の設定を受け付けないようにしてもよい。
【０２４４】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【０２４５】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図３に示すように、磁気ディスク４１（フロッピディスクを含む）、光ディスク４２（CD-ROM(Compact Disc-Read Only Memory)、ＤＶＤ(Digital Versatile Disc)を含む）、光磁気ディスク４３（ＭＤ(Mini-Disc)を含む）、若しくは半導体メモリ４４などよりなるパッケージメディア、または、プログラムが一時的若しくは永続的に格納されるROM１２や、HDD２１などにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じて通信部２５などのインタフェースを介して、ローカルエリアネットワークまたはインターネットなどのネットワーク２、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２４６】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２４７】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２４８】
【発明の効果】
本発明によれば、ユーザの利益を大きく損なうことなく、大量の複製を実質的に禁止することができるようになる。
【図面の簡単な説明】
【図１】  SCMSおよびCGMSを説明するための図である。
【図２】本発明に係る音声データ管理システムの一実施の形態を示す図である。
【図３】パーソナルコンピュータ１の構成を説明する図である。
【図４】ポータブルデバイス６の構成を説明する図である。
【図５】パーソナルコンピュータ１の機能の構成を説明するブロック図である。
【図６】録音プログラム１１３がディスプレイ２０に表示させるウィンドウの例を説明する図である。
【図７】コンパクトディスクからHDD２１にコピーする場合の処理を説明するフローチャートである。
【図８】図７のステップＳ１２の期限データベースチェック処理を説明するフローチャートである。
【図９】期限データベースの例を示す図である。
【図１０】ウォータマークを説明する図である。
【図１１】曲データベースの例を示す図である。
【図１２】  HDD２１からポータブルデバイス６へデータを移動する動作を説明するフローチャートである。
【図１３】  HDD２１からポータブルデバイス６へデータを移動する動作を説明するフローチャートである。
【図１４】  HDD２１からポータブルデバイス６へデータを移動する作を説明するフローチャートである。
【図１５】図１２のステップＳ５５の選択曲の再生条件などのチェック処理を説明するフローチャートである。
【図１６】ポータブルデバイス６が管理している再生条件を説明する図である。
【図１７】図１２のステップＳ５８のフォーマット変換処理の詳細を説明するフローチャートである。
【図１８】  HDD２１からポータブルデバイス６へデータをコピーする場合の動作を説明するフローチャートである。
【図１９】  HDD２１からポータブルデバイス６へデータをコピーする場合の動作を説明するフローチャートである。
【図２０】  HDD２１からポータブルデバイス６へデータをコピーする場合の動作を説明するフローチャートである。
【図２１】ポータブルデバイス６からHDD２１へデータを移動する場合の動作を説明するフローチャートである。
【図２２】ポータブルデバイス６からHDD２１へデータをコピーする場合の動作を説明フローチャートである。
【図２３】  EMDサーバ４からHDD２１へデータをコピーする場合の処理を説明するフローチャートである。
【図２４】図２３のステップＳ２０４の課金に関する処理の詳細を説明するフローチャートである。
【図２５】課金ログを説明する図である。
【図２６】図３のパーソナルコンピュータ１のIEC60958端子からHDD２１へデータをコピーする２合の処理を説明するフローチャートである。
【図２７】図３のパーソナルコンピュータ１のIEC60958端子からHDD２１へデータをコピーする場合の処理を説明するフローチャートである。
【図２８】  HDD２１からIEC60958端子にデータを出力する場合の動作を説明するフローチャートである。
【図２９】  HDD２１からIEC60958端子にデータを出力する場合の動作を説明するフローチャートである。
【図３０】図２８のステップＳ２７５の再生条件などのチェック処理を説明するフローチャートである。
【図３１】  HDD２１からポータブルデバイス６経由でデータを出力する場合の動作を説明するフローチャートである。
【図３２】  HDD２１からポータブルデバイス６経由でデータを出力する場合の動作を説明するフローチャートである。
【図３３】不揮発性メモリ３４の機能を説明する図である。
【図３４】アダプタ２６の動作を説明するフローチャートである。
【図３５】アダプタ２６の内部の構成を示す図である。
【図３６】不揮発性メモリ３４の内部の構成例を示す図である。
【図３７】不揮発性メモリ３４の内部の構成例を示す図である。
【符号の説明】
１  パーソナルコンピュータ，  ２  ネットワーク，  ３  EMD登録サーバ，１１  CPU，  １２  ROM，  １３  RAM，  ２１  HDD，  ２４  音声入出力インターフェース，  ２６  アダプタ，  ３２  CPU，  ３３  RAM，  ３４  不揮発性メモリ，  ３５  RTC，  ３６  ROM，  ４１  磁気ディスク，  ４２  光ディスク，  ４３  光磁気ディスク，  ４４  半導体メモリ，  ５３  CPU，  ５４  RAM，  ５５  ROM，  ５９  DSP，  ６１  フラッシュメモリ，  １１１  コンテンツ管理プログラム，  １１２  表示操作指示プログラム，  １１３  録音プログラム，  １１４  コンテンツデータベース，  １３１  EMD選択プログラム，  １３２  チェックイン／チェックアウト管理プログラム，  １３３  暗号方式変換プログラム，  １３４  圧縮方式変換プログラム，  １３５  暗号化プログラム，  １３６  利用条件変換プログラム，  １３７  署名管理プログラム，  １３８  認証プログラム，  １３９  復号プログラム，  １４０  PD用ドライバ，  １４１  購入用ドライバ，  １４２  購入用ドライバ，  １８１  フィルタリングデータファイル，  １８２  表示データファイル，  １８３  画像ファイル，  １８４  履歴データファイル
【図１】
0004568933.tif 000002
【図２】
0004568933.tif 000003
【図３】
0004568933.tif 000004
【図４】
0004568933.tif 000005
【図５】
0004568933.tif 000006
【図６】
0004568933.tif 000007
【図７】
0004568933.tif 000008
【図８】
0004568933.tif 000009
【図９】
0004568933.tif 000010
【図１０】
0004568933.tif 000011
【図１１】
0004568933.tif 000012
【図１２】
0004568933.tif 000013
【図１３】
0004568933.tif 000014
【図１４】
0004568933.tif 000015
【図１５】
0004568933.tif 000016
【図１６】
0004568933.tif 000017
【図１７】
0004568933.tif 000018
【図１８】
0004568933.tif 000019
【図１９】
0004568933.tif 000020
【図２０】
0004568933.tif 000021
【図２１】
0004568933.tif 000022
【図２２】
0004568933.tif 000023
【図２３】
0004568933.tif 000024
【図２４】
0004568933.tif 000025
【図２５】
0004568933.tif 000026
【図２６】
0004568933.tif 000027
【図２７】
0004568933.tif 000028
【図２８】
0004568933.tif 000029
【図２９】
0004568933.tif 000030
【図３０】
0004568933.tif 000031
【図３１】
0004568933.tif 000032
【図３２】
0004568933.tif 000033
【図３３】
0004568933.tif 000034
【図３４】
0004568933.tif 000035
【図３５】
0004568933.tif 000036
【図３６】
0004568933.tif 000037
【図３７】
0004568933.tif 000038