(57)【特許請求の範囲】
【請求項１】
端末装置のコンピュータを用いて実行される、記録機器のファームウェアのアップグレードにより追加された特殊制御機能を使用するのに必要な認証キー又はＩＤを有するアプリケーションプログラムにおいて、
前記コンピュータを、
前記ファームウェアのアップグレードを実行する前までの間に、前記記録機器との間で相互認証を行う認証手段、
前記認証手段により認証された前記記録機器以外の機器に対して、使用されることを制限する制限手段、
前記ファームウェアのアップグレードによって前記特殊制御機能を前記ファームウェアに追加させる機能追加手段、
前記機能追加手段にて追加された前記特殊制御機能の使用が許可されるか否かを、前記認証キー又はＩＤに基づいて判断する判断手段、
前記判断の結果に基づき、前記追加された特殊制御機能の使用を許可する許可手段、
として機能させることを特徴とするアプリケーションプログラム。
【請求項２】
前記機能追加手段は、前記ファームウェアのアップグレードを実行する前に、ライセンス情報を前記記録機器に送信する送信手段を有し、
前記記録機器からの前記ライセンス情報の正当性に関する判定結果に基づき、前記特殊制御機能を前記ファームウェアに追加させることを特徴とする請求項１に記載のアプリケーションプログラム。
【請求項３】
前記記録機器の前記ファームウェアのアップグレードに必要となる前記ライセンス情報を有し、
前記機能追加手段は、前記ライセンス情報に対応した前記特殊制御機能を前記アップグレードによって前記ファームウェアに追加させることを特徴とする請求項２に記載のアプリケーションプログラム。
【請求項４】
前記特殊制御機能は複数追加可能であり、
前記認証キー又はＩＤを、前記特殊制御機能ごとに保有しており、
前記判断手段は、前記認証キー又はＩＤに対応する前記特殊制御機能の使用を許可することを特徴とする請求項３に記載のアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムに関する。
【背景技術】
【０００２】
機器のファームウェア、例えば、コンピュータの記録機器（ドライブ装置）のファームウェアに関して、そのバージョンアップは、従来より、記録機器のメーカがバージョンアップ用のプログラムをユーザに配布することにより、行なわれている。この場合、ユーザは、例えば記録装置メーカのＷｅｂサイトにアクセスして、バージョンアップ用のプログラムをダウンロードしたり、又は、記録装置メーカから配布されるバージョンアップ用のプログラムが格納されたＣＤ−ＲＯＭを入手することにより、ファームウェアのバージョンアップを行なっていた。
【０００３】
なお、特許文献１には、記録可能な情報記録媒体に記録される暗号化情報を用いて前記情報記録媒体に記録すべき記録情報を暗号化し、暗号化記録情報を生成する暗号化工程と、前記生成された暗号化記録情報を、前記暗号化情報が予め記録された前記情報記録媒体に当該暗号化記録情報を記録する情報記録装置に対して電気通信回線を介して配信する配信工程とを備えることを特徴とする情報配信方法が開示されている。
【０００４】
【特許文献１】特開２００１−３０７４２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のように従来の手法で行なわれるファームウェアのバージョンアップは、ファームウェアに含まれるバグへの対応や機器の動作の安定性を向上させる等のファームウェアの基本機能（機器の基本機能）に関するものであり、機器の全てのユーザが行なうことができるものであった。
【０００６】
一方、上記のようなファームウェアの基本機能のバージョンアップとは異なり、ファームウェアの基本機能以外の機能を追加するアップグレードは、機器の全てのユーザが行なえるのではなく、特別な条件の下でのみ行なえることが望まれる。例えば、ファームウェアに追加される機能が、暗号化された情報の記録を可能にする機能である場合のように著作権の保護に関連する機能である場合には、特定の条件下のユーザのみがファームウェアのアップグレードを行なえるようにすることで、セキュアな環境の構築が可能になる。
【０００７】
本発明の目的は、機器のファームウェアのアップグレードが機器の全てのユーザに許可されるのではなく、特別な条件でのみ許可されることを可能にする、アプリケーションプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明は、端末装置のコンピュータを用いて実行される、記録機器のファームウェアのアップグレードにより追加された特殊制御機能を使用するのに必要な認証キー又はＩＤを有するアプリケーションプログラムにおいて、前記コンピュータを、前記ファームウェアのアップグレードを実行する前までの間に、前記記録機器との間で相互認証を行う認証手段、前記認証手段により認証された前記記録機器以外の機器に対して、使用されることを制限する制限手段、前記ファームウェアのアップグレードによって前記特殊制御機能を前記ファームウェアに追加させる機能追加手段、前記機能追加手段にて追加された前記特殊制御機能の使用が許可されるか否かを、前記認証キー又はＩＤに基づいて判断する判断手段、前記判断の結果に基づき、前記追加された特殊制御機能の使用を許可する許可手段、として機能させることを特徴とする。
【発明を実施するための最良の形態】
【０００９】
（第１実施形態）
以下、図１から図９を参照して、本発明のアプリケーションプログラムの一実施形態について詳細に説明する。
【００１０】
まず、本実施形態のアプリケーションプログラムについて説明する。
一般に、アプリケーションプログラムは、ある特定の目的のために設計されたソフトウェアであり、どのソフトウェアにも共通する基本的な機能をまとめたＯＳに対して、ユーザが必要とするものが組み込まれて利用される。アプリケーションプログラムの例として、ライティングソフトやオーサリングソフト、動画／音楽再生ソフト、ゲームソフトなどの他、ファイル圧縮、コンピュータウィルス駆除、メモリ管理などのユーティリティソフトが挙げられる。アプリケーションプログラムがＰＣ（パーソナルコンピュータ）上で実行されることにより、アプリケーションプログラムの基本機能が実現され、上記特定の目的が達成される。本実施形態のアプリケーションプログラムは、上記の通常一般のアプリケーションプログラムに対して広く適用可能である。
【００１１】
また、一般に、ハードウェア（機器）の基本的な制御を行なうために機器に組み込まれているファームウェア（ＦＷ）に対して、大幅な改良による大規模な機能の追加（アップグレード）が行われることがある。この場合、ファームウェアのアップグレードを行うためには、ファームウェアに対してアップグレードの機能を追加するためのプログラム、即ち、アップグレードモジュールが必要とされる。
【００１２】
以下、具体例として、アプリケーションプログラムが、“暗号化されたコンテンツを記録すること”を基本機能とするものであり、また、ファームウェアが“ＰＣに搭載された記録再生機器（ドライブ装置）”の基本的な制御を行なうためのものである場合について説明する。
【００１３】
図１は、本実施形態のアプリケーションプログラムが用いられる、ファームウェアのアップグレードシステムの概略構成を示す図である。上記のように、アプリケーションプログラム１００は、コンテンツを記録するためのアプリケーションプログラム（ライティングソフトウェアないしオーサリングソフトウェア）であり、その基本機能（アプリケーションプログラム１００に固有な機能）は、暗号化されたコンテンツを記録ディスク６０に記録するという機能である。
【００１４】
アプリケーションプログラム１００は、ユーザ端末（ＰＣ）５０上で実行される。ユーザ端末５０には、記録ディスク６０（ＤＶＤ）の記録再生が可能なドライブ装置５５が備えられている。アプリケーションプログラム１００がユーザ端末５０上で実行されることにより、ドライブ装置５５により記録ディスク６０にコンテンツが記録される。ドライブ装置５５の基本的な制御は、ファームウェア２３０により行なわれる。
【００１５】
アプリケーションプログラム１００は、ビデオ編集機能１０１と、データ書き込み機能１０２と、特殊機能１０３と、認証機能１０４と、アップグレード機能１０５とを備えている。これらの機能の実行に際しては、アプリケーションプログラム１００が有する認証キー１０６と、ライセンス情報１０７が用いられる。
【００１６】
ビデオ編集機能１０１は、通常一般のオーサリングソフトウェアが有するビデオ編集機能である。データ書き込み機能１０２は、コンテンツ情報を記録ディスク６０に書き込む機能である。特殊機能１０３は、アプリケーションプログラム１００に固有な機能（基本機能）である、「暗号化されたコンテンツ情報を記録ディスク６０に記録すること」の実行に際して必要となる特殊な機能である。認証機能１０４は、ドライブ装置５５等を認証する機能である。
【００１７】
アップグレード機能１０５は、以下に述べるアップグレードプログラム１５０等が実行されることにより実現される機能である。認証キー１０６は、ファームウェア２３０のアップグレードされた機能を使用できるようにするために用いられる。ライセンス情報１０７は、アップグレードプログラム１５０等が真正にライセンスされたものであることを示す情報である。
【００１８】
アプリケーションプログラム１００は、アップグレードプログラム１５０を有している。アップグレードプログラム１５０は、アップグレードモジュール１５１を含んでいる。アップグレードモジュール１５１は、後述するように、ユーザ端末５０のドライブ装置５５のファームウェア２３０に対して特殊制御機能２３２を追加するためのプログラムである。アップグレードモジュール１５１は、単独で実行されるものではなく、アップグレードプログラム１５０から呼び出される機能小単位のプログラムである。アップグレード機能１０５は、アップグレードプログラム１５０が実行されることにより実現される機能である。
【００１９】
ファームウェア２３０は、記録再生制御機能２３１と、特殊制御機能２３２と、認識番号２３３を有している。ドライブ装置５５の基本的な制御は、ファームウェア２３０の記録再生制御機能２３１に基づいて行なわれる。しかし、ドライブ装置５５において、アプリケーションプログラム１００が有する、暗号化されたコンテンツを書き込む機能（上記基本機能）が実現されるためには、ファームウェア２３０に、アプリケーションプログラム１００の上記基本機能が実現されるための特殊制御機能２３２を追加するアップグレードが必要とされる。この特殊制御機能２３２については後述する。ファームウェア２３０に特殊制御機能２３２を追加するアップグレードは、アップグレードモジュール１５１を含むアップグレードプログラム１５０とアプリケーションプログラム１００が協働することにより実行される。認識番号２３３は、アップグレードによりファームウェア２３０に追加された特殊制御機能２３２にそれぞれ付与される番号である。
【００２０】
上記のように、アップグレードモジュール１５１を含むアップグレードプログラム１５０は、アプリケーションプログラム１００と協働する。アプリケーションプログラム１００がユーザ端末５０によって実行されることで、アップグレードプログラム１５０によってファームウェア２３０に特殊制御機能２３２を追加するアップグレードが行われ、アップグレードされたファームウェア２３０を使用する機能（特殊機能１０３）が実現される。
【００２１】
なお、本明細書において、ファームウェアのアップグレードとは、ファームウェアのバージョンアップとは異なる意味で用いられる。ファームウェアのバージョンアップとは、上記のように、ファームウェアに含まれるバグへの対応やドライブ装置５５の動作の安定性を向上させる等のファームウェアの基本機能（ドライブ装置５５の基本機能）の改善に関するものである。ファームウェアのバージョンアップは、通常、ドライブ装置５５のメーカ側から提供されるバージョンアップ用プログラムを入手することにより、ドライブ装置５５の全てのユーザが自由に行なえるようになっている。これに対して、本実施形態におけるファームウェアのアップグレードは、ファームウェアの上記基本機能以外の機能をファームウェアに追加するものをいう。ここで、「ファームウェアの上記基本機能以外の機能」は、アプリケーションプログラム１００の上記基本機能が実現されるための特殊制御機能２３２に対応している。
【００２２】
アプリケーションプログラム１００は、読み取り専用の記録媒体に記録された形でパッケージプログラムとして、ユーザに対して販売等の譲渡がなされる。図１の符号Ｙ１に示すように、アップグレードプログラム１５０（アップグレードモジュール１５１を含む）又はアップグレードモジュール１５１は、ドライブ装置メーカ３０からアプリケーションプログラム１００を製造するアプリケーションメーカ４０にライセンス（販売等の譲渡を含む）される。この場合、アップグレードモジュール１５１がドライブ装置メーカ３０から真正にライセンスされたものであることを示すライセンス情報１０７がドライブ装置メーカ３０からアプリケーションメーカ４０に付与される。
【００２３】
ドライブ装置５５のファームウェア２３０の情報を有しているのは、ドライブ装置メーカ３０であり、アプリケーションメーカ４０は、ファームウェア２３０の情報を所有していないため、ファームウェア２３０をアップグレードさせるアップグレードモジュール１５１（アップグレードプログラム１５０）は、ドライブ装置メーカ３０だけが製造することができる。
【００２４】
アプリケーションメーカ４０は、そのライセンスされたアップグレードモジュール１５１（アップグレードプログラム１５０）及びライセンス情報１０７を含めた形でアプリケーションプログラム１００を製造して、ユーザに対して販売等を行なう。即ち、アプリケーションプログラム１００は、その一部にアップグレードモジュール１５１（アップグレードプログラム１５０）を有する単一のパッケージソフトとして、ユーザに対して販売等の譲渡がなされる。アプリケーションメーカ４０のデータベース４１では、アプリケーションプログラム１００と、ドライブ装置メーカ３０から付与されたライセンス情報１０７とが管理される。
【００２５】
アプリケーションプログラム１００のアップグレード機能１０５について説明する。図２に示すように、アップグレードモジュール１５１を含むアップグレードプログラム１５０を有する特定のアプリケーションプログラム１００、換言すれば、ドライブ装置メーカ３０からライセンスを受けた特定のアプリケーションプログラム１００のみが、ドライブ装置５５のファームウェア２３０に対して、アプリケーションプログラム１００の上記基本機能を実現するための特殊制御機能２３２を追加するアップグレードを行なうことが許可されている。
【００２６】
また、上記のようにアプリケーションプログラム１００の上記基本機能を実現するための特殊制御機能２３２を有するようにアップグレードがなされたドライブ装置５５のファームウェア２３０を使用する許可は、ドライブ装置メーカ３０からライセンスを受けた特定のアプリケーションプログラム１００に対してのみ与えられている。
【００２７】
これにより、アプリケーションプログラム１００を購入等したユーザのみがアップグレードモジュール１５１を含むアップグレードプログラム１５０を用いてドライブ装置５５のファームウェア２３０をアップグレードすることができ、そのアップグレードされたファームウェア２３０を用いて、アプリケーションプログラム１００の上記基本機能である、暗号化されたコンテンツを記録ディスク６０に記録することが許可される。これにより、コンテンツの著作権の保護が図られる。
【００２８】
この場合、ドライブ装置メーカ３０からライセンスを受けた特定のアプリケーションプログラム１００の中には、アップグレードされたファームウェア２３０を使用する機能（特殊機能１０３）を有するが、ファームウェア２３０のアップグレード機能１０５を有さない、即ち、自らがファームウェア２３０をアップグレードするためのアップグレードモジュール１５１を含むアップグレードプログラム１５０を有さないアプリケーションプログラム１００があってもよい。その特殊機能１０３の有無の判断は、後述するように、認証キー１０６を用いて行なわれる（図９参照）。
【００２９】
図１に示すように、コンテンツサーバ７０からコンテンツ情報５００が電子配信される。この電子配信に際しては、例えば、ＤＲＭ（デジタルライツマネージメント）の方法によりコンテンツ情報５００が送信される。記録ディスク６０は、複数回の情報記録（情報書き換え）が可能なＤＶＤであり、暗号キーＫの情報がその製造時において記録され、その暗号キーＫの情報が記録されている状態で販売等の譲渡がなされる。
【００３０】
ここで、コンテンツサーバ７０からコンテンツ情報５００が電子配信されるに際しては、以下の二つの形式がある。即ち、そのうちの一つは、コンテンツ情報５００が記録ディスク６０に記録されている暗号キーＫを用いて暗号化されていない状態で、コンテンツサーバ７０からユーザ端末５０に電子配信される形式（形式１）であり、残りの一つは、コンテンツ情報５００が暗号キーＫを用いて暗号化された状態でコンテンツサーバ７０からユーザ端末５０に電子配信される形式（形式２）である。
【００３１】
形式１及び形式２について、それぞれ説明する。ここでは、前提として、ユーザ端末５０がアプリケーションプログラム１００のアップグレードモジュール１５１（アップグレードプログラム１５０）を実行することにより、ファームウェア２３０のアップグレード（特殊制御機能２３２の追加）が行われているものとする。
【００３２】
（形式１）
ユーザ端末５０は、コンテンツサーバ７０からコンテンツ情報５００を受信すると、アプリケーションプログラム１００を実行して、記録ディスク６０の暗号キーＫを用いて暗号化を行った後に、ドライブ装置５５を動作させることにより、その暗号化されたコンテンツ情報５００を記録ディスク６０に記録する。
【００３３】
（形式２）
ユーザ端末５０は、記録ディスク６０の暗号キーＫの情報をコンテンツサーバ７０に送信し、コンテンツサーバ７０では、その暗号キーＫによってコンテンツ情報５００の暗号化が行われる。その後に、その暗号化されたコンテンツ情報５００がユーザ端末５０に配信される。ユーザ端末５０は、アプリケーションプログラム１００を実行してドライブ装置５５を動作させることにより、その暗号化されたコンテンツ情報５００を記録ディスク６０に記録する。
【００３４】
上記形式１及び形式２のいずれの場合においても、暗号キーＫにより暗号化されたコンテンツ情報５００が記録ディスク６０に記録されると、予め記録されている暗号キーＫを用いて情報の暗号化を解読して出力する形式の既存の情報再生装置全てにおいて、上記暗号化されたコンテンツ情報５００を解読して再生することができる。
【００３５】
一般に、ＤＶＤに暗号化された情報が記録されるためには、ＤＶＤのうち、通常のファームウェア（アップグレードされていないファームウェア）によって制御されるドライブ装置では、自由に記録することができないエリア（後述する例ではセクターヘッダ）に対する自由な記録が可能な状態とされた上で、同エリアにユーザデータの暗号化に必要なデータ（暗号化されたデータの書き込みに必要なデータ）が記録される必要がある。
【００３６】
ここで、通常のファームウェア（記録再生制御機能２３１）によって制御されるドライブ装置では、同エリアに対する自由な記録ができないようにされることで、ＤＶＤに暗号化された情報が記録できないようにされており、これにより、コンテンツ情報の著作権保護が図られている。このことに関して、図３を参照して、具体的に説明する。
【００３７】
図３において、コンテンツサーバ７０から配信されたコンテンツ情報（上記形式１及び形式２を含む）５００には、コンテンツの内容を示すコンテンツデータ５０２の他に、コンテンツデータ５０２の暗号化に必要なデータ（暗号化データ）５０１が含まれている。
【００３８】
記録ディスク６０の１セクターに対応するデータエリア６００は、セクターヘッダ６０１と、ユーザデータエリア６０２とを有している。セクターヘッダ６０１は、アドレス用のセクターＩＤのデータが記録されるためのエリア（図示せず）と、ユーザデータエリア６０２に記録されるユーザデータ（コンテンツデータ５０２）の暗号化に必要な暗号化データ５０１が記録されるための暗号化データ記録エリア６０１ａとを有している。
【００３９】
なお、本例では、暗号化データ記録エリア６０１ａは、セクターヘッダ６０１に設けられているとして説明するが、暗号化データ記録エリア６０１ａが設けられる場所は、セクターヘッダ６０１に限定されず、ユーザデータエリア６０２以外の特定の場所であればよい。
【００４０】
アプリケーションプログラム１００の実行により、ドライブ装置５５が記録ディスク６０に暗号化されたコンテンツ情報５００を記録するためには、セクターヘッダ６０１に暗号化データ５０１を記録するとともに、その記録された暗号化データ５０１を用いて暗号化されたコンテンツデータ５０２を、ユーザデータエリア６０２に記録する必要がある。
【００４１】
アプリケーションプログラム１００が有する特殊機能１０３とは、アップグレードされたファームウェア２３０を使用する機能であり、セクターヘッダ６０１に暗号化データ５０１を記録するとともに、その記録された暗号化データ５０１を用いて暗号化されたコンテンツデータ５０２を、ユーザデータエリア６０２に記録する機能である。
【００４２】
ここで、上記のように、通常一般のファームウェアによって制御されるドライブ装置５５では、コンテンツ情報５００の著作権保護の観点から、記録ディスク６０のセクターヘッダ６０１への自由な記録ができないようにされている。具体的には、通常一般のファームウェアによって制御されるドライブ装置５５は、セクターヘッダ６０１の暗号化データ記録エリア６０１ａに、一義的にゼロのデータを記録する。これにより、暗号化データ５０１がセクターヘッダ６０１（暗号化データ記録エリア６０１ａ）に記録されることができないようになっている。
【００４３】
このことから、ユーザ端末５０が、セクターヘッダ６０１に記録された暗号化データ５０１を使って（上記形式１の場合には更に暗号キーＫの情報を使って）、暗号化されたコンテンツデータ５０２をユーザデータエリア６０２に記録しようとしても、セクターヘッダ６０１に暗号化データ５０１を記録できないため、暗号化されたコンテンツデータ５０２をユーザデータエリア６０２に記録することができないようにされている。
【００４４】
上記のように、暗号化されたコンテンツ情報５００を記録ディスク６０に記録するためには、ドライブ装置５５によるセクターヘッダ６０１への自由な記録が可能とされている必要がある。しかしながら、どのドライブ装置においてもセクターヘッダ６０１への自由な記録が可能とされると、コンテンツ情報５００の著作権保護の観点におけるセキュアレベルが低下してしまう。
【００４５】
そこで、本実施形態では、特別に許可されたアプリケーションプログラム１００のアップグレードモジュール１５１（アップグレードプログラム１５０）がドライブ装置５５のファームウェア２３０をアップグレードして、図４に示すように、ドライブ装置５５による記録ディスク６０のセクターヘッダ６０１に対する自由な記録ができるようにされている。
【００４６】
その結果、アップグレードモジュール１５１（アップグレードプログラム１５０）によりアップグレードされたファームウェア２３０によって制御されるドライブ装置５５は、セクターヘッダ６０１の暗号化データ記録エリア６０１ａに、暗号化データ５０１を記録できるようになる。これにより、ユーザ端末５０は、セクターヘッダ６０１に記録された暗号化データ５０１を使って（上記形式１の場合には更に暗号キーＫの情報を使って）、暗号化されたコンテンツデータ５０２をユーザデータエリア６０２に記録することが可能となる。
【００４７】
図８を参照して、ファームウェア２３０のアップグレードを行なう際の処理について説明する。
【００４８】
ユーザがユーザ端末５０を起動すると、ユーザ端末５０がドライブ装置５５を認識する（ステップＳ１０１）。ユーザ端末５０は、アプリケーションプログラム１００の実行を開始する（ステップＳ１０２）。ドライブ装置５５は、パッケージソフトウェアであるアプリケーションプログラム１００のディスク再生を開始する（ステップＳ１０３）。
【００４９】
ドライブ装置５５とアプリケーションプログラム１００とは、相互認証されることにより、そのアプリケーションプログラム１００とドライブ装置５５はペアの形でしか使用できなくなる。あるアプリケーションプログラム１００によって、ある一のドライブ装置５５のファームウェア２３０のアップグレードが行われると、他のドライブ装置５５のファームウェア２３０をアップグレードすることはできず、また、そのアプリケーションプログラム１００は、上記一のドライブ装置５５でのみ使用できることになる。これらのことから、コンテンツの不正なコピーが抑制される。また、アプリケーションプログラム１００を購入したユーザのユーザ登録が、アプリケーションメーカ４０に対して行なわれる（図示せず）。
【００５０】
ユーザ端末５０では、アプリケーションプログラム１００のアップグレードプログラム１５０又はアップグレードモジュール１５１を検出し（ステップＳ１０４）、アップグレードモジュール１５１をドライブ装置５５に送信する（ステップＳ１０５）。また、ユーザ端末５０は、ライセンス情報１０７をドライブ装置５５に送信する（ステップＳ１０６）。ここで、ユーザ端末５０からドライブ装置５５に送信されるライセンス情報１０７は、予めアプリケーションメーカ４０側からユーザ端末５０に通知されている正しいライセンス情報１０７である。
【００５１】
ドライブ装置５５は、ユーザ端末５０から、アップグレードモジュール１５１とライセンス情報１０７を受信する（ステップＳ１０７）。次いで、ドライブ装置５５では、ステップＳ１０８において、受信したライセンス情報１０７と、アプリケーションプログラム１００に含まれているライセンス情報１０７とを比較して、アプリケーションプログラム１００に含まれているライセンス情報１０７が正しいか否かを判定する。
【００５２】
その判定の結果、アプリケーションプログラム１００に含まれているライセンス情報１０７が正しいと判定された場合には、ドライブ装置メーカ３０から提供されたアップグレードモジュール１５１であると判断されて、ファームウェア２３０のアップグレードが可能であると判定される（ステップＳ１０８−Ｙ）。
【００５３】
ドライブ装置５５において、ステップＳ１０８の判定の結果、アップグレードが可能であると判定された場合には、アップグレードモジュール１５１により、ファームウェア２３０のアップグレードが実行される（ステップＳ１０９）。これにより、ファームウェア２３０の特殊制御機能２３２が実行可能な状態となる。
【００５４】
次いで、ドライブ装置５５では、認識番号２３３がメモリに記録される（ステップＳ１１０）。上記のように、認識番号２３３とは、アップグレードによりファームウェア２３０に追加された機能にそれぞれ付与される番号である。
【００５５】
ファームウェア２３０において、ファームウェア２３０の基本機能（記録再生制御機能２３１）以外の機能が追加されるためのアップグレードが行なわれた場合には、ファームウェア２３０の基本機能（記録再生制御機能）２３１のバージョンアップと区別可能な認識番号２３３が付与される。
【００５６】
例えば、ファームウェア２３０の認識番号２３３がＶｅｒ.−ｘ.ｙ−ａｂで表される場合、ｘは、ファームウェア２３０の基本機能２３１のメジャーバージョン、ｙは基本機能２３１のマイナーバージョン、ａｂはファームウェア２３０のアップグレードをそれぞれ表すことができる。この場合、基本機能２３１のバージョンを表すｘ,ｙと、基本機能２３１以外の機能が追加されるためのアップグレードを表すａｂは、互いに無関係な値を持つことになる。ステップＳ１１０では、上記ステップＳ１０９において実行されたアップグレードを表す認識番号２３３がメモリに記録される。
【００５７】
次いで、ドライブ装置５５は、ファームウェア２３０のアップグレードに関する結果をユーザ端末５０に通知する（ステップＳ１１１）。この場合、アップグレードが実行された場合には、そのアップグレードを表す認識番号２３３がユーザ端末５０に通知され、アップグレードが不可能であると判定された場合（ステップＳ１０８−Ｎ）には、その旨がユーザ端末５０に通知される。これにより、ユーザ端末５０では、アップグレードが終了する（ステップＳ１１２）。
【００５８】
アプリケーションプログラム１００は、複数種類用意されることができ、その場合、それぞれの種類のアプリケーションプログラム１００によって、ファームウェア２３０のアップグレードによって追加される機能が異なるように構成することができる。
【００５９】
図５に示すように、ドライブ装置メーカ３０により提供されたドライブ装置５５のファームウェア２３０には、もともとドライブ装置５５の基本動作を制御するための基本機能（記録再生制御機能２３１）が含まれている。ファームウェア２３０のバージョンアップが行なわれる場合には、このファームウェア２３０の基本機能（記録再生制御機能２３１）の部分の内容が変更又は更新（バージョンアップ）される。
【００６０】
これに対して、ユーザ端末５０が、第１の種類のアプリケーションプログラム１００（以下、図示はしないが「第１のアプリケーションプログラム１００−１」と称する）をドライブ装置５５を介して読み込むと、そのアップグレードモジュール１５１（以下、図示はしないが「第１のアップグレードモジュール１５１−１」と称する）により、その第１のアプリケーションプログラム１００−１の固有の機能（基本機能）を実現するための機能（以下「第１アプリ実現機能」と称する）である特殊制御機能２３２（２３２ａ）が追加されるようにファームウェア２３０がアップグレードされる。
【００６１】
更に、ユーザ端末５０が、第２の種類のアプリケーションプログラム１００（以下、「第２のアプリケーションプログラム１００−２」と称する）をドライブ装置５５を介して読み込むと、そのアップグレードモジュール１５１（以下「第２のアップグレードモジュール１５１−２」と称する）により、その第２のアプリケーションプログラム１００−２の固有の機能を実現するための機能（以下「第２アプリ実現機能」と称する）である特殊制御機能２３２（２３２ｂ）が追加されるようにファームウェア２３０がアップグレードされる。
【００６２】
また、第３の種類のアプリケーションプログラム１００（以下、「第３のアプリケーションプログラム１００−３」と称する）が、第１のアプリケーションプログラム１００−１の固有の機能と、第２のアプリケーションプログラム１００−２の固有の機能の両方を有している場合には、そのアップグレードモジュール１５１（以下「第３のアップグレードモジュール１５１−３」と称する）により、第１のアプリケーションプログラム１００−１の固有の機能と、第２のアプリケーションプログラム１００−２の固有の機能の両方を実現するための両機能２３２ａ,２３２ｂが追加されるようにファームウェア２３０がアップグレードされる。
【００６３】
例えば、認識番号２３３において、アップグレードを表すａｂは、上記第１アプリ実現機能２３２ａのアップグレードについては、“０１”とされ、上記第２アプリ実現機能２３２ｂのアップグレードについては“０２”とされ、第１のアプリケーションプログラム１００−１の固有の機能と、第２のアプリケーションプログラム１００−２の固有の機能の両方を実現するための両機能２３２ａ,２３２ｂのアップグレードについては、“１２”とされることができる。
【００６４】
次に、アップグレードモジュール１５１に含まれる許可データについて説明する。
許可データは、その許可データを含むアップグレードモジュール１５１がファームウェア２３０のアップグレードを実行することが許可されていることを示すデータである。以下、図６及び図７の例を参照して説明する。
【００６５】
図７に示すように、第１のアプリケーションプログラム１００−１は、その固有の機能として、暗号化されたコンテンツデータ５０２をユーザデータエリア６０２に記録する機能（以下、「第１単位機能」）と、第１のアプリケーションプログラム１００−１に固有なデータ記録を行なう機能（第１のアプリケーションプログラム１００−１用の特別なデータＤ−１を記録ディスク６０に記録する機能，以下、「第２単位機能」）とを有している。
【００６６】
また、第２のアプリケーションプログラム１００−２は、その固有の機能として、上記第１単位機能と、第２のアプリケーションプログラム１００−２に固有なデータ記録を行なう機能（第２のアプリケーションプログラム１００−２用の特別なデータＤ−２を記録ディスク６０に記録する機能，以下、「第３単位機能」）とを有している。
また、第４のアプリケーションプログラム１００−４は、その固有の機能として、上記第１単位機能を有している。
【００６７】
図６を参照して、ユーザ端末５０が第１、第２及び第４のアップグレードモジュール１５１−１、１５１−２、１５１−４のそれぞれを実行したときに行われるファームウェア２３０のアップグレードについて説明する。
【００６８】
（第１のアップグレードモジュール１５１−１の実行）
ユーザ端末５０が第１のアップグレードモジュール１５１−１を実行すると、上記第１アプリ実現機能２３２ａ（図５）がファームウェア２３０に追加される（ファームウェア２３０のアップグレード）。上記のように、第１アプリ実現機能２３２ａは、第１のアプリケーションプログラム１００−１の固有の機能である上記第１単位機能（暗号化されたコンテンツデータ５０２をユーザデータエリア６０２に記録する機能）と第２単位機能（第１のアプリケーションプログラム１００−１に固有なデータ記録を行なう機能）を実現するためのファームウェア２３０の特殊制御機能２３２である。
【００６９】
この第１アプリ実現機能２３２ａがファームウェア２３０に追加されるアップグレードが行われる際には、図６において、ファームウェア２３０に対して、符号ＵＧ１〜ＵＧ３で示す３つの単位機能のアップグレードが行われる。
【００７０】
第１アップグレードＵＧ１は、上記第１単位機能（暗号化されたコンテンツデータ５０２をユーザデータエリア６０２に記録する機能）を実現するために、ドライブ装置５５による記録ディスク６０のセクターヘッダ６０１に対する自由な記録を可能にするためのアップグレードである。
第２アップグレードＵＧ２は、アプリケーションプログラム１００に固有な機能を実現するための機能を追加するアップグレードの実行の許可を与える認証のためのアップグレードである。
第３アップグレードＵＧ３は、上記第２単位機能（第１のアプリケーションプログラム１００−１に固有なデータ記録を行なう機能）を実現するためのアップグレードである。
【００７１】
ここで、第２アップグレードＵＧ２について説明する。
ファームウェア２３０において第２アップグレードＵＧ２が行なわれると、上記アプリケーションプログラム１００に固有な機能を実現するための機能を追加するアップグレードの実行の許可を与える認証の機能が与えられる。ユーザ端末５０は、そのファームウェア２３０の認証機能を用いて、第１のアップグレードモジュール１５１−１に第３アップグレードＵＧ３を実行する許可を与えてよいか否かを判定する。
【００７２】
ここで、第１のアップグレードモジュール１５１−１には、予め第３アップグレードＵＧ３を実行する許可が与えられており、その許可内容（第３アップグレードＵＧ３を実行する許可が与えられている旨）を示す許可データ（図示せず）が含まれている。そこで、ユーザ端末５０は、上記許可データに基づいて、第１のアップグレードモジュール１５１−１に第３アップグレードＵＧ３の実行の許可を与えてよいと判定し、その判定結果を踏まえて、第３アップグレードＵＧ３を行う。
【００７３】
（第２のアップグレードモジュール１５１−２の実行）
一方、ユーザ端末５０が第２のアップグレードモジュール１５１−２を実行すると、上記第２アプリ実現機能２３２ｂ（図５）がファームウェア２３０に追加される（ファームウェア２３０のアップグレード）。上記のように、第２アプリ実現機能２３２ｂは、第２のアプリケーションプログラム１００−２の固有の機能である上記第１単位機能（暗号化されたコンテンツデータ５０２をユーザデータエリア６０２に記録する機能）と第３単位機能（第２のアプリケーションプログラム１００−２に固有なデータ記録を行なう機能）を実現するためのファームウェア２３０の特殊制御機能２３２である。
【００７４】
この場合、第２のアプリケーションプログラム１００−２に固有な機能のうち、上記第１単位機能は、第１のアプリケーションプログラム１００−１の上記第１単位機能と共通しており、その機能が、既に第１のアップグレードモジュール１５１−１による上記第１アップグレードＵＧ１により実現可能な状態とされている場合には、第２のアップグレードモジュール１５１−２の実行により、ファームウェア２３０に第１アップグレードＵＧ１が行なわれることはない（図６の破線参照）。この場合、第３単位機能（第２のアプリケーションプログラム１００−２に固有なデータ記録を行なう機能）を実現するための第４アップグレードＵＧ４のみが行なわれる。
【００７５】
この場合、上記アップグレードＵＧ４は、上記と同様に、上記アップグレードＵＧ２による認証機能によって、そのアップグレードＵＧ４の実行が許可された後に、そのアップグレードＵＧ４が行われる。
【００７６】
（第４のアップグレードモジュール１５１−４の実行）
また、ユーザ端末５０が第４のアップグレードモジュール１５１−４を実行すると、上記第４のアプリケーションプログラム１００−４に固有の機能を実現するための機能がファームウェア２３０に追加される（ファームウェア２３０のアップグレード）。この場合、第４のアプリケーションプログラム１００−４が固有の機能として有する上記第１単位機能は、第１のアプリケーションプログラム１００−１の上記第１単位機能と共通しており、その第１単位機能が、既に第１のアップグレードモジュール１５１−１による上記第１アップグレードＵＧ１により実現可能な状態とされている場合には、第４のアップグレードモジュール１５１−４の実行により、ファームウェア２３０に上記第１アップグレードＵＧ１が行なわれることはない。
【００７７】
次に、アプリケーションプログラム１００に含まれる特別コマンドについて説明する。
ここでは、第２及び第４のアップグレードモジュール１５１−２、１５１−４のそれぞれが実行される前に、第１のアップグレードモジュール１５１−１が実行された場合を例にとり説明する。
【００７８】
上記図６及び図７のケースにおいて、第２及び第４のアプリケーションプログラム１００−２,１００−４は、それぞれ、ドライブ装置メーカ３０からのライセンスのもと、第２及び第４のアプリケーションプログラム１００−２,１００−４に固有な機能を実現するための特別コマンド（図示せず）を発行できるよう構成されている。即ち、第２及び第４のアプリケーションプログラム１００−２,１００−４には、それぞれ、その特別コマンドがプログラムされている。
【００７９】
即ち、ユーザ端末５０は、第２及び第４のアプリケーションプログラム１００−２,１００−４のそれぞれを実行したときに、既に第１のアップグレードモジュール１５１−１による第１アップグレードＵＧ１により実現可能な状態とされている第１単位機能を実現するための特別コマンドを発行する。これにより、第２及び第４のアプリケーションプログラム１００−２,１００−４のそれぞれに固有な機能を実現するために必要な第１単位機能を実現することができる。
【００８０】
上記のケースにおいて、ドライブ装置メーカ３０からライセンスを受けていない（認証されていない）一般のアプリケーションプログラム（図示せず）は、上記特別コマンドを発行できない（上記特別コマンドがプログラムされていない）ため、ユーザ端末５０により実行されても、ファームウェア２３０においてアップグレードにより追加された機能２３２ａ,２３２ｂを不正に実行することはできない（図５）。即ち、ドライブ装置メーカ３０からライセンスを受けていないアプリケーションプログラムがユーザ端末５０により実行された場合には、ファームウェア２３０のうち上記基本機能に関する部分２３１だけしか使用されることができない。
【００８１】
ここで、上記特別コマンドを何らかの理由により、ドライブ装置メーカ３０からライセンスを受けていないアプリケーションプログラムのメーカ等の側で知ることができ、その特別コマンドが発行された場合であっても、不正に上記追加された機能２３２ａ,２３２ｂを実行できないようにするために、例えば以下の構成が採用されることができる。
【００８２】
上記認証機能（上記第２アップグレードＵＧ２）は、更に、アプリケーションプログラム１００が、ドライブ装置メーカ３０からライセンスを受けたものであるか否かを認証するように構成することができる。この場合、ユーザ端末５０は、ドライブ装置５５に登録された認識番号２３３に対して、アプリケーションプログラム１００に格納された認証キー１０６（図１）を照合させることにより、アプリケーションプログラム１００に使用が許可されている機能を特定するようにしてもよい。
【００８３】
以下に、アプリケーションプログラム１００に含まれる認証キー１０６について説明する。この認証キー１０６は、ドライブ装置メーカ３０からライセンスを受けた特定のアプリケーションプログラム１００のみが、ファームウェア２３０のアップグレードされた機能を使用できるようにするために用いられる。
【００８４】
認証キー（又はＩＤ。以下同じ）１０６とは、あるアプリケーションプログラム１００に使用が許可されている、ファームウェア２３０のアップグレードされた機能（特殊制御機能２３２）を示す識別子である。認証キー１０６は、例えば、図５において、アップグレードによりファームウェア２３０に追加された全ての機能（特殊制御機能２３２、同図の例では、符号２３２ａ,２３２ｂの２つ）のうち、あるアプリケーションプログラム１００に使用が許可されている機能（特殊制御機能２３２）を判断するために用いられる。以下、認証キー１０６に関する２つの具体的適用例について説明する。
【００８５】
（第１の適用例）
例えば、図５において、ファームウェア２３０のアップグレードが行われると、そのアップグレードにより追加された機能に対応して付与された認識番号２３３がドライブ装置５５に登録される（図８のステップＳ１１０）。上記例では、機能２３２ａが追加されたときに、“０１”の認識番号２３３が登録され、機能２３２ｂが追加されたときに、“０２”の認識番号２３３が登録される。
【００８６】
一方、アプリケーションプログラム１００に含まれる認証キー１０６は、そのアプリケーションプログラム１００に使用が許可されている、ファームウェア２３０のアップデートされた機能の認識番号２３３に対応するデータを有している。図９に示すように、ユーザ端末５０でアプリケーションプログラム１００が実行開始されたときに（ステップＳ２０１）、ユーザ端末５０は、ドライブ装置５５に対して、登録されている認識番号２３３を要求する（ステップＳ２０２）。その要求に応答して、ドライブ装置５５は、認識番号２３３をユーザ端末５０に送信する（ステップＳ２０３）。
【００８７】
ユーザ端末５０は、認証キー１０６と、認識番号２３３を照合する（ステップＳ２０４）。その照合の結果に基づいて、アップグレードされたファームウェア２３０の機能（特殊制御機能２３２）は、そのアプリケーションプログラム１００に使用が許可されているか否かが判定される（ステップＳ２０５）。その判定の結果、そのアプリケーションプログラム１００に使用が許可されている特殊制御機能２３２に対応する特殊機能１０３は、実行可能な状態に設定され（ステップＳ２０６）、そうではない特殊制御機能２３２に対応する特殊機能１０３は実行不可能な状態に設定される（ステップＳ２０７）。
【００８８】
その後、アプリケーションプログラム１００が実行状態とされる（ステップＳ２０８）。このとき、アプリケーションプログラム１００に含まれる特殊機能１０３は、実行可能な状態（ステップＳ２０６）と、実行不可能な状態（ステップＳ２０７）のいずれかに設定されている。
【００８９】
上記のように、ユーザ端末５０は、そのアプリケーションプログラム１００を実行するときには、その照合の結果（ステップＳ１００）に応じて、認証されたファームウェア２３０の機能（そのアプリケーションプログラム１００に使用が許可されているファームウェア２３０の機能）のみを用いる。以下具体例を用いて説明する。
【００９０】
例えば、ファームウェア２３０において、上記２つの機能２３２ａ,２３２ｂのアップグレードがなされ、ドライブ装置５５に“０１”と“０２”の認識番号２３３が登録されている場合を想定する。第２のアプリケーションプログラム１００−２には、そのうちの一つの機能（第２アプリ実現機能）２３２ｂの使用しか許可されておらず、その機能２３２ｂのみに対応した認証キー１０６が含まれているとする。その場合、ユーザ端末５０は、ステップＳ２０４において、“０１”と“０２”の認識番号２３３と第２のアプリケーションプログラム１００−２の認証キー１０６との認証の結果、その第２のアプリケーションプログラム１００−２に使用が許可されている機能が機能（第２アプリ実現機能）２３２ｂのみであることを認識し、その機能２３２ｂに対応する特殊機能１０３のみが実行可能状態に設定される。
【００９１】
この場合、第２のアプリケーションプログラム１００−２において実行可能状態に設定される特殊機能１０３は、アプリケーションプログラム１００に固有な機能である、上記第１単位機能と第３単位機能の実行に際して必要となる特殊な機能である。即ち、セクターヘッダ６０１に暗号化データ５０１を記録するとともに、その記録された暗号化データ５０１を用いて暗号化されたコンテンツデータ５０２を、ユーザデータエリア６０２に記録する機能（第１単位機能）と、第２のアプリケーションプログラム１００−２用の特別なデータＤ−２を記録する機能（第３単位機能）の実行に際して必要となる特殊な機能である。言い換えれば、第２のアプリケーションプログラム１００−２において実行可能状態に設定される特殊機能１０３は、第２アプリ実現機能２３２ｂを使用する機能である。
【００９２】
（第２の適用例）
例えば、上記図６及び図７のケースにおいて、ドライブ装置メーカ３０からライセンスを受けたアプリケーションプログラム１００に含まれる認証キー１０６は、ファームウェア２３０のうち、そのアプリケーションプログラム１００に固有な機能（単位機能）を実現するために使用が許可される、上記単位機能に対応してアップグレードにより追加された機能を示すデータを有している。
【００９３】
例えば、第１のアプリケーションプログラム１００−１の第１認証キー１０６は、第１のアプリケーションプログラム１００−１に固有な機能（上記第１単位機能と第２単位機能）を実現するために使用が許可される、上記第１単位機能と第２単位機能に対応してアップグレードにより追加された第１アップグレードＵＧ１と、第３アップグレードＵＧ３の機能の使用が許可されるためのデータを有している。
【００９４】
同様に、第２のアプリケーションプログラム１００−２の第２認証キー１０６は、第２のアプリケーションプログラム１００−２に固有な機能（上記第１単位機能と第３単位機能）を実現するために使用が許可される、上記第１単位機能と第３単位機能に対応してアップグレードにより追加された第１アップグレードＵＧ１と、第４アップグレードＵＧ４の機能の使用が許可されるためのデータを有している。
【００９５】
また同様に、第４のアプリケーションプログラム１００−４の第４認証キー１０６は、第４のアプリケーションプログラム１００−２に固有な機能（上記第１単位機能）を実現するために使用が許可される、上記第１単位機能に対応してアップグレードにより追加された第１アップグレードＵＧ１の機能の使用が許可されるためのデータを有している。
【００９６】
第２適用例では、認証キー１０６と、認識番号２３３の認証を行う点は、上記第１適用例と同様であるが、本適用例では、認識番号２３３が単位機能に対応して追加されたアップグレードに対して付与されている点が異なっている。
【００９７】
図７において、記録ディスク６０の第１のセクター２００−１は、第１のアプリケーションプログラム１００−１を用いてコンテンツ情報５００が記録された状態を示しており、第２のセクター２００−２は、第２のアプリケーションプログラム１００−２を用いてコンテンツ情報５００が記録された状態を示しており、第３のセクター２００−３は、第４のアプリケーションプログラム１００−４を用いてコンテンツ情報５００が記録された状態を示している。
【００９８】
ここでは、ファームウェア２３０において、第１アップグレードＵＧ１（図６）がなされており、その第１アップグレードＵＧ１に対応して付与された認識番号２３３がドライブ装置５５に登録されているとする。ここで、第１、第２、及び第４のアプリケーションプログラム１００−１、１００−２、１００−４の認証キー１０６には、いずれも第１アップグレードＵＧ１により追加された機能の使用が許可されるためのデータが含まれている。第１アップグレードＵＧ１により追加された機能（上記第１単位機能）は、第１アプリ実現機能２３２ａ、第２アプリ実現機能２３２ｂ及び上記第４のアプリケーションプログラム１００−４に固有の機能を実現するために必要な機能（第４アプリ実現機能、図示せず）のいずれの実現にも必要であるためである。
【００９９】
そのため、第１、第２、及び第４のアプリケーションプログラム１００−１、１００−２、１００−４のいずれがユーザ端末５０で実行された場合においても、第１アップグレードＵＧ１により追加された機能の使用が許可される。その結果、図７に示すように、ドライブ装置５５は、上記第１単位機能の実現、即ち、第１のセクター２００−１、第２のセクター２００−２及び第３のセクター２００−３のそれぞれにおいて、上記エリア６０１ａには、暗号化データ５０１を記録し、ユーザデータエリア６０２には、暗号化されたコンテンツデータ５０２を記録することができる。
【０１００】
また、ファームウェア２３０において、上記第２単位機能（第１のアプリケーションプログラム１００−１に固有なデータ記録）を可能にするためのアップグレードＵＧ３が行なわれているとする。ここで、第１のアプリケーションプログラム１００−１には、アップグレードＵＧ３により追加された機能の使用が許可されるための認証キー１０６のデータが含まれている。そのため、第１のアプリケーションプログラム１００−１がユーザ端末５０で実行された場合には、アップグレードＵＧ３により追加された機能の使用が許可される。その結果、第１のセクター２００−１には、第１のアプリケーションプログラム１００−１用の特別なデータＤ−１が記録される。
【０１０１】
また、同様に、ファームウェア２３０において、第２のアプリケーションプログラム１００−２に固有なデータ記録を可能にするためのアップグレードＵＧ４が行なわれているとする。ここで、第２のアプリケーションプログラム１００−２には、アップグレードＵＧ４により追加された機能の使用が許可されるための認証キー１０６のデータが含まれている。そのため、第２のアプリケーションプログラム１００−２がユーザ端末５０で実行された場合には、アップグレードＵＧ４により追加された機能の使用が許可され、その結果、第２のセクター２００−２には、第２のアプリケーションプログラム１００−２用の特別なデータＤ−２が記録される。
【０１０２】
上記において、データＤ−１及びデータＤ−２は、コンテンツサーバ７０から配信されたコンテンツ情報５００に含まれているデータである。データＤ−１及びデータＤ−２は、それぞれ、ファイルシステム（ＦＳ）にのっていない場所に記録されることができる。
【０１０３】
第４のアプリケーションプログラム１００−４を購入したユーザは、コンテンツサーバ７０から配信されたコンテンツ情報５００のうち少なくともデータＤ−１及びデータＤ−２を除いたコンテンツデータ５０２を記録ディスク６０に記録することができる。第１のアプリケーションプログラム１００−１を購入したユーザは、コンテンツ情報５００のうちデータＤ−１を含むがデータＤ−２を除いたコンテンツデータ５０２を記録ディスク６０に記録することができる。第２のアプリケーションプログラム１００−２を購入したユーザは、コンテンツ情報５００のうちデータＤ−２を含むがデータＤ−１を除いたコンテンツデータ５０２を記録ディスク６０に記録することができる。
【０１０４】
ユーザがコンテンツサーバ７０からユーザ端末５０に所望のコンテンツをダウンロードするときの手順について説明する。
【０１０５】
まず、ユーザがユーザ端末５０においてアプリケーションプログラム１００の実行を開始する（図９のステップＳ２０１）。アプリケーションプログラム１００は、ファームウェア２３０のアップグレードにより追加された特殊制御機能２３２を使用する特殊機能１０３を実行可能にするために、ドライブ装置５５と照合作業を行なう（ステップＳ２０２〜ステップＳ２０５）。これにより、そのアプリケーションプログラム１００の認証キー１０６に対応するファームウェア２３０の認識番号２３３が特定され、その認識番号２３３によって特定された特殊制御機能２３２に対応する特殊機能１０３が実行可能状態とされる（ステップＳ２０６）。
【０１０６】
次に、ユーザは、ユーザ端末５０とコンテンツサーバ７０とを接続し、ダウンロードするコンテンツを選択し、クレジットカードなどを使ってコンテンツサーバ７０側に所定の料金を支払って、コンテンツをダウンロードすると同時に、記録ディスク６０のエリア６０１ａに暗号化データ５０１を記録すると共にユーザデータエリア６０２に暗号化されたコンテンツ情報５００を記録する。
【０１０７】
この場合、上記のように、同一のコンテンツ情報５００をユーザ端末５０にダウンロードする場合であっても、そのユーザが所有するアプリケーションプログラム１００（１００−１、１００−２、１００−４のいずれか）によって、記録ディスク６０に記録できるデータの範囲が異なるように構成することができる（図７の符号Ｄ−１及びＤ−２参照）。
【０１０８】
ユーザは、コンテンツ情報５００のダウンロードを終了した後は、ユーザ端末５０から記録ディスク６０を取り出すと共に、アプリケーションプログラム１００の動作を終了させ、アプリケーションプログラム１００の認証キー１０６による特殊機能１０３の認証（ステップＳ２０６）を解除する。これにより、ドライブ装置５５は、ファームウェア２３０の基本機能２３１に関する部分のみによって制御され、アップグレードにより追加された特殊制御機能２３２が使用されることはできなくなる。
【０１０９】
（第２実施形態）
次に、図１０及び図１１を参照して、第２実施形態について説明する。
第２実施形態において、上記第１実施形態と共通する点についての説明は省略し、特徴部分についてのみ説明する。
【０１１０】
上記第１実施形態（図１）では、ユーザは、その一部にアップグレードモジュール１５１を有するアップグレードプログラム１５０が含まれた単一のパッケージソフトとしてのアプリケーションプログラム１００を購入し、アプリケーションプログラム１００をドライブ装置５５に読み込ませることにより、自動的にアップグレードモジュール１５１及びアップグレードプログラム１５０がファームウェア２３０をアップグレードする構成とされていた。
【０１１１】
これに対して、第２実施形態では、図１０に示すように、アップグレードモジュール１５１及びアップグレードプログラム１５０は、アプリケーションプログラム１００に含まれておらず、ユーザは、アップグレードモジュール１５１及びアップグレードプログラム１５０が含まれていないアプリケーションプログラム１００をパッケージソフトとして購入する。
【０１１２】
アップグレードモジュール１５１及びアップグレードプログラム１５０は、アプリケーションプログラム１００を製造するアプリケーションメーカ４０のサーバ４０Ｓに用意されており、アプリケーションプログラム１００を購入したユーザは、アプリケーションメーカ４０のサーバ４０Ｓからアップグレードモジュール１５１及びアップグレードプログラム１５０及びライセンス情報１０７をユーザ端末５０にダウンロードする。
【０１１３】
この場合、アップグレードモジュール１５１及びアップグレードプログラム１５０がアプリケーションメーカ４０のサーバ４０Ｓから、アプリケーションプログラム１００の購入者のユーザ端末５０に送信されるときには、そのアップグレードモジュール１５１及びアップグレードプログラム１５０とそのアプリケーションプログラム１００とが１対１対応となるように暗号化された上で送信（電子配信）される（図１１のステップＳ３０１）。
【０１１４】
次いで、管理サーバ４０Ｓと、アプリケーションプログラム１００との間で、アプリケーションプログラム１００の認証機能１０４等を用いて認証が行なわれた上で（ステップＳ３０２）、管理サーバ４０Ｓは、ライセンス情報１０７を発行し、ユーザ端末５０は、そのライセンス情報１０７を受信・保存する（ステップＳ３０４）。
【０１１５】
ユーザ端末５０では、その暗号化されたアップグレードモジュール１５１及びアップグレードプログラム１５０が復号化されて、そのアップグレードモジュール１５１及びアップグレードプログラム１５０により、上記第１実施形態と同様に、ライセンス情報１０７に基づいて、ドライブ装置５５のファームウェア２３０がアップグレードされる（図８のステップＳ１０１〜ステップ１１２）。このファームウェア２３０のアップグレードにより追加された機能によって、アプリケーションプログラム１００に固有の機能が実現される。
【０１１６】
アプリケーションメーカ４０が製造するアプリケーションプログラム１００が、複数のドライブ装置メーカ３０が製造するドライブ装置５５において汎用的に使用されるようにするためには、アプリケーションメーカ４０のサーバ４０Ｓに、それら複数のドライブ装置メーカ３０のドライブ装置５５にそれぞれ対応したアップグレードモジュール１５１及びアップグレードプログラム１５０が用意されればよい。即ち、アップグレードモジュール１５１及びアップグレードプログラム１５０を含まないアプリケーションプログラム１００は、複数のドライブ装置メーカ３０のドライブ装置５５の全てに共通な単一の種類のものが用意される一方、それら複数のドライブ装置メーカ３０のドライブ装置５５のファームウェア２３０にそれぞれ対応するように複数種類のアップグレードモジュール１５１及びアップグレードプログラム１５０が用意されればよい。
【０１１７】
更に、アプリケーションメーカ４０のサーバ４０Ｓに用意されるアップグレードモジュール１５１及びアップグレードプログラム１５０は、ドライブ装置メーカ３０のサーバ３０Ｓから、電子配信されることができる。また更に、上記ではアップグレードモジュール１５１を含むアップグレードプログラム１５０を含まないアプリケーションプログラム１００が、パッケージソフトとして販売されるとして説明したが、これに代えて、アップグレードモジュール１５１及びアップグレードプログラム１５０を含まないアプリケーションプログラム１００もまた、アプリケーションメーカ４０のサーバ４０Ｓからユーザ端末５０に電子配信されることができる。
【０１１８】
上記実施形態では、機器の一例として、記録又は再生装置を用いて説明したが、本発明における機器は、記録又は再生装置に限定されない。
【０１１９】
上記実施形態では、以下の項が開示される。
【０１２０】
（項１）
機器５０の動作に関する機能２３２ａを実現するために必要な前記機器５０のファームウェア２３０のアップグレードを行なうように構成されているアップグレードモジュール１５１であって、前記機器５０の動作を利用するアプリケーションプログラム１００の一部として動作することを特徴としている。
【０１２１】
（項２）
機器５０の動作に関して固有の機能２３２ａを有するアプリケーションプログラム１００であって、前記固有の機能２３２ａを実現するために必要な前記機器５０のファームウェア２３０のアップグレードを行なうアップグレードモジュール１５１を備えたことを特徴としている。
【０１２２】
（項３）
機器５０の動作に関して固有の機能２３２ａを有する認証されたアプリケーションプログラム１００であって、前記認証されたアプリケーションプログラム１００のみが発行可能であり、前記固有の機能を実現するために必要な前記機器５０のファームウェア２３０のアップグレードが行われることにより追加された機能２３２ａを使用するためのコマンドを発行することにより、前記追加された機能２３２ａの使用が許可されるように構成されていることを特徴としている。
【０１２３】
項１〜項３によれば、機器のファームウェアのアップグレードが機器の全てのユーザに許可されるのではなく、特別な条件でのみ許可されることが可能になる。この場合、例えば、ファームウェアのアップグレードにより追加される機能が、記録機器による暗号化された情報の記録を可能にする機能である場合のように著作権の保護に関連する機能である場合には、特定の条件下のユーザのみがファームウェアのアップグレードを行なえるようにすることで、セキュアな環境の構築が可能になる。
【産業上の利用可能性】
【０１２４】
以上のように、本発明にかかるアップグレードプログラムは、特に、機器のファームウェアのアップグレードが機器の全てのユーザに許可されるのではなく、特別な条件でのみ許可されることを可能にするアップグレードモジュールに適している。
【図面の簡単な説明】
【０１２５】
【図１】図１は、本発明のアプリケーションプログラムの第１実施形態が用いられる、ファームウェアのアップグレードシステムの概略構成を示すブロック図である。
【図２】図２は、本発明のアプリケーションプログラムの第１実施形態に含まれるアップグレードモジュールによって、ドライブ装置のファームウェアがアップグレードされる状態を説明するための図である。
【図３】図３は、本発明のアプリケーションプログラムの第１実施形態に含まれるアップグレードモジュールによって、アップグレードされる前のファームウェアによって制御されるドライブ装置の動作を説明するための図である。
【図４】図４は、本発明のアプリケーションプログラムの第１実施形態に含まれるアップグレードモジュールによって、アップグレードされた後のファームウェアによって制御されるドライブ装置の動作を説明するための図である。
【図５】図５は、本発明のアプリケーションプログラムの第１実施形態に含まれるアップグレードモジュールによってファームウェアがアップグレードされることにより追加される機能と、アップグレードされる前から存在する基本機能を説明するための図である。
【図６】図６は、本発明のアプリケーションプログラムの第１実施形態において、複数種類のアプリケーションプログラムに含まれるアップグレードモジュールによってファームウェアがそれぞれアップグレードされることにより追加される機能を説明するための図である。
【図７】図７は、本発明のアプリケーションプログラムの第１実施形態において、複数種類のアプリケーションプログラムに含まれるアップグレードモジュールによってファームウェアがそれぞれアップグレードされることにより追加された機能によって制御されたドライブ装置により記録ディスクに記録されたデータを説明するための図である。
【図８】図８は、本発明のアプリケーションプログラムの第１実施形態の動作を示すフローチャートである。
【図９】図９は、本発明のアプリケーションプログラムの第１実施形態の他の動作を示すフローチャートである。
【図１０】図１０は、本発明のアプリケーションプログラムの第２実施形態が用いられる、ファームウェアのアップグレードモジュールの配信システムの概略構成を示すブロック図である。
【図１１】図１１は、本発明のアプリケーションプログラムの第１実施形態の更に他の動作を示すフローチャートである。
【符号の説明】
【０１２６】
５０  ユーザ端末
５５  ドライブ装置
６０  記録ディスク
３０  ドライブ装置メーカ
３０Ｓ  ドライブ装置メーカのサーバ
４０  アプリケーションメーカ
４０Ｓ  アプリケーションメーカのサーバ
７０  コンテンツサーバ
１００  アプリケーションプログラム
１００−１  第１のアプリケーションプログラム
１００−２  第２のアプリケーションプログラム
１００−４  第４のアプリケーションプログラム
１５１  アップグレードモジュール
１５１−１  第１のアップグレードモジュール
１５１−２  第２のアップグレードモジュール
１５１−４  第４のアップグレードモジュール
２３０  ファームウェア
２３１  基本機能
２３２ａ,２３２ｂ  追加された機能
５００  コンテンツ情報
５０１  暗号化データ
５０２  コンテンツデータ
６００  記録ディスクの１セクターに対応するデータエリア
６００−１  記録ディスクの１セクターに対応するデータエリア
６００−２  記録ディスクの１セクターに対応するデータエリア
６００−３  記録ディスクの１セクターに対応するデータエリア
６０１  セクターヘッダ
６０１ａ  暗号化データが記録されるためのエリア
６０２  ユーザデータエリア
Ｄ−１  データ
Ｄ−２  データ
Ｋ  暗号キー
【図１】
0004713579.tif 000002
【図２】
0004713579.tif 000003
【図３】
0004713579.tif 000004
【図４】
0004713579.tif 000005
【図５】
0004713579.tif 000006
【図６】
0004713579.tif 000007
【図７】
0004713579.tif 000008
【図８】
0004713579.tif 000009
【図９】
0004713579.tif 000010
【図１０】
0004713579.tif 000011
【図１１】
0004713579.tif 000012