JP4300442B2 - Information processing apparatus and method, and program storage medium - Google Patents
Information processing apparatus and method, and program storage medium Download PDFInfo
- Publication number
- JP4300442B2 JP4300442B2 JP2000039265A JP2000039265A JP4300442B2 JP 4300442 B2 JP4300442 B2 JP 4300442B2 JP 2000039265 A JP2000039265 A JP 2000039265A JP 2000039265 A JP2000039265 A JP 2000039265A JP 4300442 B2 JP4300442 B2 JP 4300442B2
- Authority
- JP
- Japan
- Prior art keywords
- content
- data
- key
- program
- personal computer
- 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 - Lifetime
Links
Images
Landscapes
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置および方法、並びにプログラム格納媒体に関し、特に、通信路の途中でデータ漏洩し、複製されるのを防止することができるようにした、情報処理装置および方法、並びにプログラム格納媒体に関する。
【0002】
【従来の技術】
最近、デジタル技術の普及にともない、音楽データ、画像データなどの各種のデータがデジタル的に記録媒体に記録または再生されるようになってきた。その結果、複数回コピーしても、画質あるいは音質が劣化しないデータを得ることが可能となってきた。
【0003】
【発明が解決しようとする課題】
しかしながら、このようにデジタル技術が発達してくると、次のような問題が発生する。
【0004】
(1) 例えば、コンパクトディスク(CD)からパーソナルコンピュータのハードディスクにデジタル音楽データをコピーする場合、CDからの音楽データが、そのまま、あるいは圧縮符号化されてハードディスクに記録されるので、例えば、インターネットなどのネットワークを介して複製を違法に大量に配布することができてしまう。
【0005】
(2) CDからパーソナルコンピュータのハードディスクにデジタル音楽データをコピーする場合、そのコピーの回数に制限がないため、複製が大量に配布されてしまう。
【0006】
(3) パーソナルコンピュータのハードディスク内のデジタル音楽データを、例えば、ポータブルデバイスなどの外部の機器に移す場合、移した後もハードディスク内に元のデジタル音楽データが残るので、複製が大量に配布できてしまう恐れがある。
【0007】
(4) 上記した(3)の問題を防止するために、デジタル音楽データを外部の機器に移した後に、データの送り元としてのハードディスクのデータを消去するように(いわゆる、音楽データをムーブするように)パーソナルコンピュータのソフトウェアを作成しておけばよいが、例えば、ムーブの前にハードディスクの内容を別の記録媒体へバックアップしておき、ムーブの後に、バックアップしたデータをハードディスクにリストアすれば、結局、ムーブしたはずのデータがハードディスクに残ってしまうことになる。
【0008】
(5) パーソナルコンピュータが、ハードディスク内のデジタル音楽データをポータブルデバイスなどの外部の機器に移す場合、外部機器がどのような機器であるかを確認しないため、違法な機器にデジタル音楽データが渡されてしまう恐れがある。
【0009】
(6) ポータブルデバイスなどの外部の機器から、パーソナルコンピュータにデジタル音楽データを渡す場合、そのパーソナルコンピュータを制御しているソフトウェアがどのようなソフトウェアであるかを確認しないため、違法なソフトウェアに対してデジタル音楽データが渡されてしまう恐れがある。
【0010】
(7) CDより再生された音楽データをパーソナルコンピュータで取り扱うとき、複数の曲が同一か否かを判断するために、曲データに含まれるISRC(International Standard Recording Code)を使用することが可能であるが、CDによっては、ISRCデータを含んでいないものがある。この場合、複数の曲が同一であるか否かを判定することができなくなる。
【0011】
(8) 以上のような各機能は、パーソナルコンピュータ上で、ソフトウェアの制御により実現されるため、そのソフトウェアが改竄されると、システムの作成者が意図しない動作を行わせることができてしまう。
【0012】
本発明はこのような状況に鑑みてなされたものであり、ハードディスク内のデジタル音楽データを外部の機器に渡す場合に、音楽データが漏洩し、不正に複製されるのを防止するようにするものである。
【0013】
【課題を解決するための手段】
請求項1に記載の情報処理装置は、第1の装置との間で所定の暗号鍵を用いて暗号化されたデータを授受する授受手段と、所定の固定鍵と保存用鍵を保持する保持手段と、第1の装置との間でデータを授受するとき、保持手段に保持されている固定鍵を利用して、第1の装置と相互認証処理を行い、通信用鍵を生成する認証手段と、暗号鍵を、保存用鍵で暗号化する暗号化手段と、授受手段により受信された、暗号鍵で暗号化されているデータを、暗号化手段により暗号化された暗号鍵と対応させて蓄積する蓄積手段とを含むことを特徴とする。
【0014】
情報処理装置は、蓄積手段に蓄積されている暗号鍵を、保存用鍵を用いて復号する暗号鍵復号手段と、暗号鍵復号手段により復号された暗号鍵を用いて、蓄積手段に蓄積されているデータを復号するデータ復号手段とをさらに含むようにすることができる。
データを所定の方式で圧縮する圧縮手段をさらに設け、蓄積手段に蓄積されたデータを第2の装置に出力するとき、圧縮手段に、第2の装置が利用可能な圧縮方式でデータを圧縮させることができる。
暗号化手段はさらに、蓄積手段に蓄積されたデータを第2の装置に出力するとき、第2の装置が利用可能な暗号化方式でデータを暗号化するようにすることができる。
【0015】
請求項5に記載の情報処理方法は、第1の装置との間で所定の暗号鍵を用いて暗号化されたデータを授受する授受ステップと、所定の固定鍵と保存用鍵を保持する保持ステップと、第1の装置との間でデータを授受するとき、保持ステップの処理で保持された固定鍵を利用して、第1の装置と相互認証処理を行い、通信用鍵を生成する認証ステップと、暗号鍵を、保存用鍵で暗号化する暗号化ステップと、授受ステップの処理で受信された、暗号鍵で暗号化されているデータを、暗号化ステップの処理で暗号化された暗号鍵と対応させて蓄積する蓄積ステップとを含むことを特徴とする。
【0016】
請求項6に記載のプログラム格納媒体のプログラムは、第1の装置との間で所定の暗号鍵を用いて暗号化されたデータを授受する授受ステップと、所定の固定鍵と保存用鍵を保持する保持ステップと、第1の装置との間でデータを授受するとき、保持ステップの処理で保持された固定鍵を利用して、第1の装置と相互認証処理を行い、通信用鍵を生成する認証ステップと、暗号鍵を、保存用鍵で暗号化する暗号化ステップと、授受ステップの処理で受信された、暗号鍵で暗号化されているデータを、暗号化ステップの処理で暗号化された暗号鍵と対応させて蓄積する蓄積ステップとを含むことを特徴とする。
【0017】
請求項1に記載の情報処理装置、請求項5に記載の情報処理方法、および請求項6に記載のプログラム格納媒体においては、第1の装置との間で所定の暗号鍵を用いて暗号化されたデータが授受され、所定の固定鍵と保存用鍵が保持され、第1の装置との間でデータを授受するとき、保持された固定鍵を利用して、第1の装置と相互認証処理を行い、通信用鍵が生成され、暗号鍵が、保存用鍵で暗号化され、受信された、暗号鍵で暗号化されているデータが、暗号化された暗号鍵と対応させて蓄積される。
【0018】
【発明の実施の形態】
図1は、本発明に係るコンテンツデータ管理システムの一実施の形態を示す図である。パーソナルコンピュータ1は、ローカルエリアネットワークまたはインターネットなどから構成されるネットワーク2に接続されている。パーソナルコンピュータ1は、EMD(Elecrical Music Distribution)サーバ4−1乃至4−3から受信した、または後述するCD(Compact Disc)から読み取った楽音のデータ(以下、コンテンツと称する)を、所定の圧縮の方式(例えば、ATRAC3(商標))に変換するとともにDES(Data Encryption Standard)などの暗号化方式で暗号化して記録する。
【0019】
パーソナルコンピュータ1は、暗号化して記録しているコンテンツに対応して、コンテンツの利用条件を示す利用条件のデータを記録する。
【0020】
利用条件のデータは、例えば、その利用条件のデータに対応するコンテンツを同時に利用することができるポータブルデバイス(Portable Device(PDとも称する))の台数(後述する、いわゆるチェックアウトできるPDの台数)を示す。利用条件のデータに示される数だけコンテンツをチェックアウトしたときでも、パーソナルコンピュータ1は、そのコンテンツを再生できる。
【0021】
または、利用条件のデータは、コピーすることができることを示す。コンテンツをポータブルデバイス6−1乃至6−3にコピーしたとき、パーソナルコンピュータ1は記録しているコンテンツを再生できる。コンテンツの、ポータブルデバイス6−1乃至6−3に記憶させることができる回数は、制限される場合がある。この場合、コピーできる回数は、増えることがない。
【0022】
または、利用条件のデータは、他のパーソナルコンピュータに移動することができるなどを示す。ポータブルデバイス6−1乃至6−3にコンテンツを移動させた後、パーソナルコンピュータ1が記録しているコンテンツは使用できなくなる(コンテンツが削除されるか、または利用条件が変更されて使用できなくなる)。
【0023】
利用条件のデータの詳細は、後述する。
【0024】
パーソナルコンピュータ1は、暗号化して記録しているコンテンツを、コンテンツに関連するデータ(例えば、曲名、または再生条件など)と共に、USB(Universal Sirial Bus)ケーブル7−1を介して、接続されているポータブルデバイス6−1に記憶させるとともに、ポータブルデバイス6−1に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する(以下、チェックアウトと称する)。より詳細には、チェックアウトしたとき、パーソナルコンピュータ1が記録している、そのコンテンツに対応する利用条件のデータのチェックアウトできる回数は、1減らされる。チェックアウトできる回数が0のとき、対応するコンテンツは、チェックアウトすることができない。
【0025】
パーソナルコンピュータ1は、暗号化して記録しているコンテンツを、コンテンツに関連するデータと共に、USBケーブル7−2を介して、接続されているポータブルデバイス6−2に記憶させるとともに、ポータブルデバイス6−2に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する。パーソナルコンピュータ1は、暗号化して記録しているコンテンツを、コンテンツに関連するデータと共に、USBケーブル7−3を介して、接続されているポータブルデバイス6−3に記憶させるとともに、ポータブルデバイス6−3に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する。
【0026】
また、パーソナルコンピュータ1は、USBケーブル7−1を介して、接続されているポータブルデバイス6−1にパーソナルコンピュータ1がチェックアウトしたコンテンツを、ポータブルデバイス6−1に消去させて(または、使用できなくさせて)、消去させたコンテンツに対応する利用条件のデータを更新する(以下、チェックインと称する)。より詳細には、チェックインしたとき、パーソナルコンピュータ1が記録している、対応するコンテンツの利用条件のデータのチェックアウトできる回数は、1増やされる。
【0027】
パーソナルコンピュータ1は、USBケーブル7−2を介して、接続されているポータブルデバイス6−2にパーソナルコンピュータ1がチェックアウトしたコンテンツを、ポータブルデバイス6−2に消去させて(または、使用できなくさせて)、消去させたコンテンツに対応する利用条件のデータを更新する。パーソナルコンピュータ1は、USBケーブル7−3を介して、接続されているポータブルデバイス6−3にパーソナルコンピュータ1がチェックアウトしたコンテンツを、ポータブルデバイス6−3に消去させて(または、使用できなくさせて)、消去させたコンテンツに対応する利用条件のデータを更新する。
【0028】
パーソナルコンピュータ1は、図示せぬ他のパーソナルコンピュータがポータブルデバイス6−1にチェックアウトしたコンテンツをチェックインできない。パーソナルコンピュータ1は、他のパーソナルコンピュータがポータブルデバイス6−2にチェックアウトしたコンテンツをチェックインできない。パーソナルコンピュータ1は、他のパーソナルコンピュータがポータブルデバイス6−3にチェックアウトしたコンテンツをチェックインできない。
【0029】
EMD登録サーバ3は、パーソナルコンピュータ1がEMDサーバ4−1乃至4−3からコンテンツの取得を開始するとき、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、パーソナルコンピュータ1とEMDサーバ4−1乃至4−3との相互認証に必要な認証鍵をパーソナルコンピュータ1に送信するとともに、EMDサーバ4−1乃至4−3に接続するためのプログラムをパーソナルコンピュータ1に送信する。
【0030】
EMDサーバ4−1は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツに関連するデータ(例えば、曲名、または再生制限など)と共に、パーソナルコンピュータ1にコンテンツを供給する。EMDサーバ4−2は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツに関連するデータと共に、パーソナルコンピュータ1にコンテンツを供給する。EMDサーバ4−3は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツに関連するデータと共に、パーソナルコンピュータ1にコンテンツを供給する。
【0031】
EMDサーバ4−1乃至4−3のそれぞれが供給するコンテンツは、同一または異なる圧縮の方式で圧縮されている。EMDサーバ4−1乃至4−3のそれぞれが供給するコンテンツは、同一または異なる暗号化の方式で暗号化されている。
【0032】
WWW(World Wide Web)サーバ5−1は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツを読み取ったCD(例えば、CDのアルバム名、またはCDの販売会社など)、およびCDから読み取ったコンテンツに対応するデータ(例えば、曲名、または作曲者名など)をパーソナルコンピュータ1に供給する。WWWサーバ5−2は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、コンテンツを読み取ったCD、およびCDから読み取ったコンテンツに対応するデータをパーソナルコンピュータ1に供給する。
【0033】
ポータブルデバイス6−1は、パーソナルコンピュータ1から供給されたコンテンツ(すなわち、チェックアウトされたコンテンツ)を、コンテンツに関連するデータ(例えば、曲名、または再生制限など)と共に記憶する。ポータブルデバイス6−1は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。
【0034】
例えば、コンテンツに関連するデータとして記憶されている、再生制限としての再生回数を超えて再生しようとしたとき、ポータブルデバイス6−1は、対応するコンテンツの再生を停止する。コンテンツに関連するデータとして記憶されている再生制限としての、再生期限を過ぎた後に再生しようとしたとき、ポータブルデバイス6−1は、対応するコンテンツの再生を停止する。
【0035】
使用者は、コンテンツを記憶したポータブルデバイス6−1をパーソナルコンピュータ1から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【0036】
ポータブルデバイス6−2は、パーソナルコンピュータ1から供給されたコンテンツを、コンテンツに関連するデータと共に記憶する。ポータブルデバイス6−2は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。使用者は、コンテンツを記憶したポータブルデバイス6−2をパーソナルコンピュータ1から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【0037】
ポータブルデバイス6−3は、パーソナルコンピュータ1から供給されたコンテンツを、コンテンツに関連するデータと共に記憶する。ポータブルデバイス6−3は、コンテンツに関連するデータに基づいて、記憶しているコンテンツを再生し、図示せぬヘッドフォンなどに出力する。使用者は、コンテンツを記憶したポータブルデバイス6−3をパーソナルコンピュータ1から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
【0038】
以下、ポータブルデバイス6−1乃至6−3を個々に区別する必要がないとき、単にポータブルデバイス6と称する。
【0039】
図2は、パーソナルコンピュータ1の構成を説明する図である。CPU(Central Processing Unit)11は、各種アプリケーションプログラム(詳細については後述する)や、OS(Operating System)を実際に実行する。ROM(Read-only Memory)12は、一般的には、CPU11が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM(Random-Access Memory)13は、CPU11の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはCPUバスなどから構成されるホストバス14により相互に接続されている。
【0040】
ホストバス14は、ブリッジ15を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス16に接続されている。
【0041】
キーボード18は、CPU11に各種の指令を入力するとき、使用者により操作される。マウス19は、ディスプレイ20の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ20は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)21は、ハードディスクを駆動し、それらにCPU11によって実行するプログラムや情報を記録または再生させる。
【0042】
ドライブ22は、装着されている磁気ディスク41、光ディスク42(CDを含む)、光磁気ディスク43、または半導体メモリ44に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース17、外部バス16、ブリッジ15、およびホストバス14を介して接続されているRAM13に供給する。
【0043】
USBポート23−1には、USBケーブル7−1を介して、ポータブルデバイス6−1が接続される。USBポート23−1は、インターフェース17、外部バス16、ブリッジ15、またはホストバス14を介して、HDD21、CPU11、またはRAM13から供給されたデータ(例えば、コンテンツまたはポータブルデバイス6−1のコマンドなどを含む)をポータブルデバイス6−1に出力する。
【0044】
USBポート23−2には、USBケーブル7−2を介して、ポータブルデバイス6−2が接続される。USBポート23−2は、インターフェース17、外部バス16、ブリッジ15、またはホストバス14を介して、HDD21、CPU11、またはRAM13から供給されたデータ(例えば、コンテンツまたはポータブルデバイス6−2のコマンドなどを含む)をポータブルデバイス6−2に出力する。
【0045】
USBポート23−3には、USBケーブル7−3を介して、ポータブルデバイス6−3が接続される。USBポート23−3は、インターフェース17、外部バス16、ブリッジ15、またはホストバス14を介して、HDD21、CPU11、またはRAM13から供給されたデータ(例えば、コンテンツまたはポータブルデバイス6−3のコマンドなどを含む)をポータブルデバイス6−3に出力する。
【0046】
IEC(Internationl Electrotechnical Commission)60958端子24aを有する音声入出力インタフェース24は、デジタル音声入出力、あるいはアナログ音声入出力のインタフェース処理を実行する。スピーカ45は、音声入出力インタフェース24から供給された音声信号を基に、コンテンツに対応する所定の音声を出力する。
【0047】
これらのキーボード18乃至音声入出力インタフェース24は、インターフェース17に接続されており、インターフェース17は、外部バス16、ブリッジ15、およびホストバス14を介してCPU11に接続されている。
【0048】
通信部25は、ネットワーク2が接続され、CPU11、またはHDD21から供給されたデータ(例えば、登録の要求、またはコンテンツの送信要求など)を、所定の方式のパケットに格納して、ネットワーク2を介して、送信するとともに、ネットワーク2を介して、受信したパケットに格納されているデータ(例えば、認証鍵、またはコンテンツなど)をCPU11、RAM13、またはHDD21に出力する。
【0049】
半導体ICとして、一体的に形成され、パーソナルコンピュータ1に装着されるアダプタ26のCPU32は、外部バス16、ブリッジ15、およびホストバス14を介してパーソナルコンピュータ1のCPU11と共働し、各種の処理を実行する。RAM33は、CPU32が各種の処理を実行する上において必要なデータやプログラムを記憶する。不揮発性メモリ34は、パーソナルコンピュータ1の電源がオフされた後も保持する必要があるデータを記憶する。ROM36には、パーソナルコンピュータ1から、暗号化されているプログラムが転送されてきたとき、それを復号するプログラムが記憶されている。RTC(Real Time Clock)35は、計時動作を実行し、時刻情報を提供する。
【0050】
通信部25およびアダプタ26は、外部バス16、ブリッジ15、およびホストバス14を介してCPU11に接続されている。
【0051】
以下、USBポート23−1乃至23−3を個々に区別する必要がないとき、単に、USBポート23と称する。以下、USBケーブル7−1乃至7−3を個々に区別する必要がないとき、単にUSBケーブル7と称する。
【0052】
次に、ポータブルデバイス6の構成を図3を参照して説明する。電源回路52は、乾電池51から供給される電源電圧を所定の電圧の内部電力に変換して、CPU53乃至表示部67に供給することにより、ポータブルデバイス6全体を駆動させる。
【0053】
USBコントローラ57は、USBコネクタ56を介して、パーソナルコンピュータ1とUSBケーブル7を介して接続された場合、パーソナルコンピュータ1から転送されたコンテンツを含むデータを、内部バス58を介して、CPU53に供給する。
【0054】
パーソナルコンピュータ1から転送されるデータは、1パケット当たり64バイトのデータから構成され、12Mbit/secの転送レートでパーソナルコンピュータ1から転送される。
【0055】
ポータブルデバイス6に転送されるデータは、ヘッダおよびコンテンツから構成される。ヘッダには、コンテンツID、ファイル名、ヘッダサイズ、コンテンツ鍵、ファイルサイズ、コーデックID、ファイル情報などが格納されていると共に、再生制限処理に必要な再生制限データ、開始日時、終了日時、回数制限、および再生回数カウンタなどが格納されている。コンテンツは、ATRAC3などの符号化方式で符号化され、暗号化されている。
【0056】
ヘッダサイズは、ヘッダのデータ長(例えば、33バイトなど)を表し、ファイルサイズは、コンテンツのデータ長(例えば、33,636,138バイトなど)を表す。
【0057】
コンテンツ鍵は、暗号化されているコンテンツを復号するための鍵であり、パーソナルコンピュータ1とポータブルデバイス6との相互認証の処理で生成されたセッション鍵(一時鍵)を基に暗号化された状態で、パーソナルコンピュータ1からポータブルデバイス6に送信される。
【0058】
ポータブルデバイス6がUSBケーブル7を介してパーソナルコンピュータ1のUSBポート23に接続されたとき、ポータブルデバイス6とパーソナルコンピュータ1とは、相互認証の処理を実行する。この相互認証の処理は、例えば、チャレンジレスポンス方式の認証の処理である。ちなみに、ポータブルデバイス6のDSP59は、チャレンジレスポンス方式の認証の処理を行うとき、暗号解読(復号)の処理を実行する。
【0059】
チャレンジレスポンス方式とは、例えば、パーソナルコンピュータ1が生成するある値(チャレンジ)に対して、ポータブルデバイス6がパーソナルコンピュータ1と共有している秘密鍵を使用して生成した値(レスポンス)で応答する方式である。チャレンジレスポンス方式の相互認証の処理においては、パーソナルコンピュータ1が生成する値は認証の処理毎に毎回変化するので、例えば、ポータブルデバイス6が出力した、秘密鍵を使用して生成された値が読み出されて、いわゆる、なりすましの攻撃を受けても、次の相互認証の処理では、相互認証に使用される値が異なるので、パーソナルコンピュータ1は不正を検出できる。
【0060】
コンテンツIDは、コンテンツに対応した、コンテンツを特定するためのIDである。
【0061】
コーデックIDは、コンテンツの符号化方式に対応したIDであり、例えば、コーデックID”1”は、ATRAC3に対応し、コーデックID”0”は、MP3(MPEG(Moving Picture Experts Group) Audio Layer-3)に対応する。
【0062】
ファイル名は、コンテンツに対応するパーソナルコンピュータ1が記録しているコンテンツファイル(後述する)をASCII(American National Standard Code for Information Interchange)コードに変換したデータであり、ファイル情報は、コンテンツに対応する曲名、アーティスト名、作詞者名、または作曲者名などをASCIIコードに変換したデータである。
【0063】
再生制限データは、コンテンツの再生が可能な期間(すなわち、開始日時または終了日時)または回数制限(再生の回数の制限)が設定されているか否かを示すデータである。再生制限データには、回数制限が設定されているとき、”1”が割り当てられ、再生が可能な期間が設定されているとき、”2”が割り当てられ、回数制限および再生が可能な期間がいずれも設定されていないとき(いわゆる、買い取りで購入されたとき)、”0”が割り当てられる。
【0064】
開始日時および終了日時は、再生制限データが”2”であるとき、再生可能期間の範囲を示すデータである。例えば、開始日時が”00040F”であり、終了日時が”00070F”であるとき、対応するコンテンツは、2000年4月15日から2000年7月15日まで、再生が可能である。
【0065】
同様に、回数制限および再生回数カウンタは、再生制限データが”1”または”2”であるとき、回数制限は、そのコンテンツに対応して予め設定された再生可能な回数であり、再生回数カウンタは、そのコンテンツの再生の処理を実行したときCPU53により更新される、コンテンツが再生された回数を示す。例えば、回数制限が”02”であるとき、そのコンテンツの再生可能な回数は2回であり、再生回数カウンタが”01”であるとき、そのコンテンツが再生された回数は1回である。
【0066】
例えば、再生制限データが”2”であり、開始日時が”00040F”であり、終了日時が”00070F”であり、回数制限が”02”であるとき、ポータブルデバイス6は、対応するコンテンツを、2000年4月15日から2000年7月15日までの期間において、1日2回ずつ繰り返し再生できる。
【0067】
例えば、再生制限データが”1”であり、開始日時が”000000”であり、終了日時が”000000”であり、回数制限が”0a”であり、再生回数カウンタが”05”であるとき、対応するコンテンツは、再生可能な期間の制限がなく、再生可能な回数が10回であり、再生された回数が5回である。
【0068】
ポータブルデバイス6が、パーソナルコンピュータ1からコンテンツと共にコンテンツの書き込み命令を受信した場合、ROM55からRAM54に読み出したメインプログラムを実行するCPU53は、書き込み命令を受け取り、フラッシュメモリコントローラ60を制御して、パーソナルコンピュータ1から受信したコンテンツをフラッシュメモリ61に書き込ませる。
【0069】
フラッシュメモリ61は、約64MByteの記憶容量を有し、コンテンツを記憶する。また、フラッシュメモリ61には、所定の圧縮方式で圧縮されているコンテンツを伸張するための再生用コードが予め格納されている。
【0070】
なお、フラッシュメモリ61は、ポータブルデバイス6にメモリカードとして着脱可能とすることができる。
【0071】
使用者による、図示せぬ再生/停止ボタンの押し下げ操作に対応した再生命令が操作キーコントローラ62を介してCPU53に供給されると、CPU53は、フラッシュメモリコントローラ60に、フラッシュメモリ61から、再生用コードとコンテンツとを読み出させ、DSP59に転送させる。
【0072】
DSP59は、フラッシュメモリ61から転送された再生用コードに基づいてコンテンツをCRC(Cyclic Redundancy Check)方式で誤り検出をした後、再生して、再生したデータ(図3中においてD1で示す)をディジタル/アナログ変換回路63に供給する。
【0073】
DSP59は、内部に設けられた図示せぬ発信回路とともに一体に構成され、外付けされた水晶で成る発信子59AからのマスタークロックMCLKを基に、コンテンツを再生するとともに、マスタークロックMCLK、マスタークロックMCLKを基に内部の発振回路で生成した所定の周波数のビットクロックBCLK、並びにフレーム単位のLチャンネルクロックLCLK、およびRチャンネルクロックRCLKからなる動作クロックLRCLKをディジタルアナログ変換回路63に供給する。
【0074】
DSP59は、コンテンツを再生するとき、再生用コードに従って上述の動作クロックをディジタルアナログ変換回路63に供給して、コンテンツを再生しないとき、再生用コードに従って動作クロックの供給を停止して、ディジタルアナログ変換回路63を停止させて、ポータブルデバイス6全体の消費電力量を低減する。
【0075】
同様に、CPU53およびUSBコントローラ57も、水晶でなる発振子53Aまたは57Aがそれぞれ外付けされ、発振子53Aまたは57Aからそれぞれ供給されるマスタークロックMCLKに基づき、所定の処理を実行する。
【0076】
このように構成することで、ポータブルデバイス6は、CPU53,DSP59,USBコントローラ57等の各回路ブロックに対してクロック供給を行うためのクロック発生モジュールが不要となり、回路構成を簡素化すると共に小型化することができる。
【0077】
ディジタルアナログ変換回路63は、再生したコンテンツをアナログの音声信号に変換して、これを増幅回路64に供給する。増幅回路64は、音声信号を増幅して、ヘッドフォンジャック65を介して、図示せぬヘッドフォンに音声信号を供給する。
【0078】
このように、ポータブルデバイス6は、図示せぬ再生/停止ボタンが押圧操作されたとき、CPU53の制御に基づいてフラッシュメモリ61に記憶されているコンテンツを再生するとともに、再生中に再生/停止ボタンが押圧操作されたとき、コンテンツの再生を停止する。
【0079】
ポータブルデバイス6は、停止後に再度再生/停止ボタンが押圧操作されたとき、CPU53の制御に基づいて停止した位置からコンテンツの再生を再開する。再生/停止ボタンが押圧操作により再生を停止して操作が加わることなく数秒間経過したとき、ポータブルデバイス6は、自動的に電源をオフして消費電力を低減する。
【0080】
因みに、ポータブルデバイス6は、電源がオフになった後に再生/停止ボタンが押圧操作されたとき、前回の停止した位置からコンテンツを再生せず、1曲目から再生する。
【0081】
また、ポータブルデバイス6のCPU53は、LCDコントローラ68を制御して、表示部67に、再生モードの状態(例えば、リピート再生、イントロ再生など)、イコライザ調整(すなわち、音声信号の周波数帯域に対応した利得の調整)、曲番号、演奏時間、再生、停止、早送り、早戻しなどの状態、音量および乾電池51の残量等の情報を表示させる。
【0082】
さらに、ポータブルデバイス6は、EEPROM68に、フラッシュメモリ80に書き込まれているコンテンツの数、それぞれのコンテンツが書き込まれているフラッシュメモリ61のブロック位置、およびその他種々のメモリ蓄積情報等のいわゆるFAT(File Allocation Table)を格納する。
【0083】
因みに、本実施の形態においては、コンテンツは、64KByteを1ブロックとして扱われ、1曲のコンテンツに対応したブロック位置がFATに格納される。
【0084】
フラッシュメモリ61にFATが格納される場合、例えば、1曲目のコンテンツがCPU53の制御によりフラッシュメモリ61に書き込まれると、1曲目のコンテンツに対応するブロック位置がFATとしてフラッシュメモリ61に書き込まれ、次に、2曲目のコンテンツがフラッシュメモリ61に書き込まれると、2曲目のコンテンツに対応するブロック位置がFATとしてフラッシュメモリ61(1曲目と同一の領域)に書き込まれる。
【0085】
このように、FATは、フラッシュメモリ61へのコンテンツの書き込みの度に書き換えられ、更に、データの保護の為、同一のデータがリザーブ用に2重に書き込まれる。
【0086】
FATがフラッシュメモリ61に書き込まれると、1回のコンテンツの書き込みに対応して、フラッシュメモリ61の同一の領域が2回書き換えられるので、少ないコンテンツの書き込みの回数で、フラッシュメモリ61に規定されている書き換えの回数に達してしまい、フラッシュメモリ61の書き換えができなくなってしまう。
【0087】
そこで、ポータブルデバイス6は、FATをEEPROM68に記憶させて、1回のコンテンツの書き込みに対応するフラッシュメモリ61の書き換えの頻度を少なくしている。
【0088】
書き換えの回数の多いFATをEEPROM68に記憶させることにより、FATをフラッシュメモリ61に記憶させる場合に比較して、ポータブルデバイス6は、コンテンツの書き込みができる回数を数十倍以上に増やすことができる。更に、CPU53は、EEPROM68にFATを追記するように書き込ませるので、EEPROM68の同一の領域の書き換えの頻度を少なくして、EEPROM68が短期間で書き換え不能になることを防止する。
【0089】
ポータブルデバイス6は、USBケーブル7を介してパーソナルコンピュータ1に接続されたとき(以下、これをUSB接続と称する)、USBコントローラ57からCPU53に供給される割り込み信号に基づき、USB接続されたことを認識する。
【0090】
ポータブルデバイス6は、USB接続されたことを認識すると、パーソナルコンピュータ1からUSBケーブル7を介して規定電流値の外部電力の供給を受けるとともに、電源回路52を制御して、乾電池51からの電力の供給を停止させる。
【0091】
CPU53は、USB接続されたとき、DSP59のコンテンツの再生の処理を停止させる。これにより、CPU53は、パーソナルコンピュータ1から供給される外部電力が規定電流値を超えてしまうことを防止して、規定電流値の外部電力を常時受けられるように制御する。
【0092】
このようにCPU53は、USB接続されると、乾電池51から供給される電力からパーソナルコンピュータ1から供給される電力に切り換えるので、電力単価の安いパーソナルコンピュータ1からの外部電力が使用され、電力単価の高い乾電池51の消費電力が低減され、かくして乾電池51の寿命を延ばすことができる。
【0093】
なお、CPU53は、パーソナルコンピュータ1からUSBケーブル7を介して外部電力の供給を受けたとき、DSP59の再生処理を停止させることにより、DSP59からの輻射を低減させ、その結果としてパーソナルコンピュータ1を含むシステム全体の輻射を一段と低減させる。
【0094】
図4は、CPU11の所定のプログラムの実行等により実現される、パーソナルコンピュータ1の機能の構成を説明するブロック図である。コンテンツ管理プログラム111は、EMD選択プログラム131、チェックイン/チェックアウト管理プログラム132、暗号方式変換プログラム135、圧縮方式変換プログラム136、暗号化プログラム137、利用条件変換プログラム139、利用条件管理プログラム140、認証プログラム141、復号プログラム142、PD用ドライバ143、購入用プログラム144、および購入用プログラム145などの複数のプログラムで構成されている。
【0095】
コンテンツ管理プログラム111は、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されて、その処理内容を外部から隠蔽し、その処理内容の読解が困難になる(例えば、使用者が、直接、コンテンツ管理プログラム111を読み出しても、インストラクションを特定できないなど)ように構成されている。
【0096】
EMD選択プログラム131は、コンテンツ管理プログラム111がパーソナルコンピュータ1にインストールされるとき、コンテンツ管理プログラム111には含まれず、後述するEMDの登録の処理において、ネットワーク2を介して、EMD登録サーバ3から受信される。EMD選択プログラム131は、EMDサーバ4−1乃至4−3のいずれかとの接続を選択して、購入用アプリケーション115、または購入用プログラム144若しくは142に、EMDサーバ4−1乃至4−3のいずれかとの通信(例えば、コンテンツを購入するときの、コンテンツのダウンロードなど)を実行させる。
【0097】
チェックイン/チェックアウト管理プログラム132は、チェックインまたはチェックアウトの設定、およびコンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに基づいて、コンテンツファイル161−1乃至161−Nに格納されているコンテンツをポータブルデバイス6−1乃至6−3のいずれかにチェックアウトするか、またはポータブルデバイス6−1乃至6−3に記憶されているコンテンツをチェックインする。
【0098】
チェックイン/チェックアウト管理プログラム132は、チェックインまたはチェックアウトの処理に対応して、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータを更新する。
【0099】
コピー管理プログラム133は、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに基づいて、コンテンツファイル161−1乃至161−Nに格納されているコンテンツをポータブルデバイス6−1乃至6−3のいずれかにコピーするか、またはポータブルデバイス6−1乃至6−3からコンテンツをコンテンツデータベース114にコピーする。
【0100】
移動管理プログラム134は、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに基づいて、コンテンツファイル161−1乃至161−Nに格納されているコンテンツをポータブルデバイス6−1乃至6−3のいずれかに移動するか、またはポータブルデバイス6−1乃至6−3からコンテンツをコンテンツデータベース114に移動する。
【0101】
暗号方式変換プログラム135は、ネットワーク2を介して、購入用アプリケーションプログラム115がEMDサーバ4−1から受信したコンテンツの暗号化の方式、購入用プログラム144がEMDサーバ4−2から受信したコンテンツの暗号化の方式、または購入用プログラム145がEMDサーバ4−3から受信したコンテンツの暗号化の方式を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の暗号化の方式に変換する。
【0102】
また、暗号方式変換プログラム135は、ポータブルデバイス6−1または6−3にコンテンツをチェックアウトするとき、チェックアウトするコンテンツを、ポータブルデバイス6−1または6−3が利用可能な暗号化方式に変換する。
【0103】
圧縮方式変換プログラム136は、ネットワーク2を介して、購入用アプリケーションプログラム115がEMDサーバ4−1から受信したコンテンツの圧縮の方式、購入用プログラム144がEMDサーバ4−2から受信したコンテンツの圧縮の方式、または購入用プログラム145がEMDサーバ4−3から受信したコンテンツの圧縮の方式を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の圧縮の方式に変換する。
【0104】
また、圧縮方式変換プログラム136は、ポータブルデバイス6−1または6−3にコンテンツをチェックアウトするとき、チェックアウトするコンテンツを、ポータブルデバイス6−1または6−3が利用可能な圧縮の方式に変換する。
【0105】
暗号化プログラム137は、例えばCDから読み取られ、録音プログラム113から供給されたコンテンツ(暗号化されていない)を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の暗号化の方式で暗号化する。
【0106】
圧縮/伸張プログラム138は、例えばCDから読み取られ、録音プログラム113から供給されたコンテンツ(圧縮されていない)を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の符号化の方式で符号化する。圧縮/伸張プログラム138は、符号化されているコンテンツを伸張(復号)する。
【0107】
利用条件変換プログラム139は、ネットワーク2を介して、購入用アプリケーションプログラム115がEMDサーバ4−1から受信したコンテンツの利用条件を示すデータ(いわゆる、Usage Rule)、購入用プログラム144がEMDサーバ4−2から受信したコンテンツの利用条件を示すデータ、または購入用プログラム145がEMDサーバ4−3から受信したコンテンツの利用条件を示すデータを、コンテンツデータベース114が記録している利用条件ファイル162−1乃至162−Nに格納されている利用条件データと同一のフォーマットに変換する。
【0108】
また、利用条件変換プログラム139は、ポータブルデバイス6−1または6−3にコンテンツをチェックアウトするとき、チェックアウトするコンテンツに対応する利用条件のデータを、ポータブルデバイス6−1または6−3が利用可能な利用条件のデータに変換する。
【0109】
利用条件管理プログラム140は、コンテンツのコピー、移動、チェックイン、またはチェックアウトの処理を実行する前に、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータに対応するハッシュ値(後述する)を基に、利用条件のデータの改竄を検出する。利用条件管理プログラム140は、コンテンツのコピー、移動、チェックイン、またはチェックアウトの処理に伴う、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータを更新に対応して、利用条件のデータに対応するハッシュ値を更新する。
【0110】
認証プログラム141は、コンテンツ管理プログラム111と購入用アプリケーションプログラム115との相互認証の処理、およびコンテンツ管理プログラム111と購入用プログラム144との相互認証の処理を実行する。また、認証プログラム141は、EMDサーバ4−1と購入用アプリケーションプログラム115との相互認証の処理、EMDサーバ4−2と購入用プログラム144との相互認証の処理、およびEMDサーバ4−3と購入用プログラム145との相互認証の処理で利用される認証鍵を記憶している。
【0111】
認証プログラム141が相互認証の処理で利用する認証鍵は、コンテンツ管理プログラム111がパーソナルコンピュータ1にインストールされたとき、認証プログラム141に記憶されておらず、表示操作指示プログラム112により登録の処理が正常に実行されたとき、EMD登録サーバ3から供給され、認証プログラム141に記憶される。
【0112】
復号プログラム142は、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツをパーソナルコンピュータ1が再生するとき、コンテンツを復号する。
【0113】
PD用ドライバ143は、ポータブルデバイス6−2に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス6−2から所定のコンテンツをチェックインするとき、ポータブルデバイス6−2にコンテンツまたはポータブルデバイス6−2に所定の処理を実行させるコマンドを供給する。
【0114】
PD用ドライバ143は、ポータブルデバイス6−1に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス6−1から所定のコンテンツをチェックインするとき、デバイスドライバ116−1にコンテンツ、またはデバイスドライバ116−1に所定の処理を実行させるコマンドを供給する。
【0115】
PD用ドライバ143は、ポータブルデバイス6−3に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス6−3から所定のコンテンツをチェックインするとき、デバイスドライバ116−2にコンテンツ、またはデバイスドライバ116−2に所定の処理を実行させるコマンドを供給する。
【0116】
購入用プログラム144は、いわゆる、プラグインプログラムであり、コンテンツ管理プログラム111と共にインストールされ、EMD登録サーバ3からネットワーク2を介して供給され、または所定のCDに記録されて供給される。購入用プログラム144は、パーソナルコンピュータ1にインストールされたとき、コンテンツ管理プログラム111の有する所定の形式のインターフェースを介して、コンテンツ管理プログラム111とデータを送受信する。
【0117】
購入用プログラム144は、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されて、その処理内容を外部から隠蔽し、その処理内容の読解が困難になる(例えば、使用者が、直接、購入用プログラム144を読み出しても、インストラクションを特定できないなど)ように構成されている。
【0118】
購入用プログラム144は、ネットワーク2を介して、EMDサーバ4−2に所定のコンテンツの送信を要求するとともに、EMDサーバ4−2からコンテンツを受信する。また、購入用プログラム144は、EMDサーバ4−2からコンテンツを受信するとき、課金の処理を実行する。
【0119】
購入用プログラム145は、コンテンツ管理プログラム111と共にインストールされるプログラムであり、ネットワーク2を介して、EMDサーバ4−3に所定のコンテンツの送信を要求するとともに、EMDサーバ4−3からコンテンツを受信する。また、購入用プログラム145は、EMDサーバ4−3からコンテンツを受信するとき、課金の処理を実行する。
【0120】
表示操作指示プログラム112は、フィルタリングデータファイル181、表示データファイル182、画像ファイル183−1乃至183−K、または履歴データファイル184を基に、ディスプレイ20に所定のウィンドウの画像を表示させ、キーボード18またはマウス19への操作を基に、コンテンツ管理プログラム111にチェックインまたはチェックアウトなどの処理の実行を指示する。
【0121】
フィルタリングデータファイル181は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツそれぞれに重み付けをするためのデータを格納して、HDD21に記録されている。
【0122】
表示データファイル182は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツに対応するデータを格納して、HDD21に記録されている。
【0123】
画像ファイル183−1乃至183−Kは、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに対応する画像、または後述するパッケージに対応する画像を格納して、HDD21に記録されている。
【0124】
以下、画像ファイル183−1乃至183−Kを個々に区別する必要がないとき、単に、画像ファイル183と称する。
【0125】
履歴データファイル184は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツがチェックアウトされた回数、チェックインされた回数、その日付などの履歴データを格納して、HDD21に記録されている。
【0126】
表示操作指示プログラム112は、登録の処理のとき、ネットワーク2を介して、EMD登録サーバ3に、予め記憶しているコンテンツ管理プログラム111のIDを送信するとともに、EMD登録サーバ3から認証用鍵およびEMD選択プログラム131を受信して、コンテンツ管理プログラム111に認証用鍵およびEMD選択プログラム131を供給する。
【0127】
録音プログラム113は、所定のウィンドウの画像を表示させて、キーボード18またはマウス19への操作を基に、ドライブ22に装着された光ディスク42であるCDからコンテンツの録音時間などのデータを読み出す。
【0128】
録音プログラム113は、CDに記録されているコンテンツの録音時間などを基に、ネットワーク2を介して、WWWサーバ5−1または5−2にCDに対応するデータ(例えば、アルバム名、またはアーティスト名など)またはCDに記録されているコンテンツに対応するデータ(例えば、曲名など)の送信を要求するとともに、WWWサーバ5−1または5−2からCDに対応するデータまたはCDに記録されているコンテンツに対応するデータを受信する。
【0129】
録音プログラム113は、受信したCDに対応するデータまたはCDに記録されているコンテンツに対応するデータを、表示操作指示プログラム112に供給する。
【0130】
また、録音の指示が入力されたとき、録音プログラム113は、ドライブ22に装着された光ディスク42であるCDからコンテンツを読み出して、コンテンツ管理プログラム111に出力する。
【0131】
コンテンツデータベース114は、コンテンツ管理プログラム111から供給された所定の方式で圧縮され、所定の方式で暗号化されているコンテンツを、コンテンツファイル161−1乃至161−Nのいずれかに格納する(HDD21に記録する)。コンテンツデータベース114は、コンテンツファイル161−1乃至161−Nにそれぞれ格納されているコンテンツに対応する利用条件のデータを、コンテンツが格納されているコンテンツファイル161−1乃至161−Nにそれぞれ対応する利用条件ファイル162−1乃至162−Nのいずれかに格納する(HDD21に記録する)。
【0132】
コンテンツデータベース114は、コンテンツファイル161−1乃至161−Nまたは利用条件ファイル162−1乃至162−Nをレコードとして記録してもよい。
【0133】
例えば、コンテンツファイル161−1に格納されているコンテンツに対応する利用条件のデータは、利用条件ファイル162−1に格納されている。コンテンツファイル161−Nに格納されているコンテンツに対応する利用条件のデータは、利用条件ファイル162−Nに格納されている。
【0134】
なお、利用条件ファイル162−1乃至162−Nに記録されているデータは、後述する期限データベースに記録されているデータ、または曲データベースに記録されているデータに対応する。すなわち、コンテンツデータベース114は、後述する期限データベースおよび曲データベースを包含して、構成されている。
【0135】
以下、コンテンツファイル161−1乃至161−Nを個々に区別する必要がないとき、単に、コンテンツファイル161と称する。以下、利用条件ファイル162−1乃至162−Nを個々に区別する必要がないとき、単に、利用条件ファイル162と称する。
【0136】
購入用アプリケーションプログラム115は、EMD登録サーバ3からネットワーク2を介して供給され、または所定のCD-ROMに記録されて供給される。購入用アプリケーションプログラム115は、ネットワーク2を介して、EMDサーバ4−1に所定のコンテンツの送信を要求するとともに、EMDサーバ4−1からコンテンツを受信して、コンテンツ管理プログラム111に供給する。また、購入用アプリケーションプログラム115は、EMDサーバ4−1からコンテンツを受信するとき、課金の処理を実行する。
【0137】
次に、表示データファイル82に格納されているデータとコンテンツデータベースに格納されているコンテンツファイル161−1乃至161−Nとの対応付けについて説明する。
【0138】
コンテンツファイル161−1乃至161−Nのいずれかに格納されているコンテンツは、所定のパッケージに属する。パッケージは、より詳細には、オリジナルパッケージ、マイセレクトパッケージ、またはフィルタリングパッケージのいずれかである。
【0139】
オリジナルパッケージは、1以上のコンテンツが属し、EMDサーバ4−1乃至4−3におけるコンテンツの分類(例えば、いわゆるアルバムに対応する)、または一枚のCDに対応する。コンテンツは、いずれかのオリジナルパッケージに属し、複数のオリジナルパッケージに属することができない。また、コンテンツが属するオリジナルパッケージは、変更することができない。使用者は、オリジナルパッケージに対応する情報の一部を編集(情報の追加、または追加した情報の変更)することができる。
【0140】
マイセレクトパッケージは、使用者が任意に選択した1以上のコンテンツが属する。マイセレクトパッケージにいずれのコンテンツが属するかは、使用者が任意に編集することができる。コンテンツは、1以上のマイセレクトパッケージに同時に属することができる。また、コンテンツは、いずれのマイセレクトパッケージに属しなくともよい。
【0141】
フィルタリングパッケージには、フィルタリングデータファイル181に格納されているフィルタリングデータを基に選択されたコンテンツが属する。フィルタリングデータは、EMDサーバ4−1乃至4−3またはWWWサーバ5−1若しくは5−2などからネットワーク2を介して供給され、または所定のCDに記録されて供給される。使用者は、フィルタリングデータファイル181に格納されているフィルタリングデータを編集することができる。
【0142】
フィルタリングデータは、所定のコンテンツを選択する、またはコンテンツに対応する重みを算出する基準となる。例えば、今週のJ−POP(日本のポップス)ベストテンに対応するフィルタリングデータを利用すれば、パーソナルコンピュータ1は、今週の日本のポップス1位のコンテンツ乃至今週の日本のポップス10位のコンテンツを特定することができる。
【0143】
フィルタリングデータファイル181は、例えば、過去1月間にチェックアウトされていた期間が長い順にコンテンツを選択するフィルタリングデータ、過去半年間にチェックアウトされた回数が多いコンテンツを選択するフィルタリングデータ、または曲名に”愛”の文字が含まれているコンテンツを選択するフィルタリングデータなどを含んでいる。
【0144】
このようにフィルタリングパッケージのコンテンツは、コンテンツに対応するコンテンツ用表示データ221(コンテンツ用表示データ221に使用者が設定したデータを含む)、または履歴データ184などと、フィルタリングデータとを対応させて選択される。
【0145】
ドライバ117は、コンテンツ管理プログラム111などの制御の基に、音声入出力インターフェース24を駆動して、外部から供給されたデジタルデータであるコンテンツを入力してコンテンツ管理プログラム111に供給するか、若しくはコンテンツ管理プログラム111を介してコンテンツデータベース114から供給されたコンテンツをデジタルデータとして出力するか、または、コンテンツ管理プログラム111を介してコンテンツデータベース114から供給されたコンテンツに対応するアナログ信号を出力する。
【0146】
図5は、表示操作指示プログラム112を起動させたとき、操作指示プログラム112がディスプレイ20に表示させる表示操作指示ウィンドウの例を示す図である。
【0147】
表示操作指示ウィンドウには、録音プログラム113を起動させるためのボタン201、EMD選択プログラム131を起動させるためのボタン202、チェックインまたはチェックアウトの処理の設定を行うフィールドを表示させるためのボタン203、マイセレクトパッケージを編集するためフィールドを表示させるためのボタン204等が配置されている。
【0148】
ボタン205が選択されているとき、フィールド211には、オリジナルパッケージに対応するデータが表示される。ボタン206が選択されているとき、フィールド211には、マイセレクトパッケージに対応するデータが表示される。ボタン207が選択されているとき、フィールド211には、フィルタリングパッケージに対応するデータが表示される。
【0149】
フィールド211に表示されるデータは、パッケージに関するデータであり、例えば、パッケージ名称、またはアーティスト名などである。
【0150】
例えば、図5においては、パッケージ名称”ファースト”およびアーティスト名”A太郎”、およびパッケージ名称”セカンド”およびアーティスト名”A太郎”などがフィールド211に表示される。
【0151】
フィールド212には、フィールド211で選択されているパッケージに属するコンテンツに対応するデータが表示される。フィールド212に表示されるデータは、例えば、曲名、演奏時間、またはチェックアウト可能回数などである。
【0152】
例えば、図5においては、パッケージ名称”セカンド”に対応するパッケージが選択されているので、パッケージ名称”セカンド”に対応するパッケージに属するコンテンツに対応する曲名”南の酒場”およびチェックアウト可能回数(例えば、8分音符の1つがチェックアウト1回に相当し、8分音符が2つでチェックアウト2回を示す)、並びに曲名”北の墓場”およびチェックアウト可能回数(8分音符が1つでチェックアウト1回を示す)などがフィールド212に表示される。
【0153】
このように、フィールド212に表示されるチェックアウト可能回数としての1つの8分音符は、対応するコンテンツが1回チェックアウトできることを示す。
【0154】
フィールド212に表示されるチェックアウト可能回数としての休符は、対応するコンテンツがチェックアウトできない(チェックアウト可能回数が0である。(ただし、パーソナルコンピュータ1はそのコンテンツを再生することができる。))ことを示す。また、フィールド212に表示されるチェックアウト可能回数としてのト音記号は、対応するコンテンツのチェックアウトの回数に制限が無い(何度でも、チェックアウトできる)ことを示している。
【0155】
なお、チェックアウト可能回数は、図5に示すように所定の図形(例えば、円、星、月などでもよい)の数で表示するだけでなく、数字等で表示してもよい。
【0156】
また、表示操作指示ウィンドウには、選択されているパッケージまたはコンテンツに対応付けられている画像等(図4の画像ファイル183−1乃至183−Kのいずれかに対応する)を表示させるフィールド208が配置されている。ボタン209は、選択されているコンテンツを再生する(コンテンツに対応する音声をスピーカ45に出力させる)とき、クリックされる。
【0157】
ボタン205が選択され、フィールド211に、オリジナルパッケージに対応するデータが表示されている場合、フィールド212に表示されている所定のコンテンツの曲名を選択して、消去の操作をしたとき、表示操作指示プログラム112は、コンテンツ管理プログラム111に、選択されている曲名に対応する、コンテンツデータベース114に格納されている所定のコンテンツを消去させる。
【0158】
録音プログラム113が表示させるウィンドウのボタン(後述するボタン255)が選択されて(アクティブにされて)いる場合、CDから読み出したコンテンツがコンテンツデータベース114に記録されたとき、表示操作指示プログラム112は、表示操作指示ウィンドウに、予め指定されているポータブルデバイス6−1乃至6−3のいずれかに記憶されているコンテンツの曲名を表示するフィールド213を表示する。
【0159】
録音プログラム113が表示させるウィンドウのボタンが選択されている場合、CDから読み出したコンテンツがコンテンツデータベース114に記録されたとき、表示操作指示プログラム112は、コンテンツ管理プログラム111に、コンテンツデータベース114に記録した、CDから読み出したコンテンツを予め指定されているポータブルデバイス6−1乃至6−3のいずれかにチェックアウトさせる。
【0160】
フィールド213にはコンテンツの曲名に対応させて、フィールド213の最も左に、そのコンテンツがパーソナルコンピュータ1にチェックインできるか否かを示す記号が表示される。例えば、フィールド213の最も左に位置する“○”は、コンテンツの曲名に対応するコンテンツがパーソナルコンピュータ1にチェックインできる(すなわち、パーソナルコンピュータ1からチェックアウトされた)ことを示している。フィールド213の最も左に位置する“×”は、コンテンツの曲名に対応するコンテンツがパーソナルコンピュータ1にチェックインできない(すなわち、パーソナルコンピュータ1からチェックアウトされていない、例えば、他のパーソナルコンピュータからチェックアウトされた)ことを示している。
【0161】
表示操作指示プログラム112が表示操作指示ウィンドウにフィールド213を表示させたとき、表示操作指示プログラム112は、表示操作指示ウィンドウに、予め指定されているポータブルデバイス6−1乃至6−3のいずれかに記憶されているコンテンツが属するポータブルパッケージ(ポータブルデバイス6−1乃至6−3のいずれかに記憶されているコンテンツが属するパーケージ)の名称を表示するフィールド214、フィールド213を閉じるためのボタン210、およびチェックインまたはチェックアウトを実行させるボタン215を表示する。
【0162】
更に、表示操作指示プログラム112が表示操作指示ウィンドウにフィールド213を表示させたとき、表示操作指示プログラム112は、表示操作指示ウィンドウに、フィールド212で選択された曲名に対応するコンテンツのチェックアウトを設定するボタン216、フィールド213で選択された曲名に対応するコンテンツのチェックインを設定するボタン217、フィールド213に表示されたコンテンツ名に対応する全てのコンテンツのチェックインを設定するボタン218、およびチェックインまたはチェックアウトの設定を取り消すボタン219を配置させる。
【0163】
ボタン216乃至219の操作によるチェックインまたはチェックアウトの設定だけでは、パーソナルコンピュータ1は、チェックインまたはチェックアウトの処理を実行しない。
【0164】
ボタン216乃至219の操作によるチェックインまたはチェックアウトの設定をした後、ボタン215がクリックされたとき、表示操作指示プログラム112は、コンテンツ管理プログラム111にチェックインまたはチェックアウトの処理を実行させる。すなわち、ボタン215がクリックされたとき、表示操作指示プログラム112は、チェックインまたはチェックアウトの設定に基づき、コンテンツ管理プログラム111に、ポータブルデバイス6−1乃至6−3のいずれかにコンテンツを送信させるか、またはチェックインに対応する所定のコマンド(例えば、ポータブルデバイス6−1乃至6−3のいずれかが記憶している所定のコンテンツを消去させるコマンドなど)を送信させるとともに、送信したコンテンツまたはコマンドに対応する利用条件ファイル162に格納されている利用条件のデータを更新させる。
【0165】
チェックインまたはチェックアウトが実行されたとき、表示操作指示プログラム112は、送信したコンテンツまたは送信されたコマンドに対応して、履歴データファイル184に格納されている履歴データを更新する。履歴データは、チェックインまたはチェックアウトされたコンテンツを特定する情報、またはそのコンテンツがチェックインまたはチェックアウトされた日付、そのコンテンツがチェックアウトされたポータブルデバイス6−1乃至6−3の名称などから成る。
【0166】
チェックインまたはチェックアウトの設定の処理は短時間で実行できるので、使用者は、チェックインまたはチェックアウトの処理の実行後の状態を迅速に知ることができ、時間のかかるチェックインまたはチェックアウトの処理の回数を減らして、チェックインまたはチェックアウトに必要な時間全体(設定および実行を含む)を短くすることができる。
【0167】
図6は、録音プログラム113がディスプレイ20に表示させるウィンドウの例を説明する図である。例えば、WWWサーバ5−2から受信したCDの情報を基に、録音プログラム113は、フィールド251に、”アシンクロナイズド”などのCDのタイトルを表示する。WWWサーバ5−2から受信したCDの情報を基に、録音プログラム113は、フィールド252に、例えば、”クワイ”などのアーティスト名を表示する。
【0168】
WWWサーバ5−2から受信したCDの情報を基に、録音プログラム113は、フィールド253の曲名を表示する部分に、例えば、”ヒート”,”プラネット”,”ブラック”,”ソウル”などの曲名を表示する。同様に、録音プログラム113は、フィールド253のアーティストを表示する部分に、例えば、”クワイ”などのアーティスト名を表示する。
【0169】
録音プログラム113が所定のCDの情報を受信した後、録音プログラム113は、HDD21の所定のディレクトリにCDの情報を格納する。
【0170】
ボタン254などがクリックされて、CDの情報の取得の指示を受けたとき、録音プログラム113は、始めに、HDD21の所定のディレクトリを検索する。録音プログラム113は、そのディレクトリにCDの情報が格納されているとき、図示せぬダイアログボックスを表示して、使用者にディレクトリに格納されているCDの情報を利用するか否かを選択させる。
【0171】
録音プログラム113が表示させるウィンドウに配置されているコンテンツの録音の開始を指示するボタン256がクリックされたとき、録音プログラム113は、ドライブ22に格納されているCDからコンテンツを読み出して、CDから読み出したコンテンツをCDの情報と共にコンテンツ管理プログラム111に供給する。コンテンツ管理プログラム111の圧縮/伸張プログラム138は、録音プログラム113から供給されたコンテンツを所定の圧縮の方式で圧縮して、暗号化プログラム137は、圧縮されたコンテンツを、暗号化する。また、利用条件変換プログラム139は、圧縮され、暗号化されたコンテンツに対応する利用条件のデータを生成する。
【0172】
コンテンツ管理プログラム111は、圧縮され、暗号化されたコンテンツを利用条件のデータと共に、コンテンツデータベース114に供給する。
【0173】
コンテンツデータベース114は、コンテンツ管理プログラム111から受信したコンテンツに対応するコンテンツファイル161および利用条件ファイル162を生成して、コンテンツファイル161にコンテンツを格納するとともに、利用条件ファイル162に利用条件のデータを格納する。
【0174】
コンテンツ管理プログラム111は、コンテンツデータベース114にコンテンツおよびコンテンツに対応する利用条件のデータが格納されたとき、録音プログラム113から受信したCDの情報および利用条件のデータを表示操作指示プログラム112に供給する。
【0175】
表示操作指示プログラム112は、録音の処理でコンテンツデータベース114に格納されたコンテンツに対応する利用条件のデータおよびCDの情報を基に、表示データファイル182に格納する表示用のデータを生成する。
【0176】
録音プログラム113が表示させるウィンドウには、更に、CDから読み出したコンテンツをコンテンツデータベース114に記録したとき、自動的に、CDから読み出したコンテンツをポータブルデバイス6−1乃至6−3のいずれかにチェックアウトさせるか否かの設定を行うボタン255が配置されている。
【0177】
例えば、ボタン255がクリックされたとき、録音プログラム113は、ポータブルデバイス6−1乃至6−3のリストを示すプルダウンメニューを表示する。使用者が、そのプルダウンメニューからポータブルデバイス6−1乃至6−3のいずれかを選択したとき、パーソナルコンピュータ1は、選択されたポータブルデバイス6−1乃至6−3のいずれかに、自動的に、CDから記録したコンテンツをチェックアウトする。使用者が、そのプルダウンメニューから”チェックアウトしない”を選択した場合、パーソナルコンピュータ1は、CDからコンテンツを記録したとき、チェックアウトしない。
【0178】
このように、録音プログラム113が表示させるウィンドウのボタン255をアクティブにしておくだけで、CDから読み出したコンテンツがコンテンツデータベース114に記録されたとき、パーソナルコンピュータ1は、予め指定されているポータブルデバイス6−1乃至6−3のいずれかに、CDから読み出したコンテンツをチェックアウトさせることができる。
【0179】
次に、図7のフローチャートを参照して、コンテンツ管理プログラム111、表示操作指示プログラム112、録音プログラム113、およびコンテンツデータベース114を実行するCPU11による、ドライブ22に装着されたCDから再生したコンテンツをHDD21に転送し、コピーする場合の処理について説明する。使用者がキーボード18またはマウス19を操作して、インタフェース17を介してCPU11に対してドライブ22に装着されたCD(図示せず)から再生されたコンテンツをHDD21に転送、コピーする指令を入力すると、録音プログラム113は、ステップS11において、インタフェース17を介してディスプレイ20にコピーするコンテンツを選択するための、例えば、図6に示すGUI(Graphical User Interface)を表示させる。
【0180】
具体的には、例えば、録音プログラム113は、ドライブ22に装着されたCDのTOC(Table Of Contents)を読み込み、そのCDに含まれるコンテンツの情報を得て、ディスプレイ20に表示させる。または、録音プログラム113は、CDに含まれている各コンテンツ毎のISRC(International Standard Recording Code)を読み出し、そのコンテンツの情報を得て、ディスプレイ20に表示させる。あるいはまた、ボタン254がクリックされたとき、録音プログラム113は、ネットワーク2を介してWWWサーバ5−1または5−2にアクセスし、TOCを用いて、そのCDのコンテンツの情報を得て、コンテンツに対応する曲名などをフィールド253に表示させる。
【0181】
使用者は、ディスプレイ20のGUIを利用してキーボード18またはマウス19を操作し、フィールド253に表示されている曲名に対応するチェックボックスをクリックするなどして、コピーするコンテンツを選択する。
【0182】
次に、ステップS12において、録音プログラム113は、利用条件管理プログラム140に、HDD21に格納されている期限データベース(図4に示すコンテンツデータベース114の利用条件ファイル162−1乃至162−Nに対応する)をチェックさせる。この期限データベースチェック処理の詳細は、図8のフローチャートに示されている。
【0183】
ステップS31において利用条件管理プログラム140は、アダプタ26のCPU32と共働して、期限データベース全体のハッシュ値を計算し、ステップS32において、その計算された値と、前回保存しておいたハッシュ値と比較する。
【0184】
なお、期限データベースにデータが何ら記録されていないとき、利用条件管理プログラム140は、ハッシュ値を計算しない。
【0185】
すなわち、HDD21には、期限データベースが形成されており、この期限データベースには、図9に示すように、HDD21に記録されているコンテンツ(コンテンツ)を管理する管理情報として、過去に記録されたことのあるコンテンツのISRCとコピー日時が対応して記憶されている。この例においては、アイテム1乃至アイテム3の3つのアイテムについて、それぞれのISRCとコピー日時が記憶されている。この期限データベースに記録されている全てのコンテンツのISRCとコピー日時に基づいた期限データベース全体のハッシュ値が、後述するように、ステップS38において、アダプタ26のCPU32により計算され、不揮発性メモリ34に記憶されている。ハッシュ値は、データに対してハッシュ関数を適用して得られた値である。
【0186】
ハッシュ関数は、任意の長さのメッセージを固定長に短く圧縮した値にマップする一方向性の関数であり、圧縮したデータからもとのデータを求める逆変換が困難な性質を持つものである。また、ハッシュ値同士の衝突が起こりにくく、即ち、例えば違う二つのメッセージに対して同じ値を付けることを困難にするものである。ハッシュ関数は、メッセージが通信途中で改竄されなかったことを確証するためのチェックサムとして用いられたり、ディジタル署名の中で用いられたりする。ハッシュ関数の例としては、SHA(Secure Hash Algorithm),MD(Message Digest)5などがある。
【0187】
利用条件管理プログラム140は、ステップS31において、CPU32が実行したのと同様にハッシュ値を計算する。そして、ステップS32において、利用条件管理プログラム140は、CPU32に、不揮発性メモリ34に記憶されているハッシュ値の読み出しを要求し、転送を受けたハッシュ値と、ステップS31で、いま自分自身が計算したハッシュ値とを比較する。
【0188】
ステップS33において、利用条件管理プログラム140は、ステップS31でいま計算したハッシュ値と、不揮発性メモリ34に記憶されている前回の期限データベースのハッシュ値とが一致するか否かを判定し、一致しない場合には、期限データベースが改竄されたものと判定し、利用条件管理プログラム140は、ステップS34において、例えば、録音プログラム113に「期限データベースが改竄されたので、コピーができません」といったメッセージを発生させ、インタフェース17を介してディスプレイ20に出力させ、表示させ、以後、処理を終了させる。すなわち、この場合には、CDに記録されているコンテンツを再生し、HDD21にコピーする処理が禁止される。
【0189】
ステップS31で計算したハッシュ値と、前回のハッシュ値とが一致する場合には、ステップS35に進み、利用条件管理プログラム140は、録音プログラム113に、ステップS11で指定されたコピーするコンテンツとして選択されたコンテンツ(選択されたコンテンツ)のISRCをCDから取得させる。CDにISRCが記録されていない場合、利用条件管理プログラム140は、録音プログラム113に、そのCDのTOCのデータを読み出させ、そのデータにハッシュ関数を適用するなどして、例えば、58ビットなどの適当な長さのデータを得て、これをISRCに代えて用いる。
【0190】
ステップS36において、利用条件管理プログラム140は、ステップS35で取得したISRC(すなわち、選択されたコンテンツ)が期限データベース(図9)に登録されているか否かを判定する。ISRCが期限データベースに登録されていない場合には、そのコンテンツはまだHDD21に記録されていないことになるので、ステップS37に進み、利用条件管理プログラム140は、そのコンテンツのISRCと現在の日時とを期限データベースに登録する。なお、利用条件管理プログラム140は、この現在の日時として、CPU32から転送を受けた、アダプタ26のRTC35が出力する値を利用する。そして、ステップS38において、利用条件管理プログラム140は、その時点における期限データベースのデータを読み出し、アダプタ26のCPU32に転送する。CPU32は、転送されてきたデータのハッシュ値を計算し、不揮発性メモリ34に保存してする。上述したように、このようにして保存されたハッシュ値が、ステップS32において、前回保存しておいたハッシュ値として利用される。
【0191】
次に、ステップS39において、利用条件管理プログラム140は、選択されたコンテンツが期限データベースに登録されていないことを表す未登録のフラグを設定する。このフラグは、後述する図7のステップS13において、選択されたコンテンツが期限データベースに登録されているか否かの判定を行うときに用いられる。
【0192】
ステップS36において、選択されたコンテンツのISRCが期限データベースに登録されていると判定された場合、その選択されたコンテンツは、少なくとも一度、HDD21に登録されたことがあるコンテンツであるということになる。そこで、この場合、ステップS40に進み、利用条件管理プログラム140は、期限データベースに登録されているその選択されたコンテンツの登録日時より、現在の日時(アダプタ26のRTC35が出力した現在の日時)が48時間以上経過しているか否かを判定する。現在時刻が、登録日時より、既に48時間以上経過している場合には、HDD21に、少なくとも一度は記録したことがあるが、既に、その時から48時間以上経過しているので、そのコンテンツを再度コピーさせたとしても、コンテンツの大量のコピーは実質的に不可能なので、この場合には、HDD21へのコピーが許容される。そこで、ステップS41に進み、利用条件管理プログラム140は、期限データベースの日時を、過去の登録日時から現在の日時(RTC35の出力する日時)に変更させる。そして、ステップS38に戻り、利用条件管理プログラム140は、再び、期限データベース全体のハッシュ値をCPU32に計算させ、不揮発性メモリ34に保存させるとともに、ステップS39において、そのコンテンツに対して未登録のフラグを設定する。
【0193】
一方、ステップS40において、現在時刻が登録日時より、まだ48時間以上経過していないと判定された場合、その選択されたコンテンツのHDD21へのコピーが禁止される。そこで、この場合には、ステップS42に進み、利用条件管理プログラム140は、その選択されたコンテンツに対応して登録済みのフラグを設定する。
【0194】
ステップS40の処理により、所定の時間が経過しなければ、コンテンツの新たなコピーを生成できないので、不正でない通常の使用を目的としたコンテンツのコピーの生成を不当に妨げることなく、例えば、不正な販売または配布などに必要な大量のコンテンツのコピーの生成は、実質的に不可能となる。なお、ステップS40においては、判定の基準は48時間以上の経過としたが、48時間に限らず、例えば、12時間乃至168時間のいずれかの時間であればよい。
【0195】
以上のようにして、期限データベースチェック処理により、選択されたコンテンツがHDD21に登録されているか否かを表すフラグが設定される。
【0196】
図7に戻り、ステップS13においてコピー管理プログラム133は、選択されたコンテンツが期限データベースに登録済みであるか否かを、上述したフラグから判定する。選択されたコンテンツが登録済みである場合には、ステップS14に進み、コピー管理プログラム133は、録音プログラム113に、例えば、「この曲は一度コピーされてからまだ48時間以上経過していないので、コピーすることができません」のようなメッセージをディスプレイ20に表示させる。これにより、使用者は、そのコンテンツをHDD21にコピーすることができない理由を知ることができる。
【0197】
ステップS13において、選択したコンテンツが期限データベースに登録されていないと判定された場合、ステップS15に進み、録音プログラム113は、ドライブ22を制御し、そこに装着されているCDからコンテンツを読み出させる。このコンテンツには、図10に示すように、所定の位置にウォータマークコードが挿入されている。録音プログラム113は、ステップS16において、コンテンツに含まれているウォータマークコードを抽出し、そのウォータマークコードがコピー禁止を表しているいるか否かをステップS17において判定する。ウォータマークコードがコピー禁止を表している場合には、ステップS18に進み、コピー管理プログラム133は、録音プログラム113に例えば、「コピーは禁止されています」のようなメッセージをインタフェース17を介してディスプレイ20に表示させ、コピー処理を終了させる。
【0198】
これに対して、ステップS17において、ウォータマークがコピー禁止を表していないと判定された場合、ステップS19に進み、録音プログラム113は、コンテンツを、圧縮/伸張プログラム138に、例えば、ATRAC(Adaptive Transform Acoustic Coding)3(商標)などの方式で、ソフトウェア処理により圧縮させる。ステップS20において、録音プログラム113は、暗号化プログラム137に、予め設定され、メモリ13に記憶されている暗号鍵を用いて、例えば、DES(Data Encryption Standard)方式、FEAL(Fast Encripherment Algotithm)方式などの暗号化方法により、コンテンツを暗号化させる。暗号鍵は、この他、例えば、ソフトウェアにより発生した乱数、あるいはアダプタ26のCPU32により発生させた乱数に基づいて生成したものを用いることもできる。このように、パーソナルコンピュータ1だけではなく、それに付随して装着されたハードウェアとしてのアダプタ26のCPU32と、共働して暗号化処理を実行するようにすることで、解読がより困難となる暗号化を行うことが可能となる。
【0199】
次に、ステップS21において、録音プログラム113は、暗号化されたデータを、コンテンツデータベース114に転送し、1つのファイル(コンテンツファイル161として)としてファイル名を付けてHDD21に保存させる。あるいはまた、1つのファイルの一部として、そのファイル名の位置情報(例えば、先頭からのバイト数)を与えて保存するようにしてもよい。
【0200】
この保存処理と、上記した圧縮符号化処理および暗号化処理とは別々に行うようにしてもよいし、同時に平行的に行うようにしてもよい。
【0201】
さらに、ステップS22において、録音プログラム113は、暗号化プログラム137に、予め定められている不揮発性メモリ34に記憶されている保存用鍵を使って、上述したDES方式、FEAL方式などの方式で、コンテンツを暗号化した暗号鍵を暗号化させ、HDD21の曲データベース(図4に示すコンテンツデータベース114の利用条件ファイル162−1乃至162−Nに対応する)に保存する。
【0202】
ステップS23において、録音プログラム113は、保存したファイルに関する情報、暗号化された暗号鍵、そのコンテンツの情報、使用者がGUIを介して入力した曲名の情報の要素を組にしてHDD21の曲データベースに登録する(利用条件ファイル162−1乃至162−Nとして記録する)。そして、ステップS24において、録音プログラム113は、CPU32に、曲データベース全体のハッシュ値を計算させ、不揮発性メモリ34に保存させる。
【0203】
このようにして、例えば、図11に示すような曲データベースが、HDD21上に登録される。この例においては、アイテム1乃至アイテム3のファイル名、暗号化された暗号鍵、曲名、長さ、再生条件(開始日時、終了日時、回数制限)、再生回数カウンタ、再生時課金条件、コピー条件(回数)、コピー回数カウンタ、およびコピー条件(SCMS)が記録されている。
【0204】
例えば、SDMI(Secure Digital Music Initiative)が規定する方式では、CDからコピーしたコンテンツに対応して、そのコンテンツがチェックアウトできる回数は、3回に設定される。
【0205】
CDからHDD21にコンテンツが複製されて一定期間が経過すると、再びコンテンツを複製することができるようにしたので、ユーザの個人の使用の範囲とされる、数回の複製が可能となる。一方、個人の使用の範囲を超えて、例えば、大量に複製しようとすると、莫大な時間が必要とされ、現実的に不可能になる。また、例えば、パーソナルコンピュータ1が故障して、HDD21に記録されていたコンテンツが消去された場合においても、一定期間の経過後、消去されたコンテンツを再び複製し、HDD21に記録することができる。
【0206】
また、例えば、ネットワーク2を介してHDD21に記録されている期限データベースの内容を共有することもできる。
【0207】
以上においては、ISRCに対応して複製された日時が記憶されている場合を例として説明したが、コンテンツやCDを識別する情報であれば、他のもの(例えば、曲名、アルバム名、それらの組み合わせなど)を利用することもできる。
【0208】
次に、図12乃至図14のフローチャートを参照して、表示操作指示プログラム112およびコンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU52による、HDD21からポータブルデバイス6のフラッシュメモリ61(例えば、メモリースティック(商標))に、コンテンツを移動する処理およびチェックアウトの処理について説明する。
【0209】
始めに、コンテンツの移動の処理について説明する。ステップS51において、移動管理プログラム134は、利用条件管理プログラム140に、曲データベース全体のハッシュ値を計算させ、ステップS52で、前回CPU32に計算させ、不揮発性メモリ34に保存しておいたハッシュ値と比較する。両者が一致しない場合、移動管理プログラム134は、ステップS53に進み、表示操作指示プログラム112に、例えば、「曲データベースが改竄された恐れがあります」のようなメッセージをディスプレイ20に表示させた後、処理を終了させる。この場合の処理は、図8のステップS31乃至ステップS34の処理と同様の処理である。この場合においては、HDD21からポータブルデバイス6へのコンテンツの移動が実行されないことになる。
【0210】
次に、ステップS54において、移動管理プログラム134は、HDD21に形成されている曲データベース(コンテンツデータベース114に含まれる)から、そこに登録されているコンテンツの情報を読み出し、表示操作指示プログラム112に、選択のためのGUIとしてディスプレイ20に表示させる。使用者は、この選択のためのGUIに基づいて、HDD21からポータブルデバイス6へ移動させるコンテンツを、図5のフィールド212に表示される曲名、ボタン216などをクリックして選択する。次に、ステップS55において、移動管理プログラム134は、ステップS54で選択された選択されたコンテンツの再生条件、コピー条件、再生時課金条件などを調べる。この処理の詳細は、図15のフローチャートを参照して後述する。
【0211】
次に、ステップS56において、パーソナルコンピュータ1の認証プログラム141とポータブルデバイス6のCPU53との間において、相互認証処理が行われ、通信用鍵が共有される。
【0212】
例えば、ポータブルデバイス6のフラッシュメモリ61(または、EEPROM68)には、マスター鍵KMが予め記憶されており、パーソナルコンピュータ1のRAM13(または、HDD21の所定のファイル)には、個別鍵KPとIDが予め記憶されているものとする。CPU53は、認証プログラム141から、RAM13に予め記憶されているIDの供給を受け、そのIDと自分自身が有するマスター鍵KMにハッシュ関数を適用して、RAM13に記憶されているパーソナルコンピュータ1の個別鍵と同一の鍵を生成する。このようにすることで、パーソナルコンピュータ1とポータブルデバイス6の両方に、共通の個別鍵が共有されることになる。この個別鍵を用いてさらに、一時的な通信用鍵を生成することができる。
【0213】
あるいはまた、パーソナルコンピュータ1のRAM13にIDとマスター鍵KMPを予め記憶させておくとともに、ポータブルデバイス6のフラッシュメモリ61にもポータブルデバイス6のIDとマスター鍵KMMを記憶させておく。そして、それぞれのIDとマスター鍵をお互いに他方に送信することで、他方は一方から送信されてきたIDとマスター鍵にハッシュ関数を適用して、他方の個別鍵を生成する。そして、その個別鍵から、一時的な通信用鍵をさらに生成するようにする。
【0214】
なお、認証の方法としては、例えば、IOS(International Organization for Standardization) 9798−2を利用することができる。
【0215】
相互認証が正しく行われなかったとき、処理は終了されるが、正しく行われたとき、さらに、ステップS57において、移動管理プログラム134は、コンテンツデータベース114に、選択されたコンテンツのファイル名を曲データベースから読み出させ、そのファイル名のコンテンツ(例えば、図7のステップS20の処理で暗号化されている)をHDD21から読み出す。ステップS58において、移動管理プログラム134は、ステップS57で読み出したデジタルデータであるコンテンツの圧縮符号化方式(ステップS19の処理)、暗号化方式(ステップS20の処理)、フォーマット(例えば、ヘッダの方式など)などをポータブルデバイス6のものに変換する処理を実行する。この変換処理の詳細は、図17のフローチャートを参照して後述する。
【0216】
ステップS59において、移動管理プログラム134は、PD用ドライバ143に、ステップS58で変換したコンテンツを、USBポート23を介してポータブルデバイス6に転送させる。ステップS60において、ポータブルデバイス6のCPU53は、USBコネクタ56を介してこの伝送されてきたコンテンツを受信すると、そのコンテンツを、そのままフラッシュメモリ61に記憶させる。
【0217】
ステップS61において、移動管理プログラム134は、さらに、利用条件変換プログラム139に、曲データベースに登録されているその選択されたコンテンツの再生条件(開始日時、終了日時、回数制限など)を、ポータブルデバイス6が管理している形式に変換する。ステップS62において、移動管理プログラム134は、さらに、利用条件変換プログラム139に、選択されたコンテンツの曲データベース中に登録されているコピー条件中のSCMS情報を、ポータブルデバイス6の管理する形式に変換させる。そして、ステップS63において、移動管理プログラム134は、PD用ドライバ143に、ステップS61で変換した再生条件と、ステップS62で変換したSCMS情報を、ポータブルデバイス6に転送させる。ポータブルデバイス6のCPU53は、転送を受けた再生条件とSCMS情報を、フラッシュメモリ61に保存する。
【0218】
ステップS64において、移動管理プログラム134はまた、PD用ドライバ143に、選択されたコンテンツの曲データベース中に登録されている再生条件、再生時課金条件、コピー条件などを、CPU11が曲データベース中で扱っている形式のまま、ポータブルデバイス6に転送させ、フラッシュメモリ61に保存させる。
【0219】
ステップS65において、移動管理プログラム134は、コンテンツデータベース114に、選択されたコンテンツの暗号化されている暗号鍵を曲データベースから読み出させ、ステップS66において、復号プログラム142に、その暗号鍵をRAM13に保存されている保存用鍵で復号させ、暗号化プログラム137に通信用鍵で暗号化させる。そして、通信用鍵で暗号化した暗号鍵を、移動管理プログラム134は、PD用ドライバ143に、ポータブルデバイス6へ転送させる。
【0220】
ポータブルデバイス6のCPU53は、ステップS67で、パーソナルコンピュータ1から転送されてきた暗号鍵を相互認証処理で共有した通信用鍵を用いて復号し、自分自身の保存用鍵を用いて暗号化し、既に保存したデータと関連付けて、フラッシュメモリ61に保存する。
【0221】
CPU53は、暗号鍵の保存が完了すると、ステップS68において、パーソナルコンピュータ1に対して暗号鍵を保存したことを通知する。パーソナルコンピュータ1の移動管理プログラム134は、ポータブルデバイス6からこの通知を受けると、ステップS69において、コンテンツデータベース114に、そのコンテンツに対応するコンテンツファイル161を削除させるとともに、曲データベースからそのコンテンツの要素の組(すなわち、利用条件ファイル162)を削除させる。すなわち、これにより、コピーではなく、移動(ムーブ)が行われることになる。そして、ステップS70において、移動管理プログラム134は、アダプタ26のCPU32に、曲データベースのデータを転送し、全体のハッシュ値を計算させ、不揮発性メモリ34に保存させる。このハッシュ値が、上述したステップS52において、前回保存しておいたハッシュ値として用いられることになる。
【0222】
次に、パーソナルコンピュータ1からポータブルデバイス6にコンテンツをチェックアウトする処理について説明する。パーソナルコンピュータ1からポータブルデバイス6にコンテンツをチェックアウトする処理は、図12乃至図14のパーソナルコンピュータ1からポータブルデバイス6へコンテンツを移動させる場合と同様の処理である。すなわち、チェックアウトの処理は、パーソナルコンピュータ1においてチェックイン/チェックアウト管理プログラム132により実行され、図14のステップS69において、コンテンツを削除する処理に代えて、曲データベースに記録されている、チェックアウトされたコンテンツのチェックアウトした回数(またはチェックアウトできる回数)を更新する処理を実行することを除いて、移動の場合の処理と基本的に同様の処理となるので、その処理の詳細の説明は省略する。
【0223】
次に、コンテンツ管理プログラム111を実行するCPU11による、図12のステップS55における選択されたコンテンツの再生条件などのチェック処理について図15のフローチャートを参照して説明する。ステップS81において、移動管理プログラム134は、コンテンツデータベース114に、曲データベースから、各種の条件を読み出させる。移動管理プログラム134は、ステップS82において、ステップS81で読み出した各種条件のうち、コピー回数がコピー制限回数を既に過ぎているか否かを判定する。コピー回数が、コピー制限回数を既にすぎている場合には、それ以上コピーを許容する訳にはいかないので、ステップS83に進み、移動管理プログラム134は、表示操作指示プログラム112に、例えば、「既にコピー回数がコピー制限回数に達しています」のようなメッセージをディスプレイ20に表示させ、処理を終了させる。ステップS82において、コピー回数がコピー制限回数を過ぎていないと判定された場合、ステップS84に進み、現在日時が再生終了日時を過ぎているか否かの判定が行われる。現在日時としては、アダプタ26のRTC35より出力されたものが用いられる。これにより、使用者が、パーソナルコンピュータ1の現在時刻を意図的に過去の値に修正したものが用いられるようなことが防止される。移動管理プログラム134は、この現在日時をCPU32から提供を受けて、ステップS84の判断を自ら行うか、または、ステップS81で、曲データベースから読み出した再生条件をアダプタ26のCPU32に供給し、CPU32に、ステップS84の判定処理を実行させる。
【0224】
現在日時が再生終了日時を過ぎている場合、ステップS85に進み、移動管理プログラム134は、コンテンツデータベース114に、選択されたコンテンツをHDD21から消去させるとともに、曲データベースから、その選択されたコンテンツの情報を消去させる。ステップS86において、移動管理プログラム134は、CPU32に、曲データベースのハッシュ値を計算させ、それを不揮発性メモリ34に保存させる。以後、処理は終了される。従って、この場合、コンテンツの移動が実行されない。
【0225】
ステップS84において、現在日時が、再生終了日時を過ぎていないと判定された場合、ステップS87に進み、移動管理プログラム134は、その選択されたコンテンツの再生時課金条件(例えば、再生1回当たりの料金)が曲データベース中に登録されているか否かを判定する。再生時課金条件が登録されている場合には、移動管理プログラム134は、ステップS88において、PD用ドライバ143に、ポータブルデバイス6と通信させ、ポータブルデバイス6に課金機能が存在するか否かを判定する。ポータブルデバイス6に課金機能が存在しない場合には、選択されたコンテンツをポータブルデバイス6に転送する訳にはいかないので、ステップS89において、移動管理プログラム134は、表示操作指示プログラム112に、例えば、「転送先が課金機能を有しておりません」のようなメッセージをディスプレイ20に表示させ、コンテンツの移動処理を終了させる。
【0226】
ステップS87において再生時課金条件が登録されていないと判定された場合、または、ステップS88において、ポータブルデバイス6に課金機能が存在すると判定された場合、ステップS90に進み、移動管理プログラム134は、選択されたコンテンツに関し、例えば、再生制限回数などのその他の再生条件が登録されているか否かを判定する。その他の再生条件が登録されている場合には、ステップS91に進み、移動管理プログラム134は、ポータブルデバイス6に、その再生条件を守る機能が存在するか否かを判定する。ポータブルデバイス6が、その再生条件を守る機能を有していない場合には、ステップS92に進み、移動管理プログラム134は、表示操作指示プログラム112に、例えば、「転送先の装置が再生条件を守る機能を有しておりません」のようなメッセージをディスプレイ20に表示させ、処理を終了させる。
【0227】
ステップS90において、再生条件が登録されていないと判定された場合、またはステップS91において、ポータブルデバイス6が再生条件を守る機能を有していると判定された場合、再生条件等のチェック処理が終了され、図12のステップS56に戻る。
【0228】
図16は、ポータブルデバイス6が管理している(守ることが可能な)再生条件の例を表している。図16に示す再生情報は、例えば、EEPROM68に記憶されている。この例においては、アイテム1乃至アイテム3の各コンテンツについて、再生開始日時と再生終了日時が登録されているが、再生回数は、アイテム2についてのみ登録されており、アイテム1とアイテム3については登録されていない。従って、アイテム2のコンテンツが選択されたコンテンツとされた場合、再生回数の再生条件は守ることが可能であるが、アイテム1またはアイテム3のコンテンツが選択されたコンテンツとされた場合、再生回数の条件は守ることができないことになる。
【0229】
次に、図17のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11による、図12のステップS58におけるフォーマット変換処理の詳細について説明する。ステップS101において、移動管理プログラム134は、コンテンツデータベース114に記録されている選択されたコンテンツのフォーマット(例えば、再生条件、使用条件、コピー条件などを含むヘッダなどの方式)を調べる。ステップS102において、移動管理プログラム134は、相手先の機器(今の場合、ポータブルデバイス6)に設定することが可能な条件を調べる。すなわち、移動管理プログラム134は、ポータブルデバイス6のCPU53に設定可能な条件を問い合わせ、その回答を得る。ステップS103において移動管理プログラム134は、曲データベース中に登録されているフォーマットの条件のうち、相手先の機器に設定可能な条件をステップS102で調べた条件に基づいて決定する。
【0230】
ステップS104において、移動管理プログラム134は、設定可能な条件が存在するか否かを判定し、設定可能な条件が存在しない場合には、ステップS105に進み、コンテンツをポータブルデバイス6に移動する処理を禁止する。すなわち、この場合には、曲データベース中に登録されている条件をポータブルデバイス6が守ることができないので、そのようなポータブルデバイス6には、コンテンツを移動することが禁止されるのである。
【0231】
ステップS104において設定可能な条件が存在すると判定された場合、ステップS106に進み、移動管理プログラム134は、利用条件変換プログラム139に、その条件を相手先の機能フォーマットの条件(例えば、ポータブルデバイス6に転送する際、ヘッダに格納される条件)に変換させる。そして、ステップS107において、移動管理プログラム134は、変換した条件を相手先の機器に設定する。その結果、ポータブルデバイス6は、設定された条件に従って(その条件を守って)、コンテンツを再生することが可能となる。
【0232】
次に、図18乃至図20のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、HDD21からポータブルデバイス6にコンテンツをコピーする場合の処理について説明する。この図18乃至図20のステップS111乃至ステップS127の処理は、コピー管理プログラム133により実行され、図12乃至図14のHDD21からポータブルデバイス6へコンテンツを移動させる場合のステップS51乃至ステップS67の処理と同様の処理である。すなわち、この場合においても、曲データベースの改竄がチェックされた後、選択されたコンテンツの再生条件とのチェック処理が行われる。さらに、ポータブルデバイス6と、パーソナルコンピュータ1との間の相互認証処理の後、コンテンツが、パーソナルコンピュータ1のHDD21からポータブルデバイス6のフラッシュメモリ61に転送され、保存される。その後、ステップS128において、コピー管理プログラム133は、曲データベースのコピー回数カウンタを1だけインクリメントする。そして、ステップS129において、コピー管理プログラム133は、CPU32に、曲データベース全体のハッシュ値を計算させ、その値を不揮発性メモリ34に保存させる。
【0233】
次に、図21のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、ポータブルデバイス6からHDD21にコンテンツを移動する処理およびチェックインの処理について説明する。
【0234】
始めに、コンテンツの移動の処理について説明する。ステップS161において、移動管理プログラム134は、ポータブルデバイス6のCPU53に対してフラッシュメモリ61に記憶されているコンテンツの情報の読み出しを要求する。CPU53は、この要求に対応して、フラッシュメモリ61に記憶されているコンテンツの情報をパーソナルコンピュータ1に送信する。移動管理プログラム134は、この情報に基づいて、ディスプレイ20に、フラッシュメモリ61に記憶されているコンテンツを選択するためのGUIを表示させる。使用者は、キーボード18またはマウス19を操作して、そのGUIに基づいて、ポータブルデバイス6からHDD21(コンテンツデータベース114)に移動させるコンテンツを指定する。
【0235】
ステップS162において、移動管理プログラム134は、認証プログラム141に、CPU53との間において、相互認証処理を実行させ、通信用鍵を共有させる。この処理は、図12のステップS56における場合と同様の処理である。
【0236】
次に、ステップS163において、CPU53は、フラッシュメモリ61に記憶されている暗号化されている選択されたコンテンツを読み出し、パーソナルコンピュータ1に転送する。移動管理プログラム134は、ステップS164において、ポータブルデバイス6から転送されてきたコンテンツを、1つのファイルとしてファイル名を付けて、コンテンツデータベース114(HDD21)に保存する。この保存は、例えば、1つのファイルの一部として、ファイル名の位置情報(例えば、先頭からのバイト数)を与えて行うようにすることもできる。
【0237】
ステップS165において、CPU53は、フラッシュメモリ61に記憶されている選択されたコンテンツの暗号化されている暗号鍵を読み出し、それを自分自身の保存用鍵で復号し、さらに通信用鍵で暗号化した後、パーソナルコンピュータ1に転送する。この暗号鍵は、例えば、図14のステップS67の処理でフラッシュメモリ61に保存されていたものである。
【0238】
ステップS166において、移動管理プログラム134は、ポータブルデバイス6から暗号鍵の転送を受けると、復号プログラム142に、それを通信用鍵で復号させ、暗号化プログラム137に、自分自身の保存用鍵で暗号化させる。ステップS167で、移動管理プログラム134は、コンテンツデータベース114に、ステップS164で保存したコンテンツのファイル名、そのコンテンツの情報、使用者がGUIを介して入力した曲名、ステップS166で暗号化した暗号鍵などを、HDD21の曲データベースに登録させる。そして、ステップS168において、移動管理プログラム134は、利用条件管理プログラム140に、その曲データベース全体のハッシュ値をCPU32に計算させ、不揮発性メモリ34に保存させる。
【0239】
ステップS169において、移動管理プログラム134は、ポータブルデバイス6に対して暗号鍵が保存されたことを通知し、そのコンテンツの削除を要求する。CPU53は、パーソナルコンピュータ1から、そのコンテンツの削除が要求されてきたとき、ステップS170において、フラッシュメモリ61に記憶されているそのコンテンツを削除する。
【0240】
次に、ポータブルデバイス6からパーソナルコンピュータ1にコンテンツをチェックインする処理について説明する。ポータブルデバイス6からパーソナルコンピュータ1にコンテンツをチェックインする処理は、図21のポータブルデバイス6からパーソナルコンピュータ1へコンテンツを移動させる場合と同様の処理である。すなわち、チェックインの処理は、パーソナルコンピュータ1においてチェックイン/チェックアウト管理プログラム132により実行され、図21のステップS162乃至S166の処理が省略される。また、パーソナルコンピュータ1は、図21のステップS167において、曲データベースに記録されている、チェックインされたコンテンツのチェックアウトできる回数を更新する処理を実行して、ステップS170の処理の後、コンテンツファイルの削除を確認することを除いて、移動の場合の処理と基本的に同様の処理となるので、その処理の詳細の説明は省略する。
【0241】
なお、ポータブルデバイス6のフラッシュメモリ61がメモリカードとして着脱可能であるとき、パーソナルコンピュータ1は、チェックインの処理において、図21のステップS162の相互認証の処理を実行する。
【0242】
また、前述のように、所定のパーソナルコンピュータからチェックアウトされたコンテンツが、該パーソナルコンピュータにのみチェックインできるようになっており、チェックイン処理の前処理として、選択されたコンテンツが、チェックインを行うPCからチェックアウトされたかを判断し、該PCからチェックアウトされたものではないと判断されたらば、チェックインを行わないように処理するステップが存在する。例えば、図5のフィールド213の×がついたコンテンツをチェックインしようとした場合がそれにあたる。
【0243】
次に、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、ポータブルデバイス6からHDD21へコンテンツをコピーする場合の処理について、図22のフローチャートを参照して説明する。この図22に示すステップS181乃至ステップS188の処理は、図21のポータブルデバイス6からHDD21へコンテンツを移動させる場合の処理におけるステップS161乃至ステップS168の処理と同様の処理である。すなわち、コピー処理の場合は、コピー管理プログラム133により実行され、図21のステップS169,S170の処理が省略される点を除いて、移動の場合の処理と基本的に同様の処理となるので、その説明は省略する。
【0244】
次に、図23のフローチャートを参照して、EMDサーバ4およびコンテンツ管理プログラム111を実行するCPU11による、EMDサーバ4から転送を受けたコンテンツをHDD21にコピーする処理について説明する。ステップS201において、購入用プログラム144は、図5に示すボタン202がクリックされて、使用者からEMDサーバ4へのアクセスが指令されたとき、通信部25を制御し、ネットワーク2を介してEMDサーバ4にアクセスさせる。EMDサーバ4は、このアクセスに対応して、自分自身が保持しているコンテンツの曲番号、曲名、各情報などの情報を、ネットワーク2を介してパーソナルコンピュータ1に転送する。購入用プログラム144は、通信部25を介して、この情報を取得したとき、表示操作指示プログラム112に、それをインタフェース17を介してディスプレイ20に表示させる。使用者は、ディスプレイ20に表示されたGUIを利用して、ステップS202において、コピーを希望するコンテンツを指定する。この指定情報は、ネットワーク2を介してEMDサーバ4に転送される。ステップS203において、購入用プログラム144は、EMDサーバ4との間において、ネットワーク2を介して相互認証処理を実行し、通信用鍵を共有する。
【0245】
パーソナルコンピュータ1とEMDサーバ4との間で行われる相互認証処理は、例えば、ISO 9798−3で規定される公開鍵と秘密鍵を用いて行うようにすることができる。この場合、パーソナルコンピュータ1は、自分自身の秘密鍵とEMDサーバ4の公開鍵を予め有しており、EMDサーバ4は、自分自身の秘密鍵を有し、相互認証処理が行われる。パーソナルコンピュータ1の公開鍵は、EMDサーバ4から転送したり、あるいはパーソナルコンピュータ1に予め配布されている証明書(certificate)をパーソナルコンピュータ1からEMDサーバ4に転送し、その証明書をEMDサーバ4が確認し、公開鍵を得るようにしてもよい。さらに、ステップS204において、購入用プログラム144は、EMDサーバ4との間において課金に関する処理を実行する。この課金の処理の詳細は、図24のフローチャートを参照して後述する。
【0246】
次に、ステップS205において、EMDサーバ4は、パーソナルコンピュータ1に対して、ステップS202で指定された、暗号化されているコンテンツをネットワーク2を介してパーソナルコンピュータ1に転送する。このとき、時刻情報も適宜転送される。ステップS206において、購入用プログラム144は、コンテンツデータベース114に、転送を受けたコンテンツにファイル名を付けてHDD21に1つのコンテンツファイル161として保存させる。ステップS207において、EMDサーバ4は、さらに、そのコンテンツの暗号鍵をステップS203でパーソナルコンピュータ1と共有した通信用鍵を用いて暗号化し、パーソナルコンピュータ1へ転送する。
【0247】
購入用プログラム144は、ステップS208において、復号プログラム142に、EMDサーバ4より転送を受けた暗号鍵を単独で、またはアダプタ26のCPU32と共同して通信用鍵を用いて復号させ、暗号化プログラム137に、復号して得られた暗号鍵を自分自身の保存用鍵で暗号化させる。ステップS209において、購入用プログラム144は、コンテンツデータベース114に、そのコンテンツのファイル名、コンテンツの情報、使用者が入力した曲名、暗号化された暗号鍵を組にして、HDD21の曲データベースに登録させる。さらに、ステップS210において、購入用プログラム144は、その曲データベース全体のハッシュ値をCPU32に計算させ、不揮発性メモリ34に保存させる。
【0248】
なお、ステップS205においてEMDサーバ4は、コンテンツとともに、時刻データをパーソナルコンピュータ1に送信する。この時刻データは、パーソナルコンピュータ1からアダプタ26に転送される。アダプタ26のCPU32は、パーソナルコンピュータ1より転送されてきた時刻データを受信すると、ステップS211において、RTC35の時刻を修正させる。このようにして、相互認証の結果、正しい装置と認識された外部の装置から得られた時刻情報に基づいて、アダプタ26のRTC35の時刻情報を修正するようにしたので、アダプタ26を常に正しい時刻情報を保持することが可能となる。
【0249】
次に、図24のフローチャートを参照して、EMDサーバ4およびコンテンツ管理プログラム111を実行するCPU11による、図23のステップS204における課金に関する処理の詳細について説明する。ステップS221において、購入用プログラム144は、ステップS201でEMDサーバ4から伝送されてきた価格情報の中から、ステップS202で指定された選択されたコンテンツの価格情報を読み取り、これをHDD21上の課金ログに書き込む。図25は、このような課金ログの例を表している。この例においては、使用者は、アイテム1乃至アイテム3を、EMDサーバ4からコピーしており、アイテム1とアイテム2の領域は50円とされ、アイテム3の料金は60円とされている。その時点における課金ログのハッシュ値も、CPU32により計算され、不揮発性メモリ34に登録されている。
【0250】
次に、ステップS222において、購入用プログラム144は、ステップS221で書き込んだ課金ログをHDD21から読み出し、これをネットワーク2を介してEMDサーバ4に転送する。EMDサーバ4は、ステップS223において、パーソナルコンピュータ1から転送を受けた課金ログに基づく課金計算処理を実行する。すなわち、EMDサーバ4は、内蔵するデータベースに、パーソナルコンピュータ1の使用者から伝送されてきた課金ログを追加更新する。そして、ステップS224において、EMDサーバ4は、その課金ログについて直ちに決裁するか否かを判定し、直ちに決裁する場合には、ステップS225に進み、EMDサーバ4は、決裁に必要な商品名、金額などを決裁サーバ(図示せず)に転送する。そして、ステップS226において、決裁サーバは、パーソナルコンピュータ1の使用者に対する決裁処理を実行する。ステップS224において、決裁は直ちには行われないと判定された場合、ステップS225とS226の処理はスキップされる。すなわち、この処理は、例えば、月に1回など、定期的にその後実行される。
【0251】
次に、図26と図27のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11による、音声入出力インタフェース24のIEC60958端子24aから入力された、図示せぬCDプレーヤなどからの再生されたコンテンツを、HDD21にコピーする場合の処理について説明する。ステップS241において、使用者は、CDプレーヤのIEC60958出力端子を、パーソナルコンピュータ1の音声入出力インタフェース24のIEC60958端子24aに接続する。ステップS242において、使用者は、キーボード18またはマウス19を操作し、CDプレーヤからコピーするコンテンツの曲名(または、コンテンツに対応する番号)を入力する。そして、ステップS243において使用者は、CDプレーヤのボタンを操作し、CDプレーヤの再生を開始させる。CDプレーヤとパーソナルコンピュータ1との間に制御信号を送受する線が接続されている場合には、パーソナルコンピュータ1のキーボード18またはマウス19を介して再生開始指令を入力することで、CDプレーヤにCDの再生を開始させることも可能である。
【0252】
CDプレーヤにおいて、CDの再生が開始されると、ステップS244において、CDプレーヤから出力されたコンテンツが、IEC60958端子24aを介してパーソナルコンピュータ1に転送されてくる。ステップS245において、コピー管理プログラム133は、IEC60958端子24aを介して入力されてくるデータから、SCMS(Serial Copy Management System)データを読み取る。このSCMSデータには、コピー禁止、コピー1回限り可能、コピーフリーなどのコピー情報が含まれている。そこで、ステップS246において、CPU11は、SCMSデータがコピー禁止を表しているか否かを判定し、コピー禁止を表している場合には、ステップS247に進み、コピー管理プログラム133は、表示操作指示プログラム112に、例えば、「コピーが禁止されています」といったメッセージをディスプレイ20に表示させ、コピー処理を終了する。すなわち、この場合には、HDD21へのコピーが禁止される。
【0253】
コピー管理プログラム133は、ステップS246において、ステップS245で読み取ったSCMS情報がコピー禁止を表していないと判定した場合、ステップS248に進み、ウォータマークコードを読み出し、そのウォータマークがコピー禁止を表しているか否かをステップS249において判定する。ウォータマークコードがコピー禁止を表している場合には、ステップS247に進み、上述した場合と同様に、所定のメッセージが表示され、コピー処理が終了される。
【0254】
ステップS249において、ウォータマークがコピー禁止を表していないと判定された場合、ステップS250に進み、期限データベースチェック処理が行われる。期限データベースチェックの結果、選択されたコンテンツが既に登録されていれば、ステップS251,S252の処理で、処理が終了される。この処理は、図7のステップS13,S14の処理と同様の処理である。
【0255】
選択されたコンテンツがまだHDD21に登録されていないコンテンツであれば、ステップS253乃至S258で、その登録処理が実行される。このステップS253乃至ステップS258の処理は、ステップS257において、IEC60958端子24aから供給されてくるSCMS情報も曲データベースに登録される点を除き、図7のステップS19乃至ステップS24の処理と同様の処理であるので、その説明は省略する。
【0256】
次に、図28と図29のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11による、コンテンツをHDD21からIEC60958端子24aに出力(再生)する場合の処理について説明する。ステップS271乃至ステップS273において、図18のステップS111乃至S113における場合と同様に、曲データベース全体のハッシュ値が計算され、前回保存しておいたハッシュ値と一致するか否かが判定され、曲データベースの改竄のチェック処理が行われる。曲データベースの改竄が行われていないと判定された場合、ステップS274に進み、表示操作指示プログラム112は、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、HDD21の曲データベースにアクセスさせ、そこに登録されている曲の情報を読み出させ、ディスプレイ20に表示させる。使用者は、その表示を見て、キーボード18またはマウス19を適宜操作して、再生出力するコンテンツを選択する。ステップS275において、表示操作指示プログラム112は、選択されたコンテンツの再生条件等のチェック処理を実行する。この再生条件等のチェック処理の詳細は、図30のフローチャートを参照して後述する。
【0257】
次に、ステップS276において、表示操作指示プログラム112は、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、ステップS274において選択されたコンテンツの暗号鍵を曲データベースから読み出させ、復号プログラム142に保存用鍵で復号させる。ステップS277において、表示操作指示プログラム112は、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、選択されたコンテンツのSCMS情報を曲データベースから読み出させ、IEC60958端子24aから出力するSCMS情報を、SCMSシステムの規則に従って決定する。例えば、再生回数に制限があるような場合、再生回数は1だけインクリメントされ、新たなSCMS情報とされる。ステップS278において、表示操作指示プログラム112はさらに、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、選択されたコンテンツのISRCを曲データベースから読み出させる。
【0258】
次に、ステップS279において、表示操作指示プログラム112は、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、曲データベースから選択されたコンテンツファイル名を読み出させ、そのファイル名を基に、そのコンテンツをHDD21から読み出させる。表示操作指示プログラム112はさらに、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、そのコンテンツに対応する暗号鍵を曲データベースから読み出させ、復号プログラム142に、保存用鍵で復号させ、復号した暗号鍵を用いて、暗号化されているコンテンツを復号する。圧縮/伸張プログラム138は、さらに、そのコンテンツの圧縮符号を復号(伸張)する。ステップS280において、表示操作指示プログラム112は、ドライバ117に、ステップS279で、復号したデジタルデータであるコンテンツを、ステップS277で決定したSCMS情報、並びにステップS278で読み出したISRC情報とともに、IEC60958の規定に従って、IEC60958端子24aから出力させる。さらにまた、表示操作指示プログラム112は、例えば、図示せぬリアルプレーヤ(商標)などのプログラムを動作させ、デジタルデータであるコンテンツをアナログ化させ、音声入出力インタフェース24のアナログ出力端子から出力させる。
【0259】
ステップS281において、表示操作指示プログラム112は、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、曲データベース中の再生回数カウンタの値を1だけインクリメントさせる。そして、ステップS282において、選択されたコンテンツに再生時課金条件が付加されているか否かを判定する。再生時課金条件が付加されている場合には、ステップS283に進み、表示操作指示プログラム112は、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、対応する料金を課金ログに書き込ませ、ステップS284において、表示操作指示プログラム112は、利用条件管理プログラム140に、曲データベース全体のハッシュ値をCPU32に計算させ、不揮発性メモリ34に記憶させる。ステップS282において、選択されたコンテンツに再生時課金条件が付加されていないと判定された場合、ステップS283とステップS284の処理はスキップされる。
【0260】
次に、図30のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11による、図28のステップS275の再生条件等のチェック処理の詳細について説明する。ステップS301において、表示操作指示プログラム112は、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、曲データベースの各種条件を読み出させる。ステップS302において利用条件管理プログラム140は、読み出した条件のうち、再生回数が制限回数を過ぎているか否かを判定し、過ぎている場合には、ステップS303に進み、コンテンツ管理プログラム111を介して、コンテンツデータベース114に、選択されたコンテンツをHDD21から削除させるとともに、曲データベースから選択されたコンテンツの情報を削除させる。ステップS304において、表示操作指示プログラム112はさらに、利用条件管理プログラム140に、曲データベースの新たなハッシュ値をCPU32に計算させ、そのハッシュ値を不揮発性メモリ34に保存させる。この場合、再生出力は禁止される。
【0261】
ステップS302において、再生回数が制限回数を過ぎていないと判定された場合、ステップS305に進み、利用条件管理プログラム1402は、再生終了日時が現在日時を過ぎているか否かを判定する。再生終了日時が現在日時を過ぎている場合には、上述した場合と同様にステップS303において、選択されたコンテンツをHDD21から削除させるとともに、曲データベースからも削除させる。そして、ステップS304において、新たな曲データベースのハッシュ値が計算され、保存される。この場合にも、再生出力は禁止される。
【0262】
ステップS305において、再生終了日時が現在日時を過ぎていないと判定された場合は、ステップS306に進み、CPU32は、その選択されたコンテンツに対して再生時課金条件が付加されているか否かを判定する。再生時課金条件が付加されている場合には、ステップS307に進み、表示操作指示プログラム112は、再生時課金条件が付加されている旨のメッセージと料金を、ディスプレイ20に表示させる。ステップS306において、再生時課金条件が付加されていないと判定された場合、ステップS307の処理はスキップされる。
【0263】
次に、図31と図32のフローチャートを参照して、コンテンツ管理プログラム111を実行するCPU11およびメインプログラムを実行するCPU53による、HDD21からポータブルデバイス6経由でコンテンツを出力(再生)する場合の処理について説明する。ステップS321乃至ステップS325において、曲データベースの改竄チェックと選択されたコンテンツの指定、並びに選択されたコンテンツの再生条件等のチェック処理が行われる。その処理は、図28のステップS271乃至ステップS275の処理と同様の処理であるので、その説明は省略する。
【0264】
ステップS326において、ポータブルデバイス6とパーソナルコンピュータ1の間で相互認証処理が実行され、相互の間で、通信用鍵が共有される。ステップS327において、表示操作指示プログラム112は、ポータブルデバイス6に対して、これから送る暗号化されているコンテンツを再生するように命令する。ステップS328において、表示操作指示プログラム112は、ステップS324で、コンテンツ管理プログラム111を介してコンテンツデータベース114に、指定された選択されたコンテンツのファイル名を曲データベースから読み出させ、そのファイル名のコンテンツをHDD21から読み出させる。表示操作指示プログラム112は、ステップS329において、コンテンツ管理プログラム111に、コンテンツの圧縮符号化方式、暗号化方式、フォーマットなどをポータブルデバイス6の方式のものに変換する処理を実行させる。そして、ステップS330において、表示操作指示プログラム112は、暗号化プログラム137に、ステップS329において変換したコンテンツを通信用鍵で暗号化させ、ポータブルデバイス6に転送する。
【0265】
ステップS331において、ポータブルデバイス6のCPU53は、ステップS327において、パーソナルコンピュータ1から転送されてきた命令に対応して、転送を受けた各データを通信用鍵で復号し、再生出力する。ステップS332において、表示操作指示プログラム112は、コンテンツ管理プログラム111を介してコンテンツデータベース114に、曲データベースの再生回数カウントを1だけインクリメントさせる。さらに、ステップS333において、表示操作指示プログラム112は、選択されたコンテンツに再生時課金条件が付加されているか否かを判定し、付加されている場合には、ステップS334において、コンテンツ管理プログラム111を介してコンテンツデータベース114に、その料金を課金ログに書き込ませ、ステップS335において、CPU32に、曲データベース全体のハッシュ値を新たに計算させ、保存させる。選択されたコンテンツに再生時課金条件が付加されていない場合には、ステップS334,ステップS335の処理はスキップされる。
【0266】
本発明においては、コンテンツが不正に複製されるのを防止するために、各種の工夫が凝らされている。例えば、CPU11を動作させるプログラムは、その実行順序が毎回変化するような、いわゆるタンパーレジスタントソフトウェアとされている。
【0267】
さらに、上述したように、CPU11の機能の一部は、ハードウェアとしてのアダプタ26に分担され、両者が共働して各種の処理を実行するようになされている。これにより、より安全性を高めることが可能となっている。
【0268】
例えば、上述したように、曲データベースのハッシュ値は、曲データベース自体に保存されるのではなく、アダプタ26の不揮発性メモリ34に保存される。すなわち、図8のステップS32,S33などの前回保存しておいたハッシュ値との比較処理において、比較対象とされる過去のハッシュ値は、不揮発性メモリ34に記憶されているものとされる。これにより、例えば、他の記録媒体にコピーまたは移動させる前に、HDD21に保存されているコンテンツを含む記録内容の全てをバックアップしておき、HDD21から、そこに保存されているコンテンツを他の記録媒体にコピーまたは移動した後、HDD21にバックアップしておいた記録内容に含まれるコンテンツを再びリストアするようにすることで、利用条件を無視して、実質的に際限なく、コピーまたは移動ができてしまうようなことが防止される。
【0269】
例えば、図33に示すように、HDD21にコンテンツA,Bが保存されている場合、不揮発性メモリ34には、コンテンツAとコンテンツBの情報に対応するハッシュ値が保存されている。この状態において、HDD21のコンテンツA,Bを含む記録データの一部または全部を他の記録媒体271にバックアップしたとする。その後、HDD21に保存されているコンテンツAとコンテンツBのうち、コンテンツAを他の記録媒体272に移動させた場合、その時点において、HDD21に記録されているコンテンツは、コンテンツBだけとなるので、不揮発性メモリ34のハッシュ値も、コンテンツBに対応するハッシュ値に変更される。
【0270】
従って、その後、記録媒体271にバックアップしておいたHDD21のコンテンツA,Bを含む記録データの一部または全部をHDD21にリストアして、HDD21に、再びコンテンツAとコンテンツBを保存させたとしても、不揮発性メモリ34には、コンテンツBの情報から演算されたハッシュ値が記憶されており、コンテンツAとコンテンツBの情報から演算されたハッシュ値は記憶されていない。これにより、その時点において、HDD21に記憶されているコンテンツAとコンテンツBに基づくハッシュ値が、不揮発性メモリ34に記憶されている過去のハッシュ値と一致しないことになり、曲データベースが改竄されたことが検出される。その結果、以後、HDD21に保存されているコンテンツAとコンテンツBの利用が制限されてしまうことになる。
【0271】
さらに、上述したように、アダプタ26は、RTC35を内蔵しており、このRTC35の値は、正しい認証結果が得られた他の装置(例えば、EMDサーバ4)から転送されてきた時刻データに基づいて、その時刻情報を修正する。そして、現在日時としては、パーソナルコンピュータ1が管理するものではなく、RTC35が出力するものが利用される。従って、使用者が、パーソナルコンピュータ1の現在時刻を故意に過去の時刻に修正し、再生条件としての再生終了日時の判定を免れるようなことができなくなる。
【0272】
また、アダプタ26は、暗号化されて転送されてきたプログラムをROM36に予め記憶されているプログラムに従って復号し、実行するように構成することで、より安全性が高められている。次に、この点について、図34のフローチャートを参照して説明する。
【0273】
すなわち、パーソナルコンピュータ1は、アダプタ26に対して、所定の処理を実行させたいとき、ステップS351において、アダプタ26に実行させるべきプログラムをRAM13に予め記憶されている暗号鍵を用いて暗号化してアダプタ26に転送する。アダプタ26のROM36には、パーソナルコンピュータ1から転送されてきた、暗号化されているプログラムを復号し、実行するためのプログラムが予め記憶されている。CPU32は、このROM36に記憶されているプログラムに従って、パーソナルコンピュータ1から転送されてきた暗号化されているプログラムをステップS352において復号する。そして、ステップS313において、CPU32は、復号したプログラムをRAM33に展開し、ステップS354において、そのプログラムを実行する。
【0274】
例えば、上述したように、パーソナルコンピュータ1のCPU11は、HDD21の曲データベースのハッシュ値をアダプタ26に計算させるとき、曲データベースのデータを暗号鍵で暗号化してアダプタ26のCPU32に転送する。CPU32は、転送されてきた曲データベースのデータに対してハッシュ関数を適応し、ハッシュ値を計算する。そして、計算されたハッシュ値を不揮発性メモリ34に記憶させる。あるいは、そのハッシュ値を、CPU32は、予め記憶されている過去のハッシュ値と比較し、比較結果をパーソナルコンピュータ1のCPU11に転送する。
【0275】
図35は、アダプタ26の内部のより具体的な構成を表している。アダプタ26は、半導体ICとして形成される。アダプタ26は、図2に示したインタフェース31、CPU32、RAM33、不揮発性メモリ34、RTC35、ROM36以外に、RAM33に対する書き込みと読み出しを制御するRAMコントローラ301、並びに論理回路302を有している。論理回路302は、例えば、暗号化されているコンテンツを解読した後、解読したデータをアダプタ26から直接出力するような場合の処理のために用いられる。
【0276】
これらのインタフェース31乃至ROM36、RAMコントローラ301、並びに論理回路302は、半導体IC内に一体的に組み込まれ、外部からは分解できないように構成されている。
【0277】
水晶振動子311は、アダプタ26が各種の処理を実行する上において、基準となるクロックを生成するとき用いられる。発振回路312は、RTC35を動作させるための発振回路である。バッテリ313は、発振回路312、不揮発性メモリ34、およびRTC35に対してバックアップ用の電力を供給している。アダプタ26のその他の回路には、パーソナルコンピュータ1の電源供給回路321からの電力が供給されている。
【0278】
不揮発性メモリ34は、書き込み消去可能なROMで構成することも可能であるが、バッテリ313からのバックアップ電源でバックアップされるRAMで構成する場合には、例えば、図36に示すように、不揮発性メモリ34の上に保護アルミニウム層351を形成し、さらに、その保護アルミニウム層351と同一平面上となるように、不揮発性メモリ34にバッテリ313からの電力を供給する電源パターン352を形成するようにすることができる。このようにすると、例えば、不揮発性メモリ34を改竄すべく、保護アルミニウム層351を削除しようとすると、同一平面上の電源パターン352も削除されてしまい、不揮発性メモリ34に対する電力の供給が断たれ、内部に記憶されているデータが消去されてしまうことになる。このように構成することで、タンパーレジスト性をより高めることができる。
【0279】
さらに、図37に示すように、不揮発性メモリ34に対するデータの書き込みまたは読み出しのための配線401−1乃至401−3は、対応する位置で、上下(深さ)方向に重なりあうように形成されている。これにより、より下層の配線401−3からデータを読み出すためには、上方の配線401−1,401−2を除去しなければならず、複数の配線401−1,401−2,401−3から同時にデータを読み取ることができなくなる。
【0280】
さらにまた、不揮発性メモリ34は、配線401−1乃至401−3を冗長に形成するようにすることができる。例えば、不揮発性メモリ34内部に形成される配線401−1乃至401−3が不揮発性メモリ34を構成するトランジスタなどの素子を結合するとき、その経路は、例え、直線的に結合が可能であっても、直線的には形成されず、所定の長さとなるように形成される。このようにすることで、配線401−1乃至401−3の長さは、本来必要な長さ以上の長さとなり、配線に必要な最短の長さの場合に比較して大きな寄生容量を有することとなる。
【0281】
不揮発性メモリ34からデータを読み出すために設計されている専用の回路(半導体ICとしてのアダプタ26に内蔵されている)は、その寄生容量にマッチングしたインピーダンスを設定することで、不揮発性メモリ34が記憶しているデータを正常に読み出すことができる。しかしながら、不揮発性メモリ34に記憶されているデータを読み出すべく、プローブを配線401−1乃至401−3に接続させると、その寄生容量とプローブによる合成の容量が影響して、データを正常に読み出すことが困難になる。
【0282】
以上においては、記録媒体として、ポータブルデバイス6を用いる場合を例として説明したが、本発明は、その他の記録媒体にデータを移転またはコピーする場合にも応用することが可能である。
【0283】
また、コンテンツは、曲のデータまたは音声データなどの楽音データ以外に、画像データ、その他のデータとすることもできる。
【0284】
以上のように、本発明によれば、次のような効果を奏することができる。
【0285】
(1) HDD21に暗号化してデータを記録するとともに、暗号鍵も保存用鍵で暗号化した上でHDD21に記録するようにしたので、HDD21に記録されているコンテンツをコピーしても、これを復号することができないので、複製が大量に配布されることを防止することができる。
【0286】
(2) 所定の曲を1回コピーしたとき、一定時間(上記例の場合、48時間)の間、その曲をコピーすることができないようするために、その曲と録音日時を曲データベース上に登録するようにしたので、そのコピー回数を制限することができ、複製を大量に配布することを防止することができる。
【0287】
さらにデータベースを更新する度に、データのハッシュ値を計算し保存するようにしたので、データベースの改竄を防止することが容易となる。
【0288】
(3) 外部の装置にコンテンツを渡したら、HDD21上のコンテンツを消去するようにしたので、HDD21内に元のデジタルデータであるコンテンツが残らず、その複製を大量に配布することが防止される。
【0289】
(4) HDD21内に曲データベースを設け、全体のハッシュ値を毎回チェックするようにしたので、HDD21の内容をムーブの直前にバックアップし、ムーブ直後にバックアップしたデータをHDD21にリストアするようにしたとしても、送り元のデータを確実に消去することが可能となる。
【0290】
(5) パーソナルコンピュータ1が外部の機器にデータを渡すとき、その前に相互認証処理を行うようにしたので、不正な機器にデータを渡してしまうようなことが防止される。
【0291】
(6) 外部機器から、パーソナルコンピュータ1に対してデータを渡す前に、パーソナルコンピュータ1のソフトウェアが正当なものであるか否かを相互認証により確認するようにしたので、不正なソフトウェアに対してコンテンツを渡してしまうようなことが防止される。
【0292】
(7) 曲の同一性の判定にISRCを用い、ISRCが取得できないときは、TOCを用いるようにしたので、ISRCが取得できなくとも、曲の同一性を判定することが可能になる。
【0293】
(8) パーソナルコンピュータ1におけるソフトウェア機能のうち、所定の部分をパーソナルコンピュータ1に外付けされるアダプタ26に負担させるようにしたので、パーソナルコンピュータ1のソフトウェアを解析しただけでは、全体としてどのような処理となっているのかが判らないので、ソフトウェアを改竄をして、意図する機能を持たせるようなことが困難となる。
【0294】
なお、アダプタ26が実行する処理は、セキュアなプログラムでCPU11が実行するようにしてもよい。この場合において、例えば、同一な値を有する保存用鍵は、保存用鍵が必要になった時点で、コンテンツ管理プログラム111により生成される。同様に、ハッシュ値は、コンテンツ管理プログラム111により隠蔽されて保存される。
【0295】
また、アダプタ26が実行する処理が、セキュアなプログラムでCPU11により実行されるとき、パーソナルコンピュータ1は、アダプタ26のRTC35が供給する現在時刻に代えて、ネットワーク2に接続されている特定のサーバ(例えば、EMD登録サーバ3)から現在時刻のデータをダウンロードして、その現在時刻を基に、判定の処理を実行する。また、この場合において、パーソナルコンピュータ1は、所定の時間間隔で現在時刻を記憶して、記憶している時刻より以前の時刻が設定されたとき、エラーの表示を行い、時刻の設定を受け付けないようにしてもよい。
【0296】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
【0297】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図2に示すように、磁気ディスク41(フロッピディスクを含む)、光ディスク42(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク43(MD(Mini-Disc)を含む)、若しくは半導体メモリ44などよりなるパッケージメディア、または、プログラムが一時的若しくは永続的に格納されるROM12や、HDD21などにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じて通信部25などのインタフェースを介して、ローカルエリアネットワークまたはインターネットなどのネットワーク2、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0298】
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0299】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0300】
【発明の効果】
以上の如く、請求項1に記載の情報処理装置、請求項5に記載の情報処理方法、および請求項6に記載のプログラム格納媒体によれば、固定鍵を利用して行われた相互認証処理により、通信用鍵が生成され、暗号鍵を、保存用鍵で暗号化して、暗号化されているデータに対応して、蓄積するようにしたので、蓄積されているデータのコピーが行われたとしても、それを利用することを実質的に防止することができるとともに、他の装置との間でデータを授受する際にデータがコピーされたとしても、それが利用されるのを防止することができる。
【図面の簡単な説明】
【図1】本発明に係るコンテンツデータ管理システムの一実施の形態を示す図である。
【図2】パーソナルコンピュータ1の構成を説明する図である。
【図3】ポータブルデバイス6の構成を説明する図である。
【図4】パーソナルコンピュータ1の機能の構成を説明するブロック図である。
【図5】表示操作指示ウィンドウの例を示す図である。
【図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】図2のパーソナルコンピュータ1のIEC60958端子24aからHDD21へコンテンツをコピーする場合の処理を説明するフローチャートである。
【図27】図2のパーソナルコンピュータ1のIEC60958端子24aからHDD21へコンテンツをコピーする場合の処理を説明するフローチャートである。
【図28】 HDD21からIEC60958端子24aにコンテンツを出力する場合の動作を説明するフローチャートである。
【図29】 HDD21からIEC60958端子24aにコンテンツを出力する場合の動作を説明するフローチャートである。
【図30】図28のステップS275の再生条件などのチェック処理を説明するフローチャートである。
【図31】 HDD21からポータブルデバイス6経由でコンテンツを出力する場合の動作を説明するフローチャートである。
【図32】 HDD21からポータブルデバイス6経由でコンテンツを出力する場合の動作を説明するフローチャートである。
【図33】不揮発性メモリ34の機能を説明する図である。
【図34】アダプタ26の動作を説明するフローチャートである。
【図35】アダプタ26の内部の構成を示す図である。
【図36】不揮発性メモリ34の内部の構成例を示す図である。
【図37】不揮発性メモリ34の内部の構成例を示す図である。
【符号の説明】
1 パーソナルコンピュータ, 2 ネットワーク, 3 EMD登録サーバ,6−1乃至6−3 ポータブルデバイス, 11 CPU, 12 ROM, 13 RAM, 21 HDD, 24 音声入出力インターフェース, 24a IEC60958端子, 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 利用条件管理プログラム, 141 認証プログラム, 142 復号プログラム,143 PD用ドライバ, 144 購入用プログラム, 145 購入用プログラム, 181 フィルタリングデータファイル, 182 表示データファイル, 183 画像ファイル, 184 履歴データファイル, 351 保護アルミニュウム層, 352 電源パターン, 401−1乃至401−3 配線[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing device and method, and a program storage medium, and more particularly, to an information processing device and method, and a program storage that can prevent data leakage and duplication in the middle of a communication path. It relates to the medium.
[0002]
[Prior art]
Recently, with the spread of digital technology, various data such as music data and image data are digitally recorded or reproduced on a recording medium. As a result, it has become possible to obtain data whose image quality or sound quality does not deteriorate even when copied multiple times.
[0003]
[Problems to be solved by the invention]
However, when digital technology develops in this way, the following problems occur.
[0004]
(1) For example, when copying digital music data from a compact disc (CD) to a hard disk of a personal computer, the music data from the CD is recorded on the hard disk as it is or after being compressed and encoded. Can illegally distribute a large number of copies over the network.
[0005]
(2) When copying digital music data from a CD to a hard disk of a personal computer, there is no limit to the number of copies, and a large number of copies are distributed.
[0006]
(3) When digital music data in the hard disk of a personal computer is transferred to an external device such as a portable device, the original digital music data remains in the hard disk after the transfer. There is a risk.
[0007]
(4) In order to prevent the above problem (3), after transferring the digital music data to an external device, the hard disk data as the data source is deleted (so-called music data is moved). As long as you create personal computer software, for example, if you back up the contents of the hard disk to another recording medium before the move and restore the backed up data to the hard disk after the move, Eventually, the data that should have been moved will remain on the hard disk.
[0008]
(5) When the personal computer moves the digital music data in the hard disk to an external device such as a portable device, the digital music data is passed to an illegal device because it does not check what the external device is. There is a risk that.
[0009]
(6) When passing digital music data from an external device such as a portable device to a personal computer, the software that controls the personal computer is not confirmed. Digital music data may be passed.
[0010]
(7) When music data played from a CD is handled by a personal computer, the ISRC (International Standard Recording Code) included in the song data can be used to determine whether or not the songs are the same. Some CDs do not contain ISRC data. In this case, it is impossible to determine whether or not a plurality of songs are the same.
[0011]
(8) Each of the functions as described above is realized by software control on a personal computer. Therefore, if the software is tampered with, the system creator can perform an operation that is not intended.
[0012]
The present invention has been made in view of such circumstances, and prevents digital music data from leaking and being illegally copied when digital music data in a hard disk is passed to an external device. It is.
[0013]
[Means for Solving the Problems]
An information processing apparatus according to
[0014]
The information processing device is stored in the storage meansCipherThe key is decrypted by the encryption key decryption means for decrypting the key using the storage key and the encryption key decryption means.CipherData decrypting means for decrypting data stored in the storing means using the key can be further included.
There is further provided a compression means for compressing the data by a predetermined method, and the data stored in the storage means isSecondWhen outputting to the device, the compression meansA second device is availableData can be compressed by a compression method.
The encryption unit can further encrypt the data using an encryption method that can be used by the second device when the data stored in the storage unit is output to the second device.
[0015]
Claim5The information processing method described inFirstBetween devicesEncrypted using the specified encryption keyA sending and receiving step for sending and receiving data; a holding step for holding a predetermined fixed key and a storage key;FirstWhen exchanging data with the device, using the fixed key held in the holding step process,FirstAn authentication step of performing mutual authentication processing with the device and generating a communication key;CipherThe key received with the encryption step of encrypting the key with the storage key and the processing of the transfer step,CipherThe data encrypted with the key was encrypted by the encryption step process.CipherAnd an accumulation step of accumulating in association with the key.
[0016]
Claim6The program storage medium program described inFirstBetween devicesEncrypted using the specified encryption keyA sending and receiving step for sending and receiving data; a holding step for holding a predetermined fixed key and a storage key;FirstWhen exchanging data with the device, using the fixed key held in the holding step process,FirstAn authentication step of performing mutual authentication processing with the device and generating a communication key;CipherThe key received with the encryption step of encrypting the key with the storage key and the processing of the transfer step,CipherThe data encrypted with the key was encrypted by the encryption step process.CipherAnd an accumulation step of accumulating in association with the key.
[0017]
The information processing apparatus according to
[0018]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a diagram showing an embodiment of a content data management system according to the present invention. The
[0019]
The
[0020]
The usage condition data includes, for example, the number of portable devices (also referred to as PDs) that can simultaneously use content corresponding to the usage condition data (the number of PDs that can be checked out, which will be described later). Show. Even when the number of contents indicated in the usage condition data is checked out, the
[0021]
Alternatively, the usage condition data indicates that it can be copied. When the content is copied to the portable devices 6-1 to 6-3, the
[0022]
Alternatively, the usage condition data indicates that it can be moved to another personal computer. After the content is moved to the portable devices 6-1 to 6-3, the content recorded by the
[0023]
Details of the usage condition data will be described later.
[0024]
The
[0025]
The
[0026]
Also, the
[0027]
The
[0028]
The
[0029]
When the
[0030]
In response to a request from the
[0031]
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.
[0032]
A WWW (World Wide Web) server 5-1 responds to a request from the
[0033]
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).
[0034]
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.
[0035]
The user can remove the portable device 6-1 storing the content from the
[0036]
The portable device 6-2 stores the content supplied from the
[0037]
The portable device 6-3 stores the content supplied from the
[0038]
Hereinafter, when it is not necessary to individually distinguish the portable devices 6-1 to 6-3, they are simply referred to as
[0039]
FIG. 2 is a diagram for explaining the configuration of the
[0040]
The
[0041]
The
[0042]
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
[0043]
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
[0044]
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
[0045]
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
[0046]
The audio input /
[0047]
The
[0048]
The
[0049]
The
[0050]
The
[0051]
Hereinafter, when it is not necessary to individually distinguish the USB ports 23-1 to 23-3, they are simply referred to as the
[0052]
Next, the configuration of the
[0053]
When the
[0054]
Data transferred from the
[0055]
Data transferred to the
[0056]
The header size represents the header data length (for example, 33 bytes), and the file size represents the content data length (for example, 33,636,138 bytes).
[0057]
The content key is a key for decrypting the encrypted content, and is encrypted based on the session key (temporary key) generated by the mutual authentication process between the
[0058]
When the
[0059]
The challenge response method is, for example, responding to a certain value (challenge) generated by the
[0060]
The content ID is an ID for specifying content corresponding to the content.
[0061]
The codec ID is an ID corresponding to the content encoding method. For example, the codec ID “1” corresponds to ATRAC3, and the codec ID “0” is MP3 (MPEG (Moving Picture Experts Group) Audio Layer-3. ).
[0062]
The file name is data obtained by converting a content file (described later) recorded by the
[0063]
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.
[0064]
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.
[0065]
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
[0066]
For example, when the reproduction restriction data is “2”, the start date / time is “0000000F”, the end date / time is “0000000F”, and the number limit is “02”, the
[0067]
For example, when the playback restriction data is “1”, the start date and time is “000000”, the end date and time is “000000”, the number limit is “0a”, and the playback number counter is “05”, Corresponding content has no limitation on the period during which it can be played back, the number of times it can be played is 10 times, and the number of times it is played back is 5.
[0068]
When the
[0069]
The flash memory 61 has a storage capacity of about 64 MByte and stores content. Further, the flash memory 61 stores in advance a reproduction code for decompressing the content compressed by a predetermined compression method.
[0070]
The flash memory 61 can be detachably attached to the
[0071]
When a playback command corresponding to a pressing operation of a playback / stop button (not shown) by the user is supplied to the
[0072]
The
[0073]
The
[0074]
The
[0075]
Similarly, an oscillator 53A or 57A made of crystal is externally attached to the
[0076]
With this configuration, the
[0077]
The digital-
[0078]
In this way, the
[0079]
When the playback / stop button is pressed again after the stop, the
[0080]
Incidentally, when the playback / stop button is pressed after the power is turned off, the
[0081]
Further, the
[0082]
Further, the
[0083]
Incidentally, in the present embodiment, 64K bytes are handled as one block, and the block position corresponding to the content of one song is stored in the FAT.
[0084]
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
[0085]
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.
[0086]
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.
[0087]
Therefore, the
[0088]
By storing the FAT with a large number of rewrites in the
[0089]
When the
[0090]
When the
[0091]
When the
[0092]
As described above, when the
[0093]
The
[0094]
FIG. 4 is a block diagram illustrating a functional configuration of the
[0095]
The
[0096]
The
[0097]
The check-in / check-out
[0098]
The check-in / check-out
[0099]
Based on the use condition files 162-1 to 162-N recorded in the
[0100]
The
[0101]
The encryption method conversion program 135 is a method of encrypting the content received by the
[0102]
In addition, when the content is checked out to the portable device 6-1 or 6-3, the encryption method conversion program 135 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.
[0103]
The compression
[0104]
Further, when the content is checked out to the portable device 6-1 or 6-3, the compression
[0105]
The
[0106]
The compression /
[0107]
The use
[0108]
In addition, when the content is checked out to the portable device 6-1 or 6-3, the usage
[0109]
The usage
[0110]
The
[0111]
The authentication key used by the
[0112]
The
[0113]
When the
[0114]
When the
[0115]
When the
[0116]
The
[0117]
The
[0118]
The
[0119]
The purchase program 145 is a program that is installed together with the
[0120]
The display operation instruction program 112 displays an image of a predetermined window on the
[0121]
The filtering data file 181 stores data for weighting each content stored in the content files 161-1 to 161-N recorded in the
[0122]
The display data file 182 stores data corresponding to the content stored in the content files 161-1 to 161 -N recorded in the
[0123]
The image files 183-1 to 183-K store images corresponding to the content files 161-1 to 161-N recorded in the
[0124]
Hereinafter, when it is not necessary to individually distinguish the image files 183-1 to 183-K, they are simply referred to as an
[0125]
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
[0126]
During the registration process, the display operation instruction program 112 transmits the ID of the
[0127]
The
[0128]
The
[0129]
The
[0130]
When a recording instruction is input, the
[0131]
The
[0132]
The
[0133]
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.
[0134]
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
[0135]
Hereinafter, when it is not necessary to individually distinguish the content files 161-1 to 161 -N, they are simply referred to as the
[0136]
The application program for
[0137]
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.
[0138]
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.
[0139]
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).
[0140]
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.
[0141]
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
[0142]
The filtering data is a reference for selecting a predetermined content or calculating a weight corresponding to the content. For example, if the filtering data corresponding to this week's J-POP (Japanese pop) best ten is used, the
[0143]
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”.
[0144]
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
[0145]
The
[0146]
FIG. 5 is a diagram illustrating an example of a display operation instruction window displayed on the
[0147]
In the display operation instruction window, a
[0148]
When the
[0149]
The data displayed in the
[0150]
For example, in FIG. 5, the package name “first” and the artist name “A Taro”, the package name “second”, the artist name “A Taro”, and the like are displayed in the
[0151]
In the
[0152]
For example, in FIG. 5, since the package corresponding to the package name “second” is selected, the song name “Southern bar” corresponding to the content belonging to the package corresponding to the package name “second” and the number of checkouts ( For example, one eighth note corresponds to one checkout, two eighth notes indicate two checkouts, and the song name “North Graveyard” and the number of possible checkouts (one eighth note) Is displayed once in the
[0153]
Thus, one eighth note as the number of checkouts displayed in the
[0154]
The rest as the number of possible checkouts displayed in the
[0155]
As shown in FIG. 5, the number of possible checkouts may be displayed not only with a predetermined number of figures (for example, a circle, a star, and a moon) but also with a number.
[0156]
The display operation instruction window has a
[0157]
When the
[0158]
When a window button (
[0159]
When the window button to be displayed by the
[0160]
In the
[0161]
When the display operation instruction program 112 causes the
[0162]
Further, when the display operation instruction program 112 displays the
[0163]
The
[0164]
When the
[0165]
When the check-in or check-out is executed, the display operation instruction program 112 updates the history data stored in the history data file 184 in response to the transmitted content or the transmitted command. The historical data includes information identifying the checked-in or checked-out content, the date when the content was checked in or checked out, the names of the portable devices 6-1 to 6-3 where the content was checked out, and the like. Become.
[0166]
The check-in or check-out setting process can be executed in a short time, so that the user can quickly know the state after the check-in or check-out process has been executed and the time-consuming check-in or check-out process can be performed. By reducing the number of processes, the overall time required for check-in or check-out (including set-up and execution) can be shortened.
[0167]
FIG. 6 is a diagram illustrating an example of a window that the
[0168]
Based on the CD information received from the WWW server 5-2, the
[0169]
After the
[0170]
When the
[0171]
When the
[0172]
The
[0173]
The
[0174]
When the
[0175]
The display operation instruction program 112 generates display data to be stored in the display data file 182 based on usage condition data and CD information corresponding to the content stored in the
[0176]
In the window displayed by the
[0177]
For example, when the
[0178]
As described above, when the content read from the CD is recorded in the
[0179]
Next, referring to the flowchart of FIG. 7, the content reproduced from the CD loaded in the drive 22 by the
[0180]
Specifically, for example, the
[0181]
The user operates the
[0182]
Next, in step S12, the
[0183]
In step S31, the use
[0184]
Note that when no data is recorded in the term database, the use
[0185]
That is, a time limit database is formed in the
[0186]
A hash function is a one-way function that maps a message of an arbitrary length to a value compressed to a short fixed length, and has the property that it is difficult to perform inverse transformation to obtain the original data from the compressed data. . Moreover, collision between hash values hardly occurs, that is, it is difficult to assign the same value to two different messages, for example. The hash function is used as a checksum for confirming that the message has not been tampered with in the middle of communication, or is used in a digital signature. Examples of hash functions include SHA (Secure Hash Algorithm) and MD (Message Digest) 5.
[0187]
In step S31, the use
[0188]
In step S33, the use
[0189]
If the hash value calculated in step S31 matches the previous hash value, the process proceeds to step S35, and the use
[0190]
In step S36, the use
[0191]
Next, in step S39, the use
[0192]
If it is determined in step S36 that the ISRC of the selected content is registered in the time limit database, the selected content is content that has been registered in the
[0193]
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 of the selected content to the
[0194]
As a result of the processing in step S40, a new copy of the content cannot be generated unless a predetermined time has passed. For example, an illegal copy can be generated without unduly preventing the generation of a copy of the content intended for normal use that is not illegal. It is virtually impossible to generate a large amount of content copies necessary for sales or distribution. In step S40, the criterion for determination is that 48 hours or more have elapsed, but is not limited to 48 hours, and may be any time from 12 hours to 168 hours, for example.
[0195]
As described above, a flag indicating whether or not the selected content is registered in the
[0196]
Returning to FIG. 7, in step S <b> 13, the
[0197]
If it is determined in step S13 that the selected content is not registered in the time limit database, the process proceeds to step S15, and the
[0198]
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, where the
[0199]
Next, in
[0200]
This storage process and the above-described compression encoding process and encryption process may be performed separately or in parallel.
[0201]
Further, in step S22, the
[0202]
In step S23, the
[0203]
In this way, for example, a song database as shown in FIG. 11 is registered on the
[0204]
For example, in the method prescribed by Secure Digital Music Initiative (SDMI), the number of times that content can be checked out is set to 3 times in correspondence with content copied from a CD.
[0205]
Since the content can be copied again after a certain period of time has passed since the content is copied from the CD to the
[0206]
Further, for example, the contents of the term database recorded in the
[0207]
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.
[0208]
Next, referring to the flowcharts of FIGS. 12 to 14, the
[0209]
First, content movement processing will be described. In step S51, the
[0210]
Next, in step S54, the
[0211]
Next, in step S56, mutual authentication processing is performed between the
[0212]
For example, the master key KM is stored in advance in the flash memory 61 (or EEPROM 68) of the
[0213]
Alternatively, the ID and master key KMP are stored in advance in the
[0214]
As an authentication method, for example, IOS (International Organization for Standardization) 9798-2 can be used.
[0215]
When the mutual authentication is not correctly performed, the process is terminated. When the mutual authentication is correctly performed, the
[0216]
In step S59, the
[0217]
In step S61, the
[0218]
In step S64, the
[0219]
In step S65, the
[0220]
In step S67, the
[0221]
When the storage of the encryption key is completed, the
[0222]
Next, processing for checking out content from the
[0223]
Next, a check process such as the playback condition of the selected content in step S55 of FIG. 12 by the
[0224]
If the current date / time has passed the playback end date / time, the process advances to step S85, and the
[0225]
If it is determined in step S84 that the current date / time has not passed the playback end date / time, the process advances to step S87, and the
[0226]
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
[0227]
If it is determined in step S90 that the playback condition is not registered, or if it is determined in step S91 that the
[0228]
FIG. 16 shows an example of playback conditions managed (protectable) by the
[0229]
Next, details of the format conversion process in step S58 in FIG. 12 by the
[0230]
In step S104, the
[0231]
If it is determined in step S104 that a condition that can be set exists, the process advances to step S106, and the
[0232]
Next, processing when content is copied from the
[0233]
Next, with reference to a flowchart of FIG. 21, a process of moving content from the
[0234]
First, content movement processing will be described. In
[0235]
In step S162, the
[0236]
Next, in step S <b> 163, the
[0237]
In step S165, the
[0238]
In step S166, upon receiving the transfer of the encryption key from the
[0239]
In step S169, the
[0240]
Next, processing for checking in content from the
[0241]
When the flash memory 61 of the
[0242]
In addition, as described above, content checked out from a predetermined personal computer can be checked in only to the personal computer. As a pre-processing of the check-in processing, the selected content is checked-in. There is a step of determining whether the check-in is performed from the PC to be performed and, if it is determined that the check-in is not performed from the PC, the check-in is not performed. For example, a case where an attempt is made to check in a content with a cross in the
[0243]
Next, processing when the content is copied from the
[0244]
Next, a process of copying the content transferred from the
[0245]
The mutual authentication process performed between the
[0246]
Next, in step S205, the
[0247]
In step S208, the
[0248]
In step S205, the
[0249]
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
[0250]
Next, in step S <b> 222, the
[0251]
Next, with reference to the flowcharts of FIGS. 26 and 27, the
[0252]
When CD playback is started in the CD player, in step S244, the content output from the CD player is transferred to the
[0253]
If the
[0254]
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 content has already been registered as a result of the time limit database check, the processing is terminated in the processing of steps S251 and S252. This process is the same as the process of steps S13 and S14 in FIG.
[0255]
If the selected content is not yet registered in the
[0256]
Next, with reference to the flowcharts of FIG. 28 and FIG. 29, processing when the
[0257]
Next, in step S276, the display operation instruction program 112 causes the
[0258]
Next, in step S279, the display operation instruction program 112 causes the
[0259]
In step S281, the display operation instruction program 112 causes the
[0260]
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
[0261]
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 use condition management program 1402 determines whether or not the reproduction end date / time has passed the current date / time. If the playback end date / time has passed the current date / time, the selected content is deleted from the
[0262]
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
[0263]
Next, with reference to the flowcharts of FIG. 31 and FIG. 32, processing when the
[0264]
In step S326, a mutual authentication process is executed between the
[0265]
In step S331, in response to the command transferred from the
[0266]
In the present invention, various ideas have been devised in order to prevent content from being illegally copied. For example, the program for operating the
[0267]
Furthermore, as described above, a part of the function of the
[0268]
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
[0269]
For example, as shown in FIG. 33, when the contents A and B are stored in the
[0270]
Therefore, after that, even if part or all of the recorded data including the contents A and B of the
[0271]
Further, as described above, the
[0272]
Further, the
[0273]
That is, when the
[0274]
For example, as described above, when the
[0275]
FIG. 35 shows a more specific configuration inside the
[0276]
The
[0277]
The
[0278]
The
[0279]
Further, as shown in FIG. 37, wirings 401-1 to 401-3 for writing / reading data to / from the
[0280]
Furthermore, the
[0281]
A dedicated circuit (built in the
[0282]
In the above description, the case where the
[0283]
The content may be image data or other data in addition to musical tone data such as music data or audio data.
[0284]
As described above, according to the present invention, the following effects can be obtained.
[0285]
(1) The data is encrypted and recorded on the
[0286]
(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.
[0287]
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.
[0288]
(3) Since the content on the
[0289]
(4) Since the song database is provided in the
[0290]
(5) Since the
[0291]
(6) Before the data is transferred from the external device to the
[0292]
(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.
[0293]
(8) Of the software functions in the
[0294]
The processing executed by the
[0295]
Further, when the processing executed by the
[0296]
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.
[0297]
As shown in FIG. 2, 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
[0298]
In the present specification, the step of describing the program stored in the program storage medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. Or the process performed separately is also included.
[0299]
Further, in this specification, the system represents the entire apparatus constituted by a plurality of apparatuses.
[0300]
【The invention's effect】
As described above, the information processing apparatus according to
[Brief description of the drawings]
FIG. 1 is a diagram showing an embodiment of a content data management system according to the present invention.
FIG. 2 is a diagram for explaining the configuration of a
FIG. 3 is a diagram for explaining a configuration of a
4 is a block diagram illustrating a functional configuration of a
FIG. 5 is a diagram illustrating an example of a display operation instruction window.
6 is a diagram illustrating an example of a window displayed on the
FIG. 7 is a flowchart illustrating a process for copying content from a compact disc to the HDD.
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 illustrating an operation of moving content from the
FIG. 13 is a flowchart illustrating an operation for moving content from the
FIG. 14 is a flowchart illustrating an operation of moving content from the
FIG. 15 is a flowchart for explaining a check process for a reproduction condition of a selected content in step S55 of FIG.
FIG. 16 is a diagram for explaining playback conditions managed by the
FIG. 17 is a flowchart illustrating details of the format conversion process in step S58 of FIG.
FIG. 18 is a flowchart for explaining the operation when copying content from the
FIG. 19 is a flowchart for explaining the operation when copying content from the
FIG. 20 is a flowchart for explaining the operation when copying content from the
FIG. 21 is a flowchart for explaining the operation when content is transferred from the
FIG. 22 is a flowchart for explaining the operation when copying content from the
FIG. 23 is a flowchart for describing processing when copying content from the
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.
FIG. 26 is a flowchart for explaining processing when copying content from the
27 is a flowchart for explaining processing in the case of copying content from the
FIG. 28 is a flowchart for explaining the operation when content is output from the
FIG. 29 is a flowchart for explaining the operation when content is output from the
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 content is output from the
FIG. 32 is a flowchart for explaining the operation when content is output from the
33 is a diagram illustrating the function of a
34 is a flowchart illustrating the operation of the
35 is a diagram showing an internal configuration of the
36 is a diagram showing an example of the internal configuration of a
37 is a diagram showing an example of the internal configuration of a
[Explanation of symbols]
1 personal computer, 2 network, 3 EMD registration server, 6-1 to 6-3 portable device, 11 CPU, 12 ROM, 13 RAM, 21 HDD, 24 voice input / output interface, 24a IEC60958 terminal, 26 adapter, 32 CPU, 33 RAM, 34 Nonvolatile 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 copy management program, 1 34 mobility management program, 135 encryption method conversion program, 136 compression method conversion program, 137 encryption program, 138 compression / decompression program, 139 use condition conversion program, 140 use condition management program, 141 authentication program, 142 decryption program, 143 PD Driver, 144 Purchasing program, 145 Purchasing program, 181 Filtering data file, 182 Display data file, 183 Image file, 184 History data file, 351 Protection aluminum layer, 352 Power supply pattern, 401-1 to 401-3 Wiring
Claims (6)
所定の固定鍵と保存用鍵を保持する保持手段と、
前記第1の装置との間でデータを授受するとき、前記保持手段に保持されている前記固定鍵を利用して、前記第1の装置と相互認証処理を行い、通信用鍵を生成する認証手段と、
前記暗号鍵を、前記保存用鍵で暗号化する暗号化手段と、
前記授受手段により受信された、前記暗号鍵で暗号化されているデータを、前記暗号化手段により暗号化された前記暗号鍵と対応させて蓄積する蓄積手段と
を含むことを特徴とする情報処理装置。And transfer means for transferring the encrypted data using a predetermined encryption key between the first device,
Holding means for holding a predetermined fixed key and a storage key;
When exchanging data between the first device, authentication by using the fixed key stored in said holding means, performs the first device and the mutual authentication process to generate a communication key Means,
An encryption means for encrypting the encryption key with the storage key;
And storing means for storing the data encrypted by the encryption key received in correspondence with the encryption key encrypted by the encryption means. apparatus.
前記暗号鍵復号手段により復号された前記暗号鍵を用いて、前記蓄積手段に蓄積されているデータを復号するデータ復号手段と
をさらに含むことを特徴とする請求項1に記載の情報処理装置。The encryption key stored in said storage means, the encryption key decoding means for decoding using the storage key,
The encryption key decrypted using the encryption key decrypted by the means, the information processing apparatus according to claim 1, further comprising a data decoding means for decoding data stored in said storage means.
前記蓄積手段に蓄積された前記データを第2の装置に出力するとき、前記圧縮手段は、前記第2の装置が利用可能な圧縮方式で前記データを圧縮する
ことを特徴とする請求項1に記載の情報処理装置。Further comprising compression means for compressing the data in a predetermined manner;
The said compression means compresses the said data by the compression system which can be utilized by the said 2nd apparatus when outputting the said data accumulate | stored in the said storage means to a 2nd apparatus. The information processing apparatus described.
前記蓄積手段に蓄積された前記データを第2の装置に出力するとき、前記第2の装置が利用可能な暗号化方式で前記データを暗号化するWhen outputting the data stored in the storage means to the second device, the data is encrypted by an encryption method that can be used by the second device.
ことを特徴とする請求項1に記載の情報処理装置。The information processing apparatus according to claim 1.
所定の固定鍵と保存用鍵を保持する保持ステップと、
前記第1の装置との間でデータを授受するとき、前記保持ステップの処理で保持された前記固定鍵を利用して、前記第1の装置と相互認証処理を行い、通信用鍵を生成する認証ステップと、
前記暗号鍵を、前記保存用鍵で暗号化する暗号化ステップと、
前記授受ステップの処理で受信された、前記暗号鍵で暗号化されているデータを、前記暗号化ステップの処理で暗号化された前記暗号鍵と対応させて蓄積する蓄積ステップと
を含むことを特徴とする情報処理方法。An exchange step of exchanging data encrypted with a predetermined encryption key with the first device;
A holding step for holding a predetermined fixed key and a storage key;
When exchanging data between the first device, by using the fixed key held by the process of the holding step, it performs the first device and the mutual authentication process to generate a communication key An authentication step;
An encryption step of encrypting the encryption key with the storage key;
An accumulation step of accumulating the data encrypted by the encryption key received in the transfer step process in correspondence with the encryption key encrypted in the encryption step process. Information processing method.
所定の固定鍵と保存用鍵を保持する保持ステップと、
前記第1の装置との間でデータを授受するとき、前記保持ステップの処理で保持された前記固定鍵を利用して、前記第1の装置と相互認証処理を行い、通信用鍵を生成する認証ステップと、
前記暗号鍵を、前記保存用鍵で暗号化する暗号化ステップと、
前記授受ステップの処理で受信された、前記暗号鍵で暗号化されているデータを、前記暗号化ステップの処理で暗号化された前記暗号鍵と対応させて蓄積する蓄積ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが格納されているプログラム格納媒体。An exchange step of exchanging data encrypted with a predetermined encryption key with the first device;
A holding step for holding a predetermined fixed key and a storage key;
When exchanging data between the first device, by using the fixed key held by the process of the holding step, it performs the first device and the mutual authentication process to generate a communication key An authentication step;
An encryption step of encrypting the encryption key with the storage key;
Characterized in that it comprises a storage step in which the received in the process of exchanging step, the data that has been encrypted with the encryption key and stores in correspondence with the encryption key encrypted in the processing of the encryption step A program storage medium storing a computer-readable program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000039265A JP4300442B2 (en) | 1999-02-17 | 2000-02-17 | Information processing apparatus and method, and program storage medium |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3922199 | 1999-02-17 | ||
JP11-39221 | 1999-02-17 | ||
JP2000039265A JP4300442B2 (en) | 1999-02-17 | 2000-02-17 | Information processing apparatus and method, and program storage medium |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2000306332A JP2000306332A (en) | 2000-11-02 |
JP2000306332A5 JP2000306332A5 (en) | 2007-03-15 |
JP4300442B2 true JP4300442B2 (en) | 2009-07-22 |
Family
ID=26378550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000039265A Expired - Lifetime JP4300442B2 (en) | 1999-02-17 | 2000-02-17 | Information processing apparatus and method, and program storage medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4300442B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1246853C (en) * | 1999-04-30 | 2006-03-22 | 汤姆森特许公司 | Multi-format personal digital audio player |
JP2001266479A (en) * | 2000-03-22 | 2001-09-28 | Sanyo Electric Co Ltd | Digital video reproducing unit and data management method for digital video reproducing unit |
JP4524480B2 (en) * | 2000-11-24 | 2010-08-18 | 三洋電機株式会社 | Data terminal equipment |
JP2005165738A (en) * | 2003-12-03 | 2005-06-23 | Fusionsys:Kk | Electronic content management system, electronic content management method, and its program |
US8156436B2 (en) | 2004-05-19 | 2012-04-10 | Sony Corporation | Information processing device, information processing method and information processing program |
-
2000
- 2000-02-17 JP JP2000039265A patent/JP4300442B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000306332A (en) | 2000-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100632495B1 (en) | Information processing apparatus and method and program storage medium | |
KR100862371B1 (en) | Information processing system | |
KR100654879B1 (en) | Information processing device and method, and program storage medium | |
KR100633588B1 (en) | Semiconductor IC, information processing method, information processing device, and program storage medium | |
JP4568933B2 (en) | Information processing apparatus and method, 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 | |
JP2000347847A (en) | Device and method for information processing, semiconductor ic, information processing system and program storage medium | |
JP2000305855A (en) | Information processor, its method and program storing medium | |
AU2003257706B2 (en) | Information processing apparatus and method, and program storage medium | |
JP2000347848A (en) | Semiconductor ic, information processing method, information processor, and program storage medium | |
JP2000307568A (en) | Semiconductor ic, information processing method, information processor and program storing 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 | |
AU2003262490A1 (en) | Information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070125 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070125 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081117 |
|
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: 20090326 |
|
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: 20090408 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4300442 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120501 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130501 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140501 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |