図1は、本発明に係る音楽データ管理システムの一実施の形態を示す図である。パーソナルコンピュータ1は、ローカルエリアネットワークまたはインターネットなどから構成されるネットワーク2に接続されている。パーソナルコンピュータ1は、EMD(Elecrical Music Distribution)サーバ4−1乃至4−4から受信した、またはCD(Compact Disc)から読み取った音楽のデータ(以下、コンテンツと称する)を、所定の鍵を利用して、所定の圧縮の方式(例えば、ATRAC3(商標))に変換するとともにDES(Data Encryption Standard)などの暗号化方式で暗号化して記録する。
本発明に係る音楽データ管理システムを構成するためにパーソナルコンピュータ1で実行されるプログラムは、ポータブルデバイス(Portable Device(PDとも称する))7−1または7−2のいずれかに対応して提供されるCD−ROM(CD Read Only Memory)(例えば、ポータブルデバイス7−1を購入した際に、ポータブルデバイス7−1と共に提供される(いわゆる、バンドルされたCD−ROM))からインストールされるか、またはネットワーク2を介して、インストーラサーバ6からダウンロードされ、インストールされる。
ポータブルデバイス7−1に対応して提供されるCD−ROMに記録されているプログラムは、ポータブルデバイス7−2に対応して提供されるCD−ROMに記録されているプログラムと異なる部分を有する。
ポータブルデバイス7−1に対応して提供されるCD−ROMに記録されているプログラムをパーソナルコンピュータ1にインストールするとき、プログラムをパーソナルコンピュータ1にインストールするプログラム(後述するインストールプログラム)は、EMD登録サーバ3にアクセスするためのURL(Uniform Resource Locator)を所定のファイル(例えば、レジストリ)に記録する。
ポータブルデバイス7−2に対応して提供されるCD−ROMに記録されているプログラムをパーソナルコンピュータ1にインストールするとき、プログラムをパーソナルコンピュータ1にインストールするプログラムは、EMD登録サーバ3にアクセスするためのURLを所定のファイル(例えば、レジストリ)に記録する。
また、音楽データ管理システムにおいてポータブルデバイス7−1のデバイスドライバを認証するための鍵は、ポータブルデバイス7−1に対応して提供されるCD−ROMから読み出され、パーソナルコンピュータ1に記録される。音楽データ管理システムにおいてポータブルデバイス7−2のデバイスドライバを認証するための鍵は、ポータブルデバイス7−2に対応して提供されるCD−ROMから読み出され、パーソナルコンピュータ1に記録される。
例えば、本発明に係る音楽データ管理システムでポータブルデバイス7−1のみ利用している使用者は、ポータブルデバイス7−2を購入したとき、ポータブルデバイス7−2に対応して提供されるCD−ROMからポータブルデバイス7−2に対応するプログラムをインストールすることで、本発明に係る音楽データ管理システムでポータブルデバイス7−1およびポータブルデバイス7−2双方を利用することができるようになる。
音楽データ管理システムを構成するためにパーソナルコンピュータ1で実行されるプログラムの詳細については、後述する。
パーソナルコンピュータ1は、暗号化して記録しているコンテンツに対応して、コンテンツの利用条件を示す利用条件のデータを記録する。利用条件のデータは、例えば、その利用条件のデータに対応するコンテンツを同時に3台のポータブルデバイス7−1、7−2、および図示せぬポータブルデバイスで利用できる、コピーすることができる、他のパーソナルコンピュータに移動することができるなどを示す。
パーソナルコンピュータ1は、暗号化して記録しているコンテンツを、接続されているポータブルデバイス7−1に記憶させるとともに、ポータブルデバイス7−1に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する(以下、チェックアウトと称する)。パーソナルコンピュータ1は、暗号化して記録しているコンテンツを、接続されているポータブルデバイス7−2に記憶させるとともに、ポータブルデバイス7−2に記憶させたことに対応して、記憶させたコンテンツに対応する利用条件のデータを更新する。
また、パーソナルコンピュータ1は、接続されているポータブルデバイス7−1に記憶されているコンテンツを、ポータブルデバイス7−1に消去させて、消去させたコンテンツに対応する利用条件のデータを更新する(以下、チェックインと称する)。パーソナルコンピュータ1は、接続されているポータブルデバイス7−2に記憶されているコンテンツを、ポータブルデバイス7−2に消去させて、消去させたコンテンツに対応する利用条件のデータを更新する。
パーソナルコンピュータ1の使用者がEMDサーバ4−1乃至4−4からコンテンツの取得を開始するとき、パーソナルコンピュータ1は、パーソナルコンピュータ1にインストールされているプログラム固有のデータ(他のパーソナルコンピュータの同じプログラムとは異なる固有のデータ)、並びにパーソナルコンピュータ1にインストールされているプログラムが対応するポータブルデバイス(例えば、ポータブルデバイス7−1または7−2のいずれか)、およびプログラムが対応するポータブルデバイスが販売された国で使用される言語を示すデータ(後述する)などをEMD登録サーバ3に送信する。
EMD登録サーバ3は、パーソナルコンピュータ1から受信した、パーソナルコンピュータ1にインストールされているプログラムが対応するポータブルデバイス、およびプログラムが対応するポータブルデバイスが販売された国で使用される言語を示すデータなどを基に、そのポータブルデバイスおよび言語に対応した、パーソナルコンピュータ1の使用者の氏名、電子メールアドレスなど(以下、使用者のプロファイルと称する)を入力するための画像を表示させるデータ(いわゆる、登録フォームを表示させるデータ)をパーソナルコンピュータ1に送信する。
パーソナルコンピュータ1は、EMD登録サーバ3から、ポータブルデバイスおよび言語に対応した、登録フォームを表示させるデータを受信して、その登録フォームを表示する。登録フォームに使用者の氏名、および電子メールアドレスなど所定のデータが設定されたとき、パーソナルコンピュータ1は、EMD登録サーバ3に登録フォームに設定された使用者のプロファイルのデータを送信する。
EMD登録サーバ3は、パーソナルコンピュータ1から使用者のプロファイルのデータを受信したとき、ユーザデータベース8に、パーソナルコンピュータ1にインストールされているプログラム固有のデータと、使用者のプロファイルのデータとを対応づけて記録させる。
インストーラサーバ6は、EMDサーバ4−1乃至4−4からコンテンツをダウンロードするためのプログラムを認証する処理で利用する鍵を、鍵サーバ5からパーソナルコンピュータ1にダウンロールするプログラム(後述する鍵インストールプログラム)を、パーソナルコンピュータ1に送信する。パーソナルコンピュータ1は、インストーラサーバ6から鍵インストールプログラムを受信したとき、鍵インストールプログラムを自分自身にインストールする。
鍵サーバ5は、使用者のプロファイルがユーザデータベース8に登録されているとき、パーソナルコンピュータ1からの要求に対応して、EMDサーバ4−1乃至4−4からコンテンツをダウンロードするためのプログラムの認証に必要な鍵を鍵データベース9に生成させ、ネットワーク2を介して、生成した鍵をパーソナルコンピュータ1に送信する。パーソナルコンピュータ1は、EMDサーバ4−1乃至4−4からコンテンツをダウンロードするためのプログラムの認証に必要な鍵を受信して、受信した鍵を保存する。
EMDサーバ4−1は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、パーソナルコンピュータ1にコンテンツを供給する。EMDサーバ4−2は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、パーソナルコンピュータ1にコンテンツを供給する。EMDサーバ4−3は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、パーソナルコンピュータ1にコンテンツを供給する。EMDサーバ4−4は、パーソナルコンピュータ1の要求に対応して、ネットワーク2を介して、パーソナルコンピュータ1にコンテンツを供給する。
EMDサーバ4−1乃至4−4のそれぞれが供給するコンテンツは、同一または異なる圧縮の方式で圧縮されている。EMDサーバ4−1乃至4−4のそれぞれが供給するコンテンツは、同一または異なる暗号化の方式で暗号化されている。
ポータブルデバイス7−1は、パーソナルコンピュータ1から供給されたコンテンツ(すなわち、チェックアウトされたコンテンツ)を記憶する。ポータブルデバイス7−1は、記憶しているコンテンツを再生し、図示せぬヘットフォンなどに出力する。使用者は、コンテンツを記憶したポータブルデバイス7−1をパーソナルコンピュータ1から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
ポータブルデバイス7−2は、パーソナルコンピュータ1から供給されたコンテンツを記憶する。ポータブルデバイス7−2は、記憶しているコンテンツを再生し、図示せぬヘットフォンなどに出力する。使用者は、コンテンツを記憶したポータブルデバイス7−2をパーソナルコンピュータ1から取り外して、持ち歩き、記憶しているコンテンツを再生させて、コンテンツに対応する音楽などをヘッドフォンなどで聴くことができる。
図2は、パーソナルコンピュータ1の構成を説明する図である。CPU(Central Processing Unit)11は、各種アプリケーションプログラム(詳細については後述する)や、OS(Operating System)を実際に実行する。ROM(Read-only Memory)12は、一般的には、CPU11が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM(Random-Access Memory)13は、CPU11の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはCPUバスなどから構成されるホストバス14により相互に接続されている。
ホストバス14は、ブリッジ15を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス16に接続されている。
キーボード18は、CPU11に各種の指令を入力するとき、使用者により操作される。マウス19は、ディスプレイ20の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ20は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)21は、ハードディスクを駆動し、それらにCPU11によって実行するプログラムや情報を記録または再生させる。
ドライブ22は、装着されている磁気ディスク41、光ディスク42(CD−ROMを含む)、光磁気ディスク43、または半導体メモリ44に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース17、外部バス16、ブリッジ15、およびホストバス14を介して接続されているRAM13に供給する。
USB(Universal Sirial Bus)ポート23−1には、所定のケーブルを介して、ポータブルデバイス7−1が接続される。USBポート23−1は、インターフェース17、外部バス16、ブリッジ15、またはホストバス14を介して、HDD21、CPU11、またはRAM13から供給されたデータ(例えば、コンテンツまたはポータブルデバイス7−1のコマンドなどを含む)をポータブルデバイス7−1に出力する。
USBポート23−2には、所定のケーブルを介して、ポータブルデバイス7−2が接続される。USBポート23−2は、インターフェース17、外部バス16、ブリッジ15、またはホストバス14を介して、HDD21、CPU11、またはRAM13から供給されたデータ(例えば、コンテンツまたはポータブルデバイス7−2のコマンドなどを含む)をポータブルデバイス7−2に出力する。
スピーカ24は、インターフェース17から供給されたデータ、または、音声信号を基に、コンテンツに対応する所定の音声を出力する。
これらのキーボード18乃至スピーカ24は、インターフェース17に接続されており、インターフェース17は、外部バス16、ブリッジ15、およびホストバス14を介してCPU11に接続されている。
通信部25は、ネットワーク2が接続され、CPU11、またはHDD21から供給されたデータ(例えば、登録の要求、鍵の要求、またはコンテンツの送信要求など)を、所定の方式のパケットに格納して、ネットワーク2を介して、送信するとともに、ネットワーク2を介して、受信したパケットに格納されているデータ(例えば、鍵、またはコンテンツなど)をCPU11、RAM13、またはHDD21に出力する。
通信部25は、外部バス16、ブリッジ15、およびホストバス14を介してCPU11に接続されている。
図3は、EMD登録サーバ3の構成を説明する図である。CPU61は、Webサーバプログラムなどのアプリケーションプログラムや、OSを実際に実行する。ROM62は、一般的には、CPU61が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。RAM63は、CPU61の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。これらはCPUバスなどから構成されるホストバス64により相互に接続されている。
ホストバス64は、ブリッジ65を介して、PCIバスなどの外部バス66に接続されている。
キーボード68は、CPU61に各種の指令を入力するとき、使用者により操作される。マウス69は、ディスプレイ70の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ70は、液晶表示装置またはCRTなどから成り、各種情報をテキストやイメージで表示する。HDD71は、ハードディスクを駆動し、それらにCPU61によって実行するプログラムや情報を記録または再生させる。
なお、図1では、ユーザデータベース8とEMD登録サーバ3を別のものとして示したが、EMD登録サーバ3がその内部にユーザデータベース8を有する場合には、ユーザデータベース8に格納されるユーザプロファイルは、HDD71に記録される。
ドライブ72は、装着されている磁気ディスク91、光ディスク92、光磁気ディスク93、または半導体メモリ94に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インターフェース67、外部バス66、ブリッジ65、およびホストバス64を介して接続されているRAM63に供給する。
これらのキーボード68乃至ドライブ72は、インターフェース67に接続されており、インターフェース67は、外部バス66、ブリッジ65、およびホストバス64を介してCPU61に接続されている。
通信部73は、ネットワーク2が接続され、ネットワーク2を介して、受信したパケットに格納されているデータ(例えば、後述する登録に必要なデータ、または所定のプログラムのID(Identifier)など)をCPU61、RAM63、またはHDD71に出力するとともに、CPU61、またはHDD71から供給されたデータを、所定の方式のパケットに格納して、ネットワーク2を介して、送信する。
通信部73は、外部バス66、ブリッジ65、およびホストバス64を介してCPU61に接続されている。
EMDサーバ4−1乃至4−4、鍵サーバ5、およびインストーラサーバ6のそれぞれの構成は、EMD登録サーバ3の構成と同様なので、その説明は省略する。この場合において、鍵データベース9に格納される鍵データは、鍵サーバ5のハードディスクに記録されている場合がある。
次に、パーソナルコンピュータ1が所定のプログラムを実行することにより実現する機能について説明する。
図4は、ポータブルデバイス7−1に対応して提供される光ディスク42であるCD−ROMからプログラムがインストールされたときの、パーソナルコンピュータ1の機能の構成を説明するブロック図である。
インストールプログラム110は、CD−ROMから読み出されて、実行され、ポータブルデバイス7−1に対応して提供される光ディスク42であるCD−ROMから、コンテンツ管理プログラム111、表示操作指示プログラム112、録音プログラム113、コンテンツデータベース114、およびデバイスドライバ116−1を読み出して、パーソナルコンピュータ1にインストールする。
コンテンツ管理プログラム111は、EMD選択プログラム131、チェックイン/チェックアウト管理プログラム132、暗号方式変換プログラム133、圧縮方式変換プログラム134、暗号化プログラム135、利用条件変換プログラム136、署名管理プログラム137、認証プログラム138、復号プログラム139、およびPD用ドライバ140などの複数のプログラムで構成されている。
コンテンツ管理プログラム111は、例えば、シャッフルされているインストラクション、または暗号化されているインストラクションなどで記述されて、その処理内容を外部から隠蔽し、その処理内容の読解が困難になる(例えば、使用者が、直接、コンテンツ管理プログラム111を読み出しても、インストラクションを特定できないなど)ように構成されている。
EMD選択プログラム131は、EMDサーバ4−1乃至4−4のいずれかとの接続を選択して、後述する購入用アプリケーション115−1または115−2に、EMDサーバ4−1乃至4−4のいずれかとの通信(例えば、コンテンツを購入するときの、コンテンツのダウンロードなど)を実行させる。
チェックイン/チェックアウト管理プログラム132は、チェックインまたはチェックアウトの設定、およびコンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに基づいて、コンテンツファイル161−1乃至161−Nに格納されているコンテンツをポータブルデバイス7−1または7−2のいずれかにチェックアウトするか、またはポータブルデバイス7−1または7−2に記憶されているコンテンツをチェックインする。
チェックイン/チェックアウト管理プログラム132は、チェックインまたはチェックアウトの処理に対応して、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータを更新する。
暗号方式変換プログラム133は、ネットワーク2を介して、購入用アプリケーションプログラム115−1がEMDサーバ4−1から受信したコンテンツの暗号化の方式、購入用アプリケーションプログラム115−1がEMDサーバ4−2から受信したコンテンツの暗号化の方式、購入用アプリケーションプログラム115−2がEMDサーバ4−3から受信したコンテンツの暗号化の方式、または購入用アプリケーションプログラム115−2がEMDサーバ4−4から受信したコンテンツの暗号化の方式を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の暗号化の方式に変換する。
また、暗号方式変換プログラム133は、ポータブルデバイス7−1または7−2にコンテンツをチェックアウトするとき、チェックアウトするコンテンツを、ポータブルデバイス7−1または7−2が利用可能な暗号化方式に変換する。
圧縮方式変換プログラム134は、ネットワーク2を介して、購入用アプリケーションプログラム115−1がEMDサーバ4−1から受信したコンテンツの圧縮の方式、購入用アプリケーションプログラム115−1がEMDサーバ4−2から受信したコンテンツの圧縮の方式、購入用アプリケーションプログラム115−2がEMDサーバ4−3から受信したコンテンツの圧縮の方式、または購入用アプリケーションプログラム115−2がEMDサーバ4−4から受信したコンテンツの圧縮の方式を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の圧縮の方式に変換する。
圧縮方式変換プログラム134は、例えばCDから読み取られ、録音プログラム113から供給されたコンテンツ(圧縮されていない)を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の符号化の方式で符号化する。
また、圧縮方式変換プログラム134は、ポータブルデバイス7−1または7−2にコンテンツをチェックアウトするとき、チェックアウトするコンテンツを、ポータブルデバイス7−1または7−2が利用可能な圧縮の方式に変換する。
暗号化プログラム135は、例えばCDから読み取られ、録音プログラム113から供給されたコンテンツ(暗号化されていない)を、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツと同一の暗号化の方式で暗号化する。
利用条件変換プログラム136は、ネットワーク2を介して、購入用アプリケーションプログラム115−1がEMDサーバ4−1から受信したコンテンツの利用条件を示すデータ(いわゆる、Usage Rule)、購入用アプリケーションプログラム115−1がEMDサーバ4−2から受信したコンテンツの利用条件を示すデータ、購入用アプリケーションプログラム115−2がEMDサーバ4−3から受信したコンテンツの利用条件を示すデータ、または購入用アプリケーションプログラム115−2がEMDサーバ4−4から受信したコンテンツの利用条件を示すデータを、コンテンツデータベース114が記録している利用条件ファイル162−1乃至162−Nに格納されている利用条件データと同一のフォーマットに変換する。
また、利用条件変換プログラム136は、ポータブルデバイス7−1または7−2にコンテンツをチェックアウトするとき、チェックアウトするコンテンツに対応する利用条件のデータを、ポータブルデバイス7−1または7−2が利用可能な利用条件のデータに変換する。
署名管理プログラム137は、チェックインまたはチェックアウトの処理を実行する前に、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータに含まれている署名(後述する)を基に、利用条件のデータの改竄を検出する。署名管理プログラム137は、チェックインまたはチェックアウトの処理に伴う、コンテンツデータベース114に記録されている利用条件ファイル162−1乃至162−Nに格納されている利用条件のデータを更新に対応して、利用条件のデータに含まれる署名を更新する。
認証プログラム138は、コンテンツ管理プログラム111と購入用アプリケーションプログラム115−1との相互認証の処理、およびコンテンツ管理プログラム111と購入用アプリケーションプログラム115−2との相互認証の処理を実行する。
復号プログラム139は、コンテンツデータベース114が記録しているコンテンツファイル161−1乃至161−Nに格納されているコンテンツ(暗号化されている)をパーソナルコンピュータ1が再生するとき、コンテンツを復号する。
PD用ドライバ140は、ポータブルデバイス7−1に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス7−1から所定のコンテンツをチェックインするとき、デバイスドライバ116−1にコンテンツ、またはデバイスドライバ116−1に所定の処理を実行させるコマンドを供給する。
PD用ドライバ140は、ポータブルデバイス7−2に所定のコンテンツをチェックアウトするとき、またはポータブルデバイス7−2から所定のコンテンツをチェックインするとき、デバイスドライバ116−2にコンテンツ、またはデバイスドライバ116−2に所定の処理を実行させるコマンドを供給する。
表示操作指示プログラム112は、フィルタリングデータファイル181、表示データファイル182、画像ファイル183−1乃至183−K、または履歴データファイル184を基に、ディスプレイ20に所定のウィンドウの画像を表示させ、キーボード18またはマウス19への操作を基に、コンテンツ管理プログラム111にチェックインまたはチェックアウトなどの処理の実行を指示する。
フィルタリングデータファイル181は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツそれぞれに重み付けをするためのデータを格納して、HDD21に記録されている。
表示データファイル182は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツに対応するデータを格納して、HDD21に記録されている。
画像ファイル183−1乃至183−Kは、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに対応する画像、またはパッケージに対応する画像を格納して、HDD21に記録されている。
以下、画像ファイル183−1乃至183−Kを個々に区別する必要がないとき、単に、画像ファイル183と称する。
履歴データファイル184は、コンテンツデータベース114に記録されているコンテンツファイル161−1乃至161−Nに格納されているコンテンツがチェックアウトされた回数、チェックインされた回数、その日付などの履歴データを格納して、HDD21に記録されている。
録音プログラム113は、所定のウィンドウの画像を表示させて、キーボード18またはマウス19への操作を基に、ドライブ22に装着された光ディスク42であるCDからコンテンツの録音時間などのデータを読み出す。
録音プログラム113は、CDに記録されているコンテンツの録音時間などを基に、ネットワーク2を介して、図示せぬWWWサーバにCDに対応するデータ(例えば、アルバム名、またはアーティスト名など)またはCDに記録されているコンテンツに対応するデータ(例えば、曲名など)の送信を要求するとともに、WWWサーバからCDに対応するデータまたはCDに記録されているコンテンツに対応するデータを受信する。
録音プログラム113は、受信したCDに対応するデータまたはCDに記録されているコンテンツに対応するデータを、表示操作指示プログラム112に供給する。
また、録音の指示が入力されたとき、録音プログラム113は、ドライブ22に装着された光ディスク42であるCDからコンテンツを読み出して、コンテンツ管理プログラム111に出力する。
コンテンツデータベース114は、コンテンツ管理プログラム111から供給された所定の方式で圧縮され、所定の方式で暗号化されているコンテンツを、コンテンツファイル161−1乃至161−Nのいずれかに格納する(HDD21に記録する)。コンテンツデータベース114は、コンテンツファイル161−1乃至161−Nにそれぞれ格納されているコンテンツに対応する利用条件のデータを、コンテンツが格納されているコンテンツファイル161−1乃至161−Nにそれぞれ対応する利用条件ファイル162−1乃至162−Nのいずれかに格納する(HDD21に記録する)。
コンテンツデータベース114は、コンテンツファイル161−1乃至161−Nまたは利用条件ファイル162−1乃至162−Nをレコードとして記録してもよい。
例えば、コンテンツファイル161−1に格納されているコンテンツに対応する利用条件のデータは、利用条件ファイル162−1に格納されている。コンテンツファイル161−Nに格納されているコンテンツに対応する利用条件のデータは、利用条件ファイル162−Nに格納されている。
以下、コンテンツファイル161−1乃至161−Nを個々に区別する必要がないとき、単に、コンテンツファイル161と称する。以下、利用条件ファイル162−1乃至162−Nを個々に区別する必要がないとき、単に、利用条件ファイル162と称する。
WWW(World Wide Web)ブラウザ117は、インストールプログラム110により所定のファイル(例えば、レジストリ)に記録されたURLを基に、ネットワーク2を介して、EMD登録サーバ3にアクセスして、EMD登録サーバ3が提供するデータを基に登録フォームを表示させ、EMD登録サーバ3に登録フォームに設定された使用者のプロファイルのデータを送信する。
WWWブラウザ117は、ポータブルデバイス7−1または7−2に対応して提供されるCD−ROMからインストールされるとは限らず、例えば、オペレーティングシステムをパーソナルコンピュータ1にインストールするとき、オペレーティングシステムと共にパーソナルコンピュータ1にインストールされる場合もある。
次に、図5を参照して、ポータブルデバイス7−1に対応して提供される光ディスク42であるCD−ROMからプログラムをインストールしたときに、各プログラムに対応して保存されるID(Identification)または鍵(認証用の鍵または暗号化の鍵)について説明する。
CDキーは、ポータブルデバイス7−1またはCD−ROMに対応して、CD−ROMと共に提供される、20桁の10進数である。CDキーは、インストールプログラム110がCD−ROMからパーソナルコンピュータ1へのプログラムのインストールに先立って、その入力が要求される。使用者に入力されたCDキーは、HDD21に記録されている所定のファイルに格納される。
インストールプログラム110は、CDキーが入力されたとき、CDキーを基に、CD−ROMに予め記録されている鍵束(20万セットの鍵セットが格納されている)から、所定の鍵セットを読み出し、パーソナルコンピュータ1のHDD21に記録されている所定のファイルに格納する。
鍵セットには、コンテンツ管理プログラム111のIDであるMGID(パーソナルコンピュータ1にインストールされているコンテンツ管理プログラム111固有(他のパーソナルコンピュータのコンテンツ管理プログラム111とは異なる)のデータ)、デバイスドライバ116−1との認証の処理に利用されるマスター鍵MGMK、デバイスドライバ116−1との認証の処理に利用される個別鍵MGIK、コンテンツデータベース114との認証の処理に利用されるストレージ鍵Rip−SKが含まれている。
なお、個別鍵MGIKは、MGIDとMGMKの連接に所定のハッシュ関数を適用して、インストールプログラム110またはコンテンツ管理プログラム111などにより生成されるようにしてもよい。同様に、ストレージ鍵Rip−SKは、MGIDを基に、インストールプログラム110またはコンテンツ管理プログラム111などにより生成されるようにしてもよい。
2回以上コンテンツ管理プログラム111がインストールされた場合、最後に保存されたコンテンツ管理プログラム111のIDであるLatest MGIDは、音楽データ管理システムを構成するためにパーソナルコンピュータ1で実行されるプログラムが最初にインストールされたとき、MGIDと同一の値となる。すなわち、ポータブルデバイス7−1に対応して提供される光ディスク42であるCD−ROMからプログラムをインストールしたとき、他のポータブルデバイスに対応するCD−ROMからプログラムをインストールしていないので、Latest MGIDは、MGIDと同一の値となる。
コンテンツ管理プログラム111のアプリケーションプログラムID、すなわちAPIDOMGは、コンテンツ管理プログラム111の種別、国・仕向地、言語、バンドルされたポータブルデバイス7−1を示すコードなどから構成される。
録音プログラム113のアプリケーションプログラムID、すなわちAPIDRECは、録音プログラム113の種別、国・仕向地、言語、バンドルされたポータブルデバイス7−1を示すコードなどから構成される。
表示操作指示プログラム112のアプリケーションプログラムID、すなわちAPIDJBは、表示操作指示プログラム112の種別、国・仕向地、言語、バンドルされたポータブルデバイス7−1を示すコードなどから構成される。
次に、アプリケーションプログラムIDの構造を説明する。アプリケーションプログラムIDは、3桁の10進数のアプリケーション種別コード、3桁の10進数の国・仕向地コード、3桁の10進数の言語コード、2桁の10進数のメーカコード、1桁の10進数の製品種別コード、4桁の10進数のバンドル製品コード、および桁数が規定されていないソフトウェアバージョンコードから構成される。
アプリケーション種別コードは、コンテンツ管理プログラム111、表示操作指示プログラム112、録音プログラム113、コンテンツデータベース114、購入用アプリケーションプログラム115−1、購入用アプリケーションプログラム115−2、デバイスドライバ116−1などのいずれのプログラムであるかを示す。
例えば、コンテンツ管理プログラム111に対応するアプリケーション種別コードは、001であり、購入用アプリケーションプログラム115−1に対応するアプリケーション種別コードは、002であり、購入用アプリケーションプログラム115−2に対応するアプリケーション種別コードは、003である。
国・仕向地コードは、CD−ROMが販売(配布)された国またはCD−ROMがバンドルされたポータブルデバイスが販売された国を示す。
例えば、CD−ROMが販売(配布)された国がUnited State of America(以下、USAと称する)であるとき、国・仕向地コードは、001であり、CD−ROMが販売(配布)された国が日本であるとき、国・仕向地コードは、081である。
言語コードは、CD−ROMが販売(配布)された地域またはCD−ROMがバンドルされたポータブルデバイスが販売された地域において主として使用される言語を示す。
例えば、CD−ROMが販売(配布)された地域において主として英語が使用されるとき、言語コードは、008であり、CD−ROMが販売(配布)された地域において主として日本語が使用されるとき、言語コードは、0019である。
メーカコードは、CD−ROMを提供する提供者を示す。製品種別コードは、そのプログラムがポータブルデバイスにバンドルされないで提供されたものである、そのプログラムがポータブルデバイスにバンドルされて提供されたものである、またはそのプログラムがデモンストレーション用であるなどを示す。
バンドル製品コードは、そのプログラムがバンドルされている機器(例えば、ポータブルデバイス7−1または7−2など)を示す。ただし、バンドル製品コードが”0000”であるとき、アプリケーションプログラムIDを参照するプログラムは、そのバンドル製品コードを無視する。
ソフトウェアバージョンコードは、任意の桁数で、そのプログラムのバージョンを示す。
アプリケーションプログラムIDは、EMDサーバ4−1乃至4−4のいずれかからコンテンツをダウンロードするときに必要な鍵がインストールされたか否かを示すデータとともに、HDD21の所定のファイルに記録される。
例えば、コンテンツ管理プログラム111がインストールされた直後において、コンテンツ管理プログラム111に対応するアプリケーションプログラムIDには、EMDサーバ4−1乃至4−4のいずれかからコンテンツをダウンロードするときに必要な鍵がインストールされていないので、EMDサーバ4−1乃至4−4のいずれかからコンテンツをダウンロードするときに必要な鍵がインストールされていないことを示す”false”が対応づけられる。
後述する鍵をインストールする処理を実行した後に、コンテンツ管理プログラム111に対応するアプリケーションプログラムIDには、EMDサーバ4−1乃至4−4のいずれかからコンテンツをダウンロードするときに必要な鍵がインストールされていることを示す”true”が対応づけられる。
アプリケーションプログラムIDが記録されるファイルのパスは、他の所定のファイル(例えば、レジストリ)に記録される。
このように、ポータブルデバイス7−1に対応して提供される光ディスク42であるCD−ROMからプログラムをインストールしたとき、パーソナルコンピュータ1は、コンテンツ管理プログラム111を特定するMGIDを記録するとともに、ポータブルデバイス7−1のデバイスドライバ116−1と認証するための鍵を記録する。
更に、パーソナルコンピュータ1は、パーソナルコンピュータ1にインストールされたプログラムに対応したアプリケーションプログラムIDを記録する。
図6は、表示操作指示プログラム112がディスプレイ20に表示させるウィンドウを示す図である。表示操作指示プログラム112が示させるウィンドウには、WWWブラウザ117を起動させるボタン301が配置されている。
また、ポータブルデバイス7−1に対応して提供される光ディスク42であるCD−ROMからプログラムをインストールするとき、インストールプログラム110が、デスクトップに生成する、図示せぬショートカットアイコンからも、WWWブラウザ117が起動される。
WWWブラウザ117は、ボタン301またはショートカットアイコンがダブルクリックされて起動したとき、インストールプログラム110により所定のファイル(例えば、レジストリ)に記録されたURLを基に、ネットワーク2を介して、EMD登録サーバ3にアクセスして、EMD登録サーバ3が提供する登録フォームを表示させる。WWWブラウザ117は、EMD登録サーバ3にアクセスするとき、CDキー、MGID、Latest MGID、およびAPIDOMGをEMD登録サーバ3に送信する。
例えば、WWWブラウザ117は、CDキー、MGID、Latest MGID、およびAPIDOMGをURLの引数として、EMD登録サーバ3に送信する。
この場合、WWWブラウザ117は、URLをhttp://regist.openmg.com/server/reg?mgid=xxxx&cdkey=yyyy&latestmgid=zzzz&apid=uuuuとすることができる。xxxxは、MGIDの値を示し、yyyyは、CDキーの値を示し、zzzzは、Latest MGIDの値を示し、uuuuは、APIDOMGの値を示す。
EMD登録サーバ3は、図7に示すように、アプリケーションプログラムIDと登録フォームとの対応テーブルを予め記録しているので、受信したAPIDOMGを基に、所定の登録フォームを表示させるデータを選択して、選択した登録フォームを表示させるデータをパーソナルコンピュータ1に送信する。
例えば、APIDOMGの言語コードが日本語に対応してるとき、EMD登録サーバ3は、図8に示す登録フォームを表示させるデータをパーソナルコンピュータ1に送信する。
また、例えば、APIDOMGの言語コードが英語に対応し、バンドル製品コードがポータブルデバイス7−1に対応しているとき、EMD登録サーバ3は、図9に示す登録フォームを表示させるデータをパーソナルコンピュータ1に送信する。
このように、EMD登録サーバ3は、受信したAPIDOMGに格納されている言語コード、またはバンドル製品コードなどに対応した登録フォームを表示させるデータをパーソナルコンピュータ1に送信することができる。
登録フォームを基に、パーソナルコンピュータ1の使用者のプロファイル(氏名、電子メールのアドレスなど)のデータが入力されたとき、パーソナルコンピュータ1は、EMD登録サーバ3に使用者のプロファイルのデータを送信する。
EMD登録サーバ3は、ユーザデータベース8に、パーソナルコンピュータ1から受信したMGIDとCDキーとの組み合わせと一致する、図10に示すように、予め記録しているMGIDとCDキーとの組み合わせを検索させ、検索されたMGIDとCDキーとの組み合わせに対応させて、パーソナルコンピュータ1から受信した使用者のプロファイルのデータおよびAPIDOMGを記録させる。
EMD登録サーバ3は、ユーザデータベース8に、MGIDとCDキーとの組み合わせと対応づけられて、使用者のプロファイルのデータおよびAPIDOMGが記録されているか否かを基に、MGIDとCDキーとの組み合わせを有する使用者が登録済みか否かを判定することができる。
EMD登録サーバ3は、使用者のプロファイルのデータおよびAPIDOMGをユーザデータベース8に記録させた後、パーソナルコンピュータ1のWWWブラウザ117をインストーラサーバ6にアクセスさせる。
インストーラサーバ6は、図11に示すように、パーソナルコンピュータ1のWWWブラウザ117に、ネットワーク2を介して、EMDサーバ4−1および4−2に対応する購入用アプリケーションプログラム115−1および鍵インストールプログラム118−1をダウンロードさせ、ダウンロードした、購入用アプリケーションプログラム115−1および鍵インストールプログラム118−1をパーソナルコンピュータ1にインストールさせる。
購入用アプリケーションプログラム115−1がインストールされたとき、図12に示すように、購入用アプリケーションプログラム115−1に対応するアプリケーションID(以下、APIDとも称する)であるAPIDPL1がHDD21の所定のファイルに保存される。
次に、鍵インストールプログラム118−1を起動させると、鍵インストールプログラム118−1は、鍵インストールプログラム118−1が予め記憶しているURLを基に、ネットワーク2を介して、鍵サーバ5にアクセスする。
APIDOMG、およびAPIDPL1に、コンテンツをダウンロードするときに必要な鍵がインストールされていないことを示す”false”が対応づけられているので、鍵インストールプログラム118−1は、MGIDとCDキーとともに、コンテンツ管理プログラム111に対応するアプリケーションIDであるAPIDOMG、および購入用アプリケーションプログラム115−1に対応するアプリケーションIDであるAPIDPL1を鍵サーバ5に送信する。
鍵サーバ5は、受信したMGIDおよびCDキーを基に、パーソナルコンピュータ1の使用者が登録されているか否かを判定して(EMD登録サーバ3に判定させて)、パーソナルコンピュータ1の使用者が登録されていると判定された場合、鍵データベース9に、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−1および4−2からダウンロードされたコンテンツを管理するための鍵を生成させて、生成した鍵を鍵インストールプログラム118−1に送信する。
鍵データベース9は、MGID、コンテンツ管理プログラム111に対応するアプリケーションIDであるAPIDOMG、および購入用アプリケーションプログラム115−1に対応するアプリケーションIDであるAPIDPL1を基に、MGID、コンテンツ管理プログラム111に対応するアプリケーションIDであるAPIDOMG、および購入用アプリケーションプログラム115−1に対応するアプリケーションIDであるAPIDPL1に対応した固有の鍵(他の鍵と異なる値を有する鍵)を生成する。
パーソナルコンピュータ1の使用者が登録されていないと判定された場合、鍵サーバ5は、図13に示すような、登録フォームを表示させるデータをパーソナルコンピュータ1に送信する。
図13に示す登録フォームを基に使用者のプロファイルが入力されないとき、処理は終了する。
登録フォームを基に使用者のプロファイルが入力され、使用者のプロファイルのデータが鍵サーバ5に送信されたとき、鍵サーバ5は、EMD登録サーバ3に使用者のプロファイルを登録させ、鍵データベース9に、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−1および4−2からダウンロードされたコンテンツを管理するための鍵を生成させて、生成した鍵を鍵インストールプログラム118−1に送信する。
鍵インストールプログラム118−1は、鍵サーバ5から受信した、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−1および4−2からダウンロードされたコンテンツを管理するための鍵を、HDD21の所定のファイルに記録する。
鍵サーバ5からダウンロードされた鍵が記録されたとき、鍵インストールプログラム118−1は、APIDOMG、およびAPIDPL1に、コンテンツをダウンロードするときに必要な鍵がインストールされたことを示す”true”を対応づける。
なお、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−1および4−2からダウンロードされたコンテンツを管理するための鍵は、署名と共に、所定の証明書に格納されて、送信される。
図14は、鍵サーバ5から受信して記録された、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−1および4−2からダウンロードされたコンテンツを管理するための鍵を説明する図である。
購入用アプリケーション認証用公開鍵Cert−PK1−1は、コンテンツ管理プログラム111が購入用アプリケーションプログラム115−1を認証する処理で使用する鍵である。購入用アプリケーション認証用秘密鍵Cert−SK1−1は、コンテンツ管理プログラム111が購入用アプリケーションプログラム115−1を認証する処理で使用する鍵である。
例えば、楕円曲線暗号に基づく鍵を使用する場合、楕円曲線EC(p)上のポイントpの元Pを生成し、公開鍵=秘密鍵・Pより、購入用アプリケーション認証用公開鍵Cert−PK1−1および購入用アプリケーション認証用秘密鍵Cert−SK1−1が求められる。
EMDコンテンツ管理鍵EMD−SK1は、EMDサーバ4−1および4−2からダウンロードされたコンテンツを管理するための鍵である。勿論、EMDサーバ4−1からダウンロードされたコンテンツを管理するための鍵と、EMDサーバ4−2からダウンロードされたコンテンツを管理するための鍵とを別にしてもよい。
コンテンツ管理プログラム認証用公開鍵Cert−PK2−1は、購入用アプリケーションプログラム115−1がコンテンツ管理プログラム111を認証する処理で使用する鍵である。コンテンツ管理プログラム認証用秘密鍵Cert−SK2−1は、購入用アプリケーションプログラム115−1がコンテンツ管理プログラム111を認証する処理で使用する鍵である。
このように、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に使用される鍵、およびEMDサーバ4−1および4−2からダウンロードされたコンテンツを管理するための鍵は、鍵サーバ5から供給される、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111に対応した、固有の鍵となる。
鍵インストールプログラム118−1は、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に使用される鍵、およびEMDサーバ4−1および4−2からダウンロードされたコンテンツを管理するための鍵を受信した後、再度、MGID、およびコンテンツ管理プログラム111に対応するアプリケーションIDであるAPIDOMGを鍵サーバ5に送信する。
鍵サーバ5は、図15に示す、予め記録されているテーブルを、受信したAPIDOMGを基に検索して、対応するURLを鍵インストールプログラム118−1に送信する。図15に示す予め記憶されているテーブルは、例えば、APIDOMGのバンドル製品コードおよび言語コードに対応して、所定のURLを記録している。
例えば、APIDOMGの言語コードが日本語に対応し、バンドル製品コードがポータブルデバイス7−1に対応しているとき、鍵サーバ5は、日本語で記述されているページを表示させるEMDサーバ(例えば、EMDサーバ4−1)に対応するURLをパーソナルコンピュータ1に送信する。
また、例えば、APIDOMGの言語コードが英語に対応し、バンドル製品コードがポータブルデバイス7−1に対応しているとき、鍵サーバ5は、英語で記述されているページを表示させるEMDサーバ(例えば、EMDサーバ4−2)に対応するURLをパーソナルコンピュータ1に送信する。
また、例えば、APIDOMGの言語コードが日本語に対応し、バンドル製品コードがポータブルデバイス7−2に対応しているとき、鍵サーバ5は、日本語で記述されているページを表示させるEMDサーバ(例えば、EMDサーバ4−3)に対応するURLをパーソナルコンピュータ1に送信する。
また、例えば、APIDOMGの言語コードが英語に対応し、バンドル製品コードがポータブルデバイス7−2に対応しているとき、鍵サーバ5は、英語で記述されているページを表示させるEMDサーバ(例えば、EMDサーバ4−4)に対応するURLをパーソナルコンピュータ1に送信する。
鍵インストールプログラム118−1は、鍵サーバ5からURLを受信したとき、URLを所定のファイル(例えば、レジストリ)に記録する。
以後、図6に示すボタン301がダブルクリックされたとき、WWWブラウザ117は、鍵サーバ5に供給されたURLを基に、使用者の言語およびポータブルデバイス7−1または7−2のいずれかに適応した、EMDサーバ4−1乃至4−4のいずれかにアクセスする。
次に、WWWブラウザ117のアクセスの参照となるURLの書き換えの処理の概略を、図16を参照して、説明する。
始めに、インストールプログラム110が、EMD登録サーバ3に対応するURLを設定する。WWWブラウザ117は、起動されたとき、設定されたURLを基に、EMD登録サーバ3にアクセスする。
APIDは、URLの引数として、EMD登録サーバ3に渡されるので、EMD登録サーバ3は、ポータブルデバイスの使用者の言語およびポータブルデバイスの機種(例えば、ポータブルデバイス7−1または7−2のいずれか)に対応した、登録フォームのデータをWWWブラウザ117に提供できる。
登録の処理を終了した後、EMD登録サーバ3に提供されたURL(レジストリには記録されない)を基に、WWWブラウザ117は、インストーラサーバ6にアクセスして、鍵インストールプログラム118をダウンロードし、パーソナルコンピュータ1にインストールする。
鍵インストールプログラム118は、鍵のダウンロードの処理を終了した後、鍵サーバ5にAPIDを供給する。APIDは、ポータブルデバイスの使用者の言語およびポータブルデバイスの機種(例えば、ポータブルデバイス7−1または7−2のいずれか)に対応しているので、鍵サーバ5は、ポータブルデバイスの使用者の言語およびポータブルデバイスの機種に対応したEMD4−1乃至4−4のいずれかのURLを鍵インストールプログラム118に提供できる。鍵インストールプログラム118はレジストリに記録されているURLを、鍵サーバ5から受信したURL(EMD4−1乃至4−4のいずれかに対応する)に書き換える。
その後に起動された、WWWブラウザ117は、鍵インストールプログラム118により設定されたEMDサーバ4−1乃至4−4のいずれかに対応するURLを基に、EMDサーバ4−1乃至4−4のいずれかにアクセスする。
このように、使用者は、URLの設定などの面倒な作業をすることなく、使用する言語およびポータブルデバイス7−1または7−2のいずれかに適応した、EMDサーバ4−1乃至4−4のいずれかにアクセスすることができる。
次に、鍵のインストールの処理の概略を、図17を参照して、説明する。インストールプログラム110は、CDキーが入力されたとき、CDキーを基に、CD−ROMに予め記録されている鍵束から、コンテンツ管理プログラム111のIDであるMGID、マスター鍵MGMK、個別鍵MGIK、およびストレージ鍵Rip−SKから構成される鍵セットを読み出し、CDキーと共に、パーソナルコンピュータ1のHDD21の所定のファイルに記録させる。また、インストールプログラム110は、1回目のインストールであるとき、最終管理プログラムIDであるLatest MGIにMGIDの値を設定し、2回目以降のインストールであるとき、最終管理プログラムIDであるLatest MGIDを更新する。
2回目以降のインストールであるとき、インストールプログラム110は、パーソナルコンピュータ1に記録されているMGIDおよびCDキーを更新しない。
2回目以降のインストールであるとき、コンテンツ管理プログラム111のアプリケーションプログラムID、すなわちAPIDOMGは、更新される。
WWWブラウザ117によりインストーラサーバ6からダウンロードされ、インストールされた鍵インストールプログラム118は、CDキー、MGID、およびAPIDを鍵サーバ5に送信するとともに、鍵サーバ5から購入用アプリケーション認証用公開鍵Cert−PK1、購入用アプリケーション認証用秘密鍵Cert−SK1、EMDコンテンツ管理鍵EMD−SK、コンテンツ管理プログラム認証用公開鍵Cert−PK2、およびコンテンツ管理プログラム認証用秘密鍵Cert−SK2を受信する。
このように、パーソナルコンピュータ1は、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に使用される固有の鍵、およびEMDサーバ4−1乃至4−4からダウンロードされたコンテンツを管理するための固有の鍵を得ることができる。
鍵サーバ5のURLは、鍵インストールプログラム118が内部に格納し、外部から見えないので、購入用アプリケーションプログラム115−1とコンテンツ管理プログラム111の相互認証に使用される鍵、およびEMDサーバ4−1乃至4−4からダウンロードされたコンテンツを管理するための鍵を不正に入手されることを防止できる。
図18は、図11および図14で説明した状態から、ポータブルデバイス7−2に対応して提供される光ディスク42であるCD−ROMからプログラムがインストールされたときの、パーソナルコンピュータ1の機能の構成を説明するブロック図である。
インストールプログラム110は、ポータブルデバイス7−2に対応して提供される光ディスク42であるCD−ROMから、コンテンツ管理プログラム111およびデバイスドライバ116−2を読み出して、パーソナルコンピュータ1にインストールする。コンテンツ管理プログラム111は、上書きされる。
インストールプログラム110は、コンテンツ管理プログラム111に対応するアプリケーションIDであるAPIDOMGに、コンテンツをダウンロードするときに必要な鍵がインストールされていないことを示す”false”を対応づける。
インストールプログラム110は、CDキー(ポータブルデバイス7−1に対応して提供される光ディスク42であるCD−ROMからインストールする場合のCDキーと値が異なる)が入力されたとき、CDキーを基に、CD−ROMに予め記録されている鍵束から、所定の鍵セットを読み出し、パーソナルコンピュータ1のHDD21に記録されている所定のファイルに格納する。
鍵セットに含まれている、コンテンツ管理プログラム111のIDであるMGIDは、Latest MGIDに設定される。既に記録されているCDキー、MGID、マスター鍵MGMK、個別鍵MGIK、ストレージ鍵Rip−SK、購入用アプリケーション認証用公開鍵Cert−PK1−1、購入用アプリケーション認証用秘密鍵Cert−SK1−1、EMDコンテンツ管理鍵EMD−SK1、コンテンツ管理プログラム認証用公開鍵Cert−PK2−1、およびコンテンツ管理プログラム認証用秘密鍵Cert−SK2−1は、更新されない。
鍵セットに含まれている、デバイスドライバ116−2との認証の処理に利用されるマスター鍵VMCMKは、所定のファイルに追加される。
WWWブラウザ117は、ボタン301またはショートカットアイコンがダブルクリックされて起動したとき、インストールプログラム110により所定のファイル(例えば、レジストリ)に記録されたURLを基に、ネットワーク2を介して、EMD登録サーバ3にアクセスして、EMD登録サーバ3が提供する登録フォームを表示させる。WWWブラウザ117は、EMD登録サーバ3にアクセスするとき、CDキー、MGID、Latest MGID、およびAPIDOMGをEMD登録サーバ3に送信する。
例えば、WWWブラウザ117は、CDキー、MGID、Latest MGID、およびAPIDOMGをURLの引数として、EMD登録サーバ3に送信する。
例えば、APIDOMGの言語コードが英語に対応し、バンドル製品コードがポータブルデバイス7−2に対応しているとき、EMD登録サーバ3は、図20に示す登録フォーム(図9に示す登録フォームと異なる)を表示させるデータをパーソナルコンピュータ1に送信する。
例えば、図20に示す登録フォームを基に、パーソナルコンピュータ1の使用者のプロファイル(氏名、電子メールのアドレスなど)のデータが入力されたとき、パーソナルコンピュータ1は、EMD登録サーバ3に使用者のプロファイルのデータを送信する。
EMD登録サーバ3は、使用者のプロファイルのデータおよびAPIDOMGを記録した後、パーソナルコンピュータ1のWWWブラウザ117にインストーラサーバ6にアクセスさせる。インストーラサーバ6は、図21に示すように、パーソナルコンピュータ1のWWWブラウザ117に、ネットワーク2を介して、EMDサーバ4−3および4−4に対応する購入用アプリケーションプログラム115−2および鍵インストールプログラム118−2をダウンロードさせ、ダウンロードした、購入用アプリケーションプログラム115−2および鍵インストールプログラム118−2をパーソナルコンピュータ1にインストールさせる。
購入用アプリケーションプログラム115−2がインストールされたとき、図22に示すように、購入用アプリケーションプログラム115−2に対応するアプリケーションIDであるAPIDPL2がHDD21の所定のファイルに保存される。APIDPL2には、コンテンツをダウンロードするときに必要な鍵がインストールされていないことを示す”false”が対応づけられる。
次に、鍵インストールプログラム118−2を起動させると、鍵インストールプログラム118−2は、鍵インストールプログラム118−2が予め記憶しているURLを基に、ネットワーク2を介して、鍵サーバ5にアクセスする。
APIDOMG、およびAPIDPL2に、コンテンツをダウンロードするときに必要な鍵がインストールされていないことを示す”false”が対応づけられているので、鍵インストールプログラム118−2は、MGIDとCDキーとともに、コンテンツ管理プログラム111に対応するアプリケーションIDであるAPIDOMG、および購入用アプリケーションプログラム115−2に対応するアプリケーションIDであるAPIDPL2を鍵サーバ5に送信する。
鍵サーバ5は、受信したMGIDおよびCDキーを基に、パーソナルコンピュータ1の使用者が登録されているか否かを判定して、パーソナルコンピュータ1の使用者が登録されていると判定された場合、鍵データベース9に、購入用アプリケーションプログラム115−2とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−3および4−4からダウンロードされたコンテンツを管理するための鍵の生成を要求する。
このとき、鍵データベース9は、MGID、コンテンツ管理プログラム111に対応するアプリケーションIDであるAPIDOMG、および購入用アプリケーションプログラム115−2に対応するアプリケーションIDであるAPIDPL2を基に、MGID、コンテンツ管理プログラム111に対応するアプリケーションIDであるAPIDOMG、および購入用アプリケーションプログラム115−2に対応するアプリケーションIDであるAPIDPL2に対応した固有の鍵(APIDPL12の場合と異なる、固有の鍵)を生成する。
鍵サーバ5は、生成した鍵を鍵インストールプログラム118−2に送信する。
鍵インストールプログラム118−2は、鍵サーバ5から受信した、購入用アプリケーションプログラム115−2とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−3および4−4からダウンロードされたコンテンツを管理するための鍵を、HDD21の所定のファイルに記録する。
なお、購入用アプリケーションプログラム115−2とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−3および4−4からダウンロードされたコンテンツを管理するための鍵は、署名と共に、所定の証明書に格納されて、送信される。
図23は、鍵サーバ5から受信して記録された、購入用アプリケーションプログラム115−2とコンテンツ管理プログラム111の相互認証に必要な鍵、およびEMDサーバ4−3および4−4からダウンロードされたコンテンツを管理するための鍵を説明する図である。
購入用アプリケーション認証用公開鍵Cert−PK1−2は、コンテンツ管理プログラム111が購入用アプリケーションプログラム115−2を認証する処理で使用する鍵である。購入用アプリケーション認証用秘密鍵Cert−SK1−2は、コンテンツ管理プログラム111が購入用アプリケーションプログラム115−2を認証する処理で使用する鍵である。
EMDコンテンツ管理鍵EMD−SK2は、EMDサーバ4−3および4−4からダウンロードされたコンテンツを管理するための鍵である。勿論、EMDサーバ4−3からダウンロードされたコンテンツを管理するための鍵と、EMDサーバ4−4からダウンロードされたコンテンツを管理するための鍵とを別にしてもよい。
コンテンツ管理プログラム認証用公開鍵Cert−PK2−2は、購入用アプリケーションプログラム115−2がコンテンツ管理プログラム111を認証する処理で使用する鍵である。コンテンツ管理プログラム認証用秘密鍵Cert−SK2−2は、購入用アプリケーションプログラム115−2がコンテンツ管理プログラム111を認証する処理で使用する鍵である。
このように、購入用アプリケーションプログラム115−2とコンテンツ管理プログラム111の相互認証に使用される鍵、およびEMDサーバ4−3および4−4からダウンロードされたコンテンツを管理するための鍵は、鍵サーバ5から供給される、購入用アプリケーションプログラム115−2とコンテンツ管理プログラム111に対応した、固有の鍵となる。
以下、購入用アプリケーションプログラム115−1および115−2を個々に区別する必要がないとき、単に購入用アプリケーションプログラム115と称する。以下、鍵インストールプログラム118−1および118−1を個々に区別する必要がないとき、単に鍵インストールプログラム118と称する。
次に、図24乃至図28に示すフローチャートを参照して、鍵のダウンロードの処理を説明する。ステップS11において、ポータブルデバイス7に対応して提供される光ディスク42であるCD−ROMがドライブ22に装着されたとき、パーソナルコンピュータ1は、CD−ROMに記録されているインストールプログラム110を起動する。ステップS12において、インストールプログラム110は、ディスプレイ20にCDキーを入力させる画面を表示させる。
ステップS13において、インストールプログラム110は、CDキーが入力されたか否かを判定し、CDキーが入力されていないと判定された場合、CDキーが入力されるまで、ステップS13の処理を繰り返す。
ステップS13において、CDキーが入力されたと判定された場合、ステップS14に進み、インストールプログラム110は、CDキーに対応する鍵セットをCD−ROMに記録されている鍵束から探す。
ステップS15において、インストールプログラム110は、2回目以降のインストールであるか否かを判定し、2回目以降のインストールでないと判定された場合、ステップS16に進み、ステップS14で探した鍵セットをCD−ROMから読み出す。ステップS17において、インストールプログラム110は、読み出した鍵セットを、HDD21に保存する。
ステップS15において、2回目以降のインストールであると判定された場合、ステップS16およびステップS17はスキップされ、手続きは、ステップS18に進む。
ステップS18において、インストールプログラム110は、CDキー、MGID、およびLatest MGIDをHDD21に保存する。
ステップS19において、インストールプログラム110は、既にパーソナルコンピュータ1にインストールされている表示操作指示プログラム112およびコンテンツ管理プログラム111が最新であるか否かを判定し、パーソナルコンピュータ1にインストールされている表示操作指示プログラム112またはコンテンツ管理プログラム111のいずれかが最新でないと判定された場合、ステップS20に進み、CD−ROMに記録されている表示操作指示プログラム112およびコンテンツ管理プログラム111をパーソナルコンピュータ1にインストールする。
ステップS21において、インストールプログラム110は、表示操作指示プログラム112に対応するAPIDおよびコンテンツ管理プログラム111に対応するAPIDを更新して、ステップS22に進む。
ステップS19において、パーソナルコンピュータ1にインストールされている表示操作指示プログラム112およびコンテンツ管理プログラム111いずれも最新であると判定された場合、ステップS20およびステップS21はスキップされ、手続きは、ステップS22に進む。
ステップS22において、インストールプログラム110は、デスクトップ上に、WWWブラウザ117を起動させるショートカットアイコンを作成する。ステップS23において、インストールプログラム110は、EMD登録サーバ3に対応するURLを生成する。ステップS23において生成されるURLには、引き数として、CDキー、MGID、Latest MGID、APIDOMGが設定されている。ステップS24において、インストールプログラム110は、生成したURLをレジストリに記録する。
ステップS25において、インストールプログラム110は、再起動を要求するダイアログボックスを表示する。
ステップS26において、インストールプログラム110は、再起動が選択されたか否かを判定し、再起動が選択されていないと判定された場合、ステップS26に戻り、再起動が選択されるまで、ステップS26の処理を繰り返す。
ステップS26において、再起動が選択されたと判定された場合、ステップS27に進み、インストールプログラム110は、再起動を実行する。
ステップS28において、パーソナルコンピュータ1の図示せぬオペレーティングシステムは、ショートカットアイコンまたはWWWブラウザ117を起動させるアイコンがダブルクリックされたか否かを判定し、ショートカットアイコンまたはWWWブラウザ117を起動させるアイコンがいずれもダブルクリックされていないと判定された場合、ショートカットアイコンまたはWWWブラウザ117を起動させるアイコンがダブルクリックされるまで、ステップS28の処理を繰り返す。
ステップS28において、ショートカットアイコンまたはWWWブラウザ117を起動させるアイコンのいずれかがダブルクリックされたと判定された場合、ステップS29に進み、オペレーティングシステムは、WWWブラウザ117を起動させる。ステップS30において、WWWブラウザ117は、ネットワーク2に接続する。
ステップS31において、WWWブラウザ117は、CDキー、MGID、Latest MGID、APIDOMGをURLの引き数として、EMD登録サーバ3に送信する。
ステップS32において、EMD登録サーバ3は、WWWブラウザ117から受信したMGIDが正常である(例えば、桁数が20桁であるなど)か否かを判定し、MGIDが正常でないと判定された場合、ステップS33に進み、パーソナルコンピュータ1にエラーメッセージを表示させ、処理は終了する。
ステップS32において、MGIDが正常であると判定された場合、EMD登録サーバ3は、CDキー、およびMGIDに対応して、APIDOMGがユーザデータベース8に登録されているか否かを判定し、APIDOMGがユーザデータベース8に登録されていないと判定された場合、ステップS35に進み、ポータブルデバイス7−1に対応するAPIDOMGであるか否かを判定する。
ステップS35において、ポータブルデバイス7−1に対応するAPIDOMGであると判定された場合、ステップS36に進み、EMD登録サーバ3は、APIDOMGの言語コードが英語であるか否かを判定し、APIDOMGの言語コードが英語であると判定された場合、ステップS37に進み、ポータブルデバイス7−1に対応する英語の登録説明ページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にポータブルデバイス7−1に対応する英語の登録説明ページを表示させる。
ステップS38において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録するか否かを判定し、登録しないと判定された場合、ステップS39に進み、登録を勧める英語の表示をさせるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に英語の登録を勧めるダイアログボックスを表示させる。
ステップS40において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録するか否かを判定し、登録しないと判定された場合、ステップS74に進む。
ステップS40において、登録すると判定された場合、手続きは、ステップS41に進む。
ステップS38において、登録すると判定された場合、またはステップS40において、登録すると判定された場合、ステップS41に進み、ポータブルデバイス7−1に対応する英語の登録フォームを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にポータブルデバイス7−1に対応する英語の登録フォームを表示させる。
ステップS42において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録フォームの必須項目が記入されたか否かを判定し、登録フォームの必須項目が記入されていないと判定された場合、ステップS41に戻り、WWWブラウザ117にポータブルデバイス7−1に対応する英語の登録フォームを表示させる処理を繰り返す。
ステップS42において、登録フォームの必須項目が記入されていると判定された場合、ステップS43に進み、EMD登録サーバ3は、登録の内容を確認する確認ページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録の内容を確認する確認ページを表示させる。
ステップS44において、EMD登録サーバ3は、ユーザデータベース8に、使用者のプロファイルおよびAPIDを書き込ませる。ステップS45において、EMD登録サーバ3は、登録した旨を表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録した旨を表示させる。
ステップS36において、APIDOMGの言語コードが日本語であると判定された場合、ステップS46に進み、EMD登録サーバ3は、ポータブルデバイス7−1に対応する日本語の登録説明ページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にポータブルデバイス7−1に対応する日本語の登録説明ページを表示させる。
ステップS47において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録するか否かを判定し、登録しないと判定された場合、ステップS48に進み、日本語の登録を勧める表示をさせるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録を勧めるダイアログボックスを表示させる。
ステップS49において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録するか否かを判定し、登録しないと判定された場合、ステップS74に進む。
ステップS49において、登録すると判定された場合、手続きは、ステップS50に進む。
ステップS47において、登録すると判定された場合、またはステップS49において、登録すると判定された場合、ステップS50に進み、ポータブルデバイス7−1に対応する日本語の登録フォームを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にポータブルデバイス7−1に対応する日本語の登録フォームを表示させる。
ステップS51において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録フォームの必須項目が記入されたか否かを判定し、登録フォームの必須項目が記入されていないと判定された場合、ステップS50に戻り、WWWブラウザ117にポータブルデバイス7−1に対応する日本語の登録フォームを表示させる処理を繰り返す。
ステップS51において、登録フォームの必須項目が記入されていると判定された場合、ステップS52に進み、EMD登録サーバ3は、登録の内容を確認する確認ページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録の内容を確認する確認ページを表示させる。
ステップS53において、EMD登録サーバ3は、ユーザデータベース8に、使用者のプロファイルおよびAPIDを書き込ませる。ステップS54において、EMD登録サーバ3は、登録した旨を表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録した旨を表示させる。
ステップS35において、ポータブルデバイス7−2に対応するAPIDOMGであると判定された場合、ステップS55に進み、EMD登録サーバ3は、APIDOMGの言語コードが英語であるか否かを判定する。
ステップS55ににおいて、APIDOMGの言語コードが英語であると判定された場合、ステップS56に進み、EMD登録サーバ3は、ポータブルデバイス7−2に対応する英語の登録説明ページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にポータブルデバイス7−2に対応する英語の登録説明ページを表示させる。
ステップS57において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録するか否かを判定し、登録しないと判定された場合、ステップS58に進み、登録を勧める英語の表示をさせるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に英語の登録を勧めるダイアログボックスを表示させる。
ステップS59において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録するか否かを判定し、登録しないと判定された場合、ステップS74に進む。
ステップS59において、登録すると判定された場合、手続きは、ステップS60に進む。
ステップS57において、登録すると判定された場合、またはステップS59において、登録すると判定された場合、ステップS60に進み、ポータブルデバイス7−2に対応する英語の登録フォームを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にポータブルデバイス7−2に対応する英語の登録フォームを表示させる。
ステップS61において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録フォームの必須項目が記入されたか否かを判定し、登録フォームの必須項目が記入されていないと判定された場合、ステップS60に戻り、WWWブラウザ117にポータブルデバイス7−2に対応する英語の登録フォームを表示させる処理を繰り返す。
ステップS61において、登録フォームの必須項目が記入されていると判定された場合、ステップS62に進み、EMD登録サーバ3は、登録の内容を確認する確認ページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録の内容を確認する確認ページを表示させる。
ステップS63において、EMD登録サーバ3は、ユーザデータベース8に、使用者のプロファイルおよびAPIDを書き込ませる。ステップS64において、EMD登録サーバ3は、登録した旨を表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録した旨を表示させる。
ステップS55において、APIDOMGの言語コードが日本語であると判定された場合、ステップS65に進み、EMD登録サーバ3は、ポータブルデバイス7−2に対応する日本語の登録説明ページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にポータブルデバイス7−2に対応する日本語の登録説明ページを表示させる。
ステップS66において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録するか否かを判定し、登録しないと判定された場合、ステップS67に進み、日本語の登録を勧める表示をさせるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録を勧めるダイアログボックスを表示させる。
ステップS68において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録するか否かを判定し、登録しないと判定された場合、ステップS74に進む。
ステップS68において、登録すると判定された場合、手続きは、ステップS69に進む。
ステップS66において、登録すると判定された場合、またはステップS68において、登録すると判定された場合、ステップS69に進み、ポータブルデバイス7−2に対応する日本語の登録フォームを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にポータブルデバイス7−2に対応する日本語の登録フォームを表示させる。
ステップS70において、EMD登録サーバ3は、WWWブラウザ117から送信されるデータを基に、登録フォームの必須項目が記入されたか否かを判定し、登録フォームの必須項目が記入されていないと判定された場合、ステップS69に戻り、WWWブラウザ117にポータブルデバイス7−2に対応する日本語の登録フォームを表示させる処理を繰り返す。
ステップS70において、登録フォームの必須項目が記入されていると判定された場合、ステップS71に進み、EMD登録サーバ3は、登録の内容を確認する確認ページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録の内容を確認する確認ページを表示させる。
ステップS72において、EMD登録サーバ3は、ユーザデータベース8に、使用者のプロファイルおよびAPIDを書き込ませる。ステップS73において、EMD登録サーバ3は、登録した旨を表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117に登録した旨を表示させる。
ステップS74において、EMD登録サーバ3は、インストーラサーバ6に対応するURLを示すデータをWWWブラウザ117に送信し、WWWブラウザ117は、インストーラサーバ6に対応するURLを示すデータを受信して、インストーラサーバ6に接続する。インストーラサーバ6は、ダウンロードのページを表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にダウンロードのページを表示させる。
ステップS75において、インストーラサーバ6は、WWWブラウザ117から送信されるデータを基に、インストールの手順の表示が要求されたか否かを判定し、インストールの手順の表示が要求されたと判定された場合、ステップS76に進み、インストールの手順を表示させるデータをパーソナルコンピュータ1のWWWブラウザ117に送信して、WWWブラウザ117にインストールの手順を表示させ、ステップS74に戻る。
ステップS75において、インストールの手順の表示が要求されいないと判定された場合、ステップS77に進み、インストーラサーバ6は、WWWブラウザ117から送信されるデータを基に、インストールが要求されたか否かを判定する。
ステップS77において、インストールが要求されていないと判定された場合、手続きは、ステップS75に戻り、インストールの手順の表示が要求されたか否かの判定の処理を繰り返す。
ステップS77において、インストールが要求されたと判定された場合、ステップS78に進み、インストーラサーバ6は、WWWブラウザ117にポータブルデバイス7に対応した購入用アプリケーションプログラム115をダウンロードさせ、インストールさせる。ステップS79において、インストーラサーバ6は、WWWブラウザ117に鍵インストールプログラム118をダウンロードさせ、インストールさせる。
ステップS80において、WWWブラウザ117は、鍵インストールプログラム118を起動させる。ステップS81において、鍵インストールプログラム118は、パーソナルコンピュータ1内のAPIDを読み取る。
ステップS82において、鍵インストールプログラム118は、パーソナルコンピュータ1内のAPIDの読み取りが成功したか否かを判定し、APIDの読み取りが失敗したと判定された場合、ステップS83に進み、APIDの読み取りが失敗した旨の表示をして、処理は終了する。
ステップS82において、APIDの読み取りが成功したと判定された場合、ステップS84に進み、鍵インストールプログラム118は、ネットワーク2に接続する。
ステップS85において、鍵インストールプログラム118は、CDキー、MGID、APIDPL、およびAPIDOMGをURLの引き数として、鍵サーバ5に送信する。
ステップS86において、鍵サーバ5は、受信したMGIDが正常である(例えば、桁数が20桁である)か否かを判定し、MGIDが正常でないと判定された場合、ステップS87に進み、パーソナルコンピュータ1にエラーメッセージを表示させ、処理は終了する。
ステップS86において、MGIDが正常であると判定された場合、ステップS88に進み、鍵サーバ5は、受信したCDキーおよびMGIDが登録されているか否かをEMD登録サーバ3に問い合わせ、EMD登録サーバ3がCDキーおよびMGIDが登録されていないと判定した場合、ステップS89に進み、鍵インストールプログラム118に名前および電子メールのアドレスを登録する登録フォームを表示させる。名前および電子メールのアドレスが登録されない場合、処理は終了する。
ステップS89において、名前および電子メールのアドレスが登録された場合、またはステップS88において、EMD登録サーバ3がCDキーおよびMGIDが登録されていると判定した場合、ステップS90に進み、鍵インストールプログラム118は、鍵サーバ5に、コンテンツをダウンロードするときに必要な鍵がインストールされていないことを示す”false”が対応づけられているAPIDを送信する。ステップS91において、鍵インストールプログラム118は、鍵セットがインストールされていないプログラムに対応する鍵セットを鍵サーバ5からダウンロードする。
ステップS92において、鍵インストールプログラム118は、ダウンロードした鍵をHDD21に記録する。ステップS93において、鍵インストールプログラム118は、MGID、およびAPIDOMGを鍵サーバ5に、送信する。ステップS94において、鍵インストールプログラム118は、APIDOMGに対応するURL(EMDサーバ4−1乃至4−4のいずれかに対応する)を受信する。鍵インストールプログラム118は、受信した鍵を記録して、ステップS90で送信したAPIDに、コンテンツをダウンロードするときに必要な鍵がインストールされていないことを示す”true”を対応づける。
ステップS95において、鍵インストールプログラム118は、デスクトップ上のショートカットアイコンを消去する。ステップS96において、WWWブラウザ117は、ステップS94で設定されたURLを基に、EMDサーバ4−1乃至4−4のいずれかにアクセスして、処理は終了する。
このように、登録をしたとき、パーソナルコンピュータ1は、使用者による鍵の種類等の指定をすることなく、EMDサーバ4−1乃至4−4からコンテンツをダウンロードするときに必要な鍵を取得することができる。登録をしない場合には、パーソナルコンピュータ1は、EMDサーバ4−1乃至4−4からコンテンツをダウンロードするときに必要な鍵を取得することができない。
鍵サーバ5がパーソナルコンピュータ1に提供する鍵は、そのコンテンツ管理プログラム111およびその購入用アプリケーションプログラム115のそれぞれに固有の鍵である。
また、EMDサーバ4−1乃至4−4からコンテンツをダウンロードするときに必要な鍵を取得した後、使用者による設定を要求することなく、パーソナルコンピュータ1は、使用者の言語またはポータブルデバイス7などの属性に対応した、EMDサーバ4−1乃至4−4のいずれかに接続することかできる。
次に、ステップS84乃至ステップS94の処理に対応する、鍵のダウンロードの処理の詳細を、図29および図30のフローチャートを参照して、説明する。
ステップS101において、パーソナルコンピュータ1の鍵インストールプログラム118は、CDキー、MGID、APIDPL、およびAPIDOMGを添付して(例えば、URLの引き数として)、鍵サーバ5に接続要求を送信する。
ステップS201において、鍵サーバ5は、鍵インストールプログラム118からの接続要求を受信する。ステップS202において、鍵サーバ5は、EMD登録サーバ3を介して、ユーザデータベース8に、CDキー、およびMGIDを添付して、登録済みのMGIDかの問い合わせを送信する。
ステップS301において、ユーザデータベース8は、EMD登録サーバ3を介して、鍵サーバ5からの問い合わせを受信する。ステップS302において、ユーザデータベース8は、CDキー、およびMGIDを基に、登録済みのMGIDかを検索する。ステップS303において、ユーザデータベース8は、登録済みのMGIDであるか否かを示す検索結果を、EMD登録サーバ3を介して、鍵サーバ5に送信する。
ステップS203において、鍵サーバ5は、ユーザデータベース8から送信された、登録済みのMGIDであるか否かを示す検索結果を受信する。ステップS204において、鍵サーバ5は、登録済みのMGIDであるか否かを示す検索結果をパーソナルコンピュータ1の鍵インストールプログラム118に送信する。
ステップS102において、パーソナルコンピュータ1の鍵インストールプログラム118は、鍵サーバ5が送信した、登録済みのMGIDであるか否かを示す検索結果を受信する。ステップS103において、鍵インストールプログラム118は、ステップS102において受信した、登録済みのMGIDであるか否かを示す検索結果を基に、登録されているか否かを判定し、登録されていないと判定された場合、ステップS104に進み、図13に示す登録フォームを表示する。ステップS105において、鍵インストールプログラム118は、登録フォームに名前、電子メールのアドレスが入力された場合、名前、電子メールのアドレスなどのプロファイルのデータを鍵サーバ5に送信する。
ステップS205において、鍵サーバ5は、鍵インストールプログラム118から送信された名前、電子メールのアドレスなどのプロファイルのデータを受信する。ステップS206において、鍵サーバ5は、名前、電子メールのアドレスなどのプロファイルのデータを、EMD登録サーバ3を介してユーザデータベース8に送信する。
ステップS304において、ユーザデータベース8は、EMD登録サーバ3を介して、鍵サーバ5が送信した、名前、電子メールのアドレスなどのプロファイルのデータを受信する。ステップS305において、ユーザデータベース8は、ステップS301で取得したCDキー、およびMGIDと対応させて、名前、電子メールのアドレスなどのプロファイルのデータを登録する。ステップS306において、ユーザデータベース8は、EMD登録サーバ3を介して、鍵サーバ5に登録通知を送信する。
ステップS207において、鍵サーバ5は、ユーザデータベース8が送信した登録通知を受信する。ステップS208において、鍵サーバ5は、パーソナルコンピュータ1の鍵インストールプログラム118に、登録通知を送信する。
ステップS106において、パーソナルコンピュータ1の鍵インストールプログラム118は、鍵サーバ5から送信された登録通知を受信して、ステップS107に進む。
ステップS103において、登録されていると判定された場合、登録の処理は必要ないので、ステップS107に進む。
ステップS107において、鍵インストールプログラム118は、鍵がインストールされていないプログラムのAPIDを鍵サーバ5に送信する。
ステップS209において、鍵サーバ5は、鍵インストールプログラム118が送信したAPIDを受信する。ステップS210において、鍵サーバ5は、APIDを基に、鍵データベース9に鍵の発行を要求する。
ステップS401において、鍵データベース9は、APIDと共に、鍵の発行の要求を受信する。ステップS402において、鍵データベース9は、APIDに対応した鍵(固有の鍵)を発行する。ステップS403において、鍵データベース9は、発行した鍵を鍵サーバ5に送信する。
ステップS211において、鍵サーバ5は、鍵データベース9から鍵を受信する。ステップS212において、鍵サーバ5は、ステップS211で受信した鍵をパーソナルコンピュータ1の鍵インストールプログラム118に送信する。
ステップS108において、パーソナルコンピュータ1の鍵インストールプログラム118は、鍵サーバ5が送信した鍵を受信する。ステップS109において、鍵インストールプログラム118は、ステップS108において受信した鍵をHDD21の所定のファイルに保存する。鍵インストールプログラム118は、対応するAPIDに鍵をインストールした旨の設定をする。
ステップS213において、鍵サーバ5は、ステップS202において、取得したCDキー、およびMGIDを基に、新たなマスター鍵MGMK、新たな個別鍵MGIK、新たなストレージ鍵Rip−SKなどを含む新たな鍵セットを送信するか否かを判定する。例えば、マスター鍵MGMK、個別鍵MGIK、またはストレージ鍵Rip−SKのいずれかが破られた場合など、予め、鍵サーバ5に新たな鍵セットを発行する旨を設定しておくことにより、鍵サーバ5は、自動的に、所定のCDキー、およびMGIDを有するパーソナルコンピュータ1にマスター鍵MGMK、個別鍵MGIK、またはストレージ鍵Rip−SKを更新させる。
ステップS213において、新たな鍵セットを送信すると判定された場合、ステップS214に進み、鍵サーバ5は、新たな鍵セットをパーソナルコンピュータ1の鍵インストールプログラム118に送信する。
ステップS110において、パーソナルコンピュータ1の鍵インストールプログラム118は、鍵サーバ5から送信された新たな鍵セットを受信する。ステップS111において、鍵インストールプログラム118は、ステップS110において受信した新たな鍵セットをHDD21の所定のファイルに保存する。
ステップS213において、新たな鍵セットを送信しないと判定された場合、ステップS214、ステップS110、およびステップS111はスキップされる。
ステップS112において、パーソナルコンピュータ1の鍵インストールプログラム118は、コンテンツ管理プログラム111のAPIDである、APIDOMGを鍵サーバ5に送信する。
ステップS215において、鍵サーバ5は、APIDOMGを受信する。ステップS216において、鍵サーバ5は、受信したAPIDOMGを基に、予め記録しているAPIDOMGの属性とURLの対応するテーブルを検索して、所定のURLを選択し、選択したURLをパーソナルコンピュータ1の鍵インストールプログラム118に送信する。
ステップS113において、パーソナルコンピュータ1の鍵インストールプログラム118は、鍵サーバ5から送信されたURLを受信する。ステップS114において、パーソナルコンピュータ1の鍵インストールプログラム118は、ステップS113で受信したURLを、レジストリなどの所定のファイルに保存して、処理は終了する。
以上のように、パーソナルコンピュータ1は、EMDサーバ4−1乃至4−4からコンテンツをダウンロードするときに必要な鍵を取得することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図2または図3に示すように、磁気ディスク41若しくは91(フロッピディスクを含む)、光ディスク42若しくは92(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク43若しくは93(MD(Mini-Disc)を含む)、若しくは半導体メモリ44若しくは94などよりなるパッケージメディア、または、プログラムが一時的若しくは永続的に格納されるROM12若しくは62や、HDD21若しくは71などにより構成される。プログラム格納媒体へのプログラムの格納は、必要に応じて通信部25または73などのインタフェースを介して、ローカルエリアネットワークまたはインターネットなどのネットワーク2、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラム格納媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
1 パーソナルコンピュータ, 2 ネットワーク, 3 EMD登録サーバ, 5 鍵サーバ, 6 インストーラサーバ, 7−1,7−2 ポータブルデバイス, 8 ユーザデータベース, 9 鍵データベース, 11 CPU, 12 ROM, 13 RAM, 21 HDD, 41 磁気ディスク, 42 光ディスク, 43 光磁気ディスク, 44 半導体メモリ, 61 CPU, 62 ROM, 63 RAM, 71 HDD, 91 磁気ディスク, 92 光ディスク, 93 光磁気ディスク, 94 半導体メモリ, 110 インストールプログラム, 111 コンテンツ管理プログラム, 112 表示操作指示プログラム, 113 録音プログラム, 114 コンテンツデータベース, 115−1,115−2 購入用アプリケーションプログラム, 116−1,116−2 デバイスドライバ, 117 WWWブラウザ, 118−1,118−2 鍵インストールプログラム