(57)【要約】【課題】インストーラ形式のアプリケーションを適切に保護すること。【解決手段】コンテンツが配信されるユーザ端末１２０は、インストーラ２１０によるアプリケーションのインストール処理中に、当該インストールするデータの記録部２０５への書込処理の開始を検知する検知部２０１と、検知部２０１によって書込処理の開始が検知された場合、書込前のデータを取得するファイル取得部２０２と、ファイル取得部２０２によって取得されたデータを暗号化する暗号化部２０３と、暗号化部２０３によって暗号化された暗号化データを記録部２０５に書込む書込部２０４と、を備える。【選択図】図２
2007334821.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションのインストール処理中に、当該インストールするファイルの記録部への書込処理の開始を検知する検知手段と、
前記検知手段によって書込処理の開始が検知された場合、書込前の前記ファイルを取得するファイル取得手段と、
前記ファイル取得手段によって取得されたファイルを暗号化する暗号化手段と、
前記暗号化手段によって暗号化された暗号化ファイルを前記記録部に書込む書込手段と、
を備えることを特徴とするアプリケーション保護装置。
【請求項２】
前記ファイル取得手段は、
前記インストール処理で用いられるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を検出するモジュールによって前記ファイルを取得することを特徴とする請求項１に記載のアプリケーション保護装置。
【請求項３】
前記ファイル取得手段は、
前記アプリケーションがインストールされる端末のオペレーションシステムが有する汎用モジュールによって前記ファイルを取得することを特徴とする請求項１または２に記載のアプリケーション保護装置。
【請求項４】
前記暗号化手段は、
前記ファイルの種類に基づいて前記ファイルを暗号化することを特徴とする請求項１〜３のいずれか一つに記載のアプリケーション保護装置。
【請求項５】
前記暗号化ファイルを復号化する復号化手段を備え、
前記書込手段は、
前記暗号化ファイルに前記アプリケーションの実行が指示された際に前記復号化手段を起動させる起動コマンドを含むデータを埋め込むことを特徴とする請求項１〜４のいずれか一つに記載のアプリケーション保護装置。
【請求項６】
前記復号化手段は、
前記アプリケーションの実行時に前記暗号化ファイルを復号化し、復号化された前記暗号化ファイルを前記アプリケーションの終了時に消去することを特徴とする請求項５に記載のアプリケーション保護装置。
【請求項７】
前記アプリケーションのインストーラを取得するインストーラ取得手段を備え、
前記検知手段は、
前記インストーラによるインストール処理中に前記書込処理がおこなわれることを検知することを特徴とする請求項１〜６のいずれか一つに記載のアプリケーション保護装置。
【請求項８】
アプリケーションのインストール処理中にファイルの書込処理がおこなわれることを検知する検知工程と、
前記検知工程で書込処理が検知された場合、前記ファイルを取得するファイル取得工程と、
前記ファイル取得工程で取得されたファイルを暗号化する暗号化工程と、
前記暗号化工程で暗号化された暗号化ファイルを前記書込処理による書込先に書込む書込工程と、
を含んだことを特徴とするアプリケーション保護方法。
【請求項９】
請求項８に記載のアプリケーション保護方法をコンピュータに実行させることを特徴とするアプリケーション保護プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、インストーラ形式のアプリケーションを保護するアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムに関する。
【背景技術】
【０００２】
従来、ネットワークや記録媒体を介し、ソフトウェアやアプリケーション（各種実行プログラム）、静止画画像、動画、音楽などの各種コンテンツの配布がおこなわれている。また、配布されたコンテンツの不正利用を防止するためのコンテンツ保護システムが考案されている。
【０００３】
このようなコンテンツ保護システムでは、たとえば、コンテンツ配信者のコンテンツサーバはコンテンツを暗号化鍵を用いて暗号化し、暗号データとしてクライアントに配布する。また、コンテンツサーバは、コンテンツの暗号化に用いた暗号化鍵もクライアントに配布する。さらに、クライアントには、あらかじめコンテンツ保護プログラムを配布しておく。クライアントは、ダウンロードした暗号データを、暗号化鍵を用いて復号化して、復号データを得る。復号データは、例えばブラウザの表示領域内に表示される。コンテンツの閲覧（表示）時には、格納部（ハードディスクドライブ：ＨＤＤ）が用いられる。
【０００４】
クライアントに配布されたコンテンツ保護プログラムは、ダウンロードしたコンテンツ（暗号データ）を暗号化鍵を用いて復号する復号化処理と、復号化したコンテンツをＨＤＤに対し鍵を用いて暗号化して格納する暗号化処理（ＨＤＤからの読み出し時の復号化処理を含む）と、ＨＤＤに格納されたコンテンツ（暗号データ）に対する不正アクセスを防止するためのアクセス制御を実行する（たとえば、下記特許文献１参照。）。
【０００５】
【特許文献１】特開２００５−０１０９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した従来技術によれば、コンテンツサーバではクライアントに配信するコンテンツデータ自体を暗号化する。ここで、配布されるコンテンツがインストーラによってインストールされるアプリケーション（インストーラ形式のアプリケーション）である場合、配布後のコンテンツデータ（インストーラ）はユーザの端末上で展開され、コピーされる。このため、インストールされる各モジュールを暗号化する必要があるという問題点がある。
【０００７】
特に、コンテンツ配信者とコンテンツ作成者が異なる場合、たとえば、コンテンツ作成者からの委託によって、コンテンツ配信者がコンテンツを配信する場合などがある。このような場合、コンテンツ配信者は、コンテンツ作成者が作成したコンテンツデータ（インストーラ形式のアプリケーションデータ）をそのまま暗号化することができず、インストールする各モジュールを暗号化して再度インストーラを作成する必要があるという問題点がある。
【０００８】
この発明は、上述した従来技術による問題点を解消するため、インストーラ形式のアプリケーションを適切に保護するアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、請求項１の発明にかかるアプリケーション保護装置は、アプリケーションのインストール処理中に、当該インストールするファイルの記録部への書込処理の開始を検知する検知手段と、前記検知手段によって書込処理の開始が検知された場合、書込前の前記ファイルを取得するファイル取得手段と、前記ファイル取得手段によって取得されたファイルを暗号化する暗号化手段と、前記暗号化手段によって暗号化された暗号化ファイルを前記記録部に書込む書込手段と、を備えることを特徴とする。
【００１０】
この請求項１の発明によれば、インストールするファイルを書込む前に取得し、暗号化した上で記録部に書込む。これにより、アプリケーションがインストールされる端末に記録されたアプリケーションのファイルを保護し、不正利用を防止することができる。
【００１１】
また、請求項２の発明にかかるアプリケーション保護装置は、請求項１に記載の発明において、前記ファイル取得手段は、前記インストール処理で用いられるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を検出するモジュールによって前記ファイルを取得することを特徴とする。
【００１２】
この請求項２の発明によれば、インストール処理のプロセス中にインストールするファイルの暗号化をおこなうことができる。
【００１３】
また、請求項３の発明にかかるアプリケーション保護装置は、請求項１または２に記載の発明において、前記ファイル取得手段は、前記アプリケーションがインストールされる端末のオペレーションシステムが有する汎用モジュールによって前記ファイルを取得することを特徴とする。
【００１４】
この請求項３の発明によれば、アプリケーションがインストールされる端末のオペレーションシステムが有する既存のモジュールを用いてファイルを取得するため、ファイルの取得のために特別なモジュールを用意する必要がない。
【００１５】
また、請求項４の発明にかかるアプリケーション保護装置は、請求項１〜３のいずれか一つに記載の発明において、前記暗号化手段は、前記ファイルの種類に基づいて前記ファイルを暗号化することを特徴とする。
【００１６】
この請求項４の発明によれば、ファイルの種類に応じて暗号化をおこなうことができる。たとえば、所定の種類のファイルのみを暗号化したり、暗号化しないファイルの種類を設定することができる。
【００１７】
また、請求項５の発明にかかるアプリケーション保護装置は、請求項１〜４のいずれか一つに記載の発明において、前記暗号化ファイルを復号化する復号化手段を備え、前記書込手段は、前記暗号化ファイルに前記アプリケーションの実行が指示された際に前記復号化手段を起動させる起動コマンドを含むデータを埋め込むことを特徴とする。
【００１８】
この請求項５の発明によれば、アプリケーションを実行する際には、復号化手段が起動し、暗号化ファイルを復号化してアプリケーションを実行することができる。
【００１９】
また、請求項６の発明にかかるアプリケーション保護装置は、請求項５に記載の発明において、前記復号化手段は、前記アプリケーションの実行時に前記暗号化ファイルを復号化し、復号化された前記暗号化ファイルを前記アプリケーションの終了時に消去することを特徴とする。
【００２０】
この請求項６の発明によれば、アプリケーションの実行時に復号化した暗号化ファイルを消去し、アプリケーションのデータの不正利用を防止することができる。
【００２１】
また、請求項７の発明にかかるアプリケーション保護装置は、請求項１〜６のいずれか一つに記載の発明において、前記アプリケーションのインストーラを取得するインストーラ取得手段を備え、前記検知手段は、前記インストーラによるインストール処理中に前記書込処理がおこなわれることを検知することを特徴とする。
【００２２】
この請求項７の発明によれば、インストーラによってインストールされるアプリケーションの不正利用を防止することができる。
【００２３】
また、請求項８の発明にかかるアプリケーション保護方法は、アプリケーションのインストール処理中にファイルの書込処理がおこなわれることを検知する検知工程と、前記検知工程で書込処理が検知された場合、前記ファイルを取得するファイル取得工程と、前記ファイル取得工程で取得されたファイルを暗号化する暗号化工程と、前記暗号化工程で暗号化された暗号化ファイルを前記書込処理による書込先に書込む書込工程と、を含んだことを特徴とする。
【００２４】
この請求項８の発明によれば、インストールするファイルを書込む前に取得し、暗号化した上で記録部に書込む。これにより、アプリケーションがインストールされる端末に記録されたアプリケーションのファイルを保護し、不正利用を防止することができる。
【００２５】
また、請求項９の発明にかかるアプリケーション保護プログラムは、請求項８に記載のアプリケーション保護方法をコンピュータに実行させることを特徴とする。
【００２６】
この請求項９の発明によれば、インストールするデータを書込む前に取得し、暗号化した上で記録部に書込む。これにより、アプリケーションがインストールされる端末に記録されたアプリケーションのデータを保護し、不正利用を防止することができる。
【発明の効果】
【００２７】
本発明にかかるアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムによれば、インストーラ形式のアプリケーションを適切に保護することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２８】
以下に添付図面を参照して、この発明にかかるアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムの好適な実施の形態を詳細に説明する。
【００２９】
（実施の形態）
（コンテンツ保護システム１００のシステム構成）
はじめに、実施の形態にかかるコンテンツ保護システム１００のシステム構成について説明する。図１は、コンテンツ保護システムのシステム構成を示す説明図である。コンテンツ保護システム１００は、コンテンツ配信者１１０、ユーザ端末１２０（１２０ａ〜１２０ｃ）、コンテンツ作成者１３０、ネットワーク１４０によって構成される。
【００３０】
コンテンツ配信者１１０は、後述するコンテンツ作成者１３０によって作成されたコンテンツを、ネットワーク１４０を介してユーザ端末１２０に配信する。コンテンツ配信者１１０は、暗号化処理端末１１０ａ、コンテンツサーバ１１０ｂ、ライセンス管理サーバ１１０ｃによって構成される。
【００３１】
暗号化処理端末１１０ａは、暗号化処理プログラムによって、配信するコンテンツの暗号化をおこなう。コンテンツの暗号化には、ライセンス管理サーバ１１０ｃによって生成された暗号化鍵（ライセンスキー）を使用する。
【００３２】
コンテンツサーバ１１０ｂは、暗号化処理端末１１０ａによって暗号化されたコンテンツデータを格納する。ライセンス管理サーバ１１０ｃは、暗号化するコンテンツのＩＤおよび閲覧期間に基づいて暗号化鍵（ライセンスキー）を生成し、暗号化処理端末１１０ａに渡す。また、ライセンス管理サーバ１１０ｃは、後述するユーザ端末１２０にインストールされた復号化アプリケーションからのライセンスキー取得要求に基づいて、ライセンスキーを送信する。なお、コンテンツを暗号化した後に利用権限の設定を変更したい場合は、暗号化処理端末１１０ａのライセンス管理ツールで変更することができる。
【００３３】
ユーザ端末１２０（１２０ａ〜１２０ｃ）は、コンテンツ購入者の端末であり、ＰＣ（パーソナルコンピュータ）の他、携帯電話端末やＰＤＡなどであってもよい。ユーザ端末１２０は、コンテンツサーバ１１０ｂにネットワーク１４０を介してアクセスし、所望のコンテンツを購入し、コンテンツデータをダウンロードする。また、ユーザ端末１２０は、暗号化されたコンテンツデータを復号するための復号化アプリケーションを、あらかじめ取得している。復号化アプリケーションの取得は、たとえば、初回のコンテンツ購入時におこなわれる。
【００３４】
なお、本実施の形態では、ネットワーク１４０を介してユーザ端末１２０にコンテンツを配信することとするが、これに限らず、たとえば、コンテンツを記録した記録媒体を配布することによって、ユーザ端末１２０にコンテンツを配布してもよい。
【００３５】
コンテンツ作成者１３０は、コンテンツデータを作成する。コンテンツ作成者１３０によって作成されるコンテンツには、たとえば、ソフトウェアやアプリケーション（各種実行プログラム）、静止画画像、動画、楽曲などが挙げられる。また、コンテンツ作成者１３０によって作成されるコンテンツには、インストーラ形式のアプリケーションも含まれる。
【００３６】
ここで、インストーラとは、アプリケーションをコンピュータに導入するソフトウェアである。インストーラ形式のアプリケーションデータには、アプリケーションデータの他、各種設定ファイルが含まれる。インストーラ形式のアプリケーションを実行すると、アプリケーションで用いられるプログラムやデータなどのファイルを、ユーザ端末１２０のハードディスクなどにコピーし、必要な設定をおこなう。
【００３７】
前述のようにコンテンツ配信者１１０から配信されるコンテンツは、暗号化処理プログラムによって暗号化されているが、コンテンツがインストーラ形式のアプリケーションである場合、ユーザ端末１２０は、暗号化されたコンテンツを復号化してインストール処理をおこなう。このとき、アプリケーションで用いられるプログラムやデータなどのファイルがユーザ端末１２０のハードディスクなどにコピーされる。
【００３８】
コンテンツ保護システム１００は、ユーザ端末１２０のハードディスクなどにコピーされたデータや、アプリケーションの設定情報が不正利用されるのを防止するため、アプリケーションのインストール時に、アプリケーションデータを自動的に暗号化する。これにより、コンテンツを利用するユーザ端末１２０の負担を軽減しつつ、インストーラ形式のアプリケーションの不正利用を防止することができる。
【００３９】
（ユーザ端末１２０の機能的構成）
つぎに、コンテンツ配信者１１０によって配信されるコンテンツを利用するユーザ端末１２０の機能的構成について説明する。図２は、ユーザ端末の機能的構成を示すブロック図である。ユーザ端末１２０は、検知部２０１、ファイル取得部２０２、暗号化部２０３、書込部２０４、記録部２０５、インストーラ取得部２０６、復号化部２０７によって構成される。
【００４０】
検知部２０１は、インストーラ２１０によるアプリケーションのインストール処理中に、インストールするファイルの記録部２０５への書込処理の開始を検知する。具体的には、インストール処理中にファイルＩ／Ｏが発生したかを検知する。
【００４１】
ファイル取得部２０２は、検知部２０１によって書込処理の開始が検知された場合、書込前のファイルを取得する。ファイル取得部２０２は、たとえば、インストール処理で用いられるＡＰＩをフックするモジュールによってファイルを取得する。このモジュールは、たとえば、アプリケーションがインストールされる端末のオペレーションシステムが有する汎用モジュールである。
【００４２】
暗号化部２０３は、ファイル取得部２０２によって取得されたファイルを暗号化する。暗号化部２０３は、たとえば、ファイルの種類に基づいてファイルを暗号化する。たとえば、インストール時に暗号化するか否かを、ファイルの種類によって設定することができる。
【００４３】
書込部２０４は、暗号化部２０３によって暗号化された暗号化ファイルを記録部２０５に書込む。書込部２０４は、暗号化ファイルにアプリケーションの実行が指示された際に後述する復号化部２０７を起動させる起動コマンドを含むデータを埋め込む。
【００４４】
記録部２０５は、インストールされるアプリケーションのファイルを記録する。記録部２０５は、たとえば、アプリケーションがインストールされる端末のハードディスクである。
【００４５】
インストーラ取得部２０６は、アプリケーションのインストーラを取得する。インストーラ取得部２０６は、たとえば、暗号化されたインストーラ２１０をネットワーク１４０を介してコンテンツ配信者１１０から取得する。また、インストーラ取得部２０６は、たとえば、コンテンツを記録した記録媒体を読み取ることによって、インストーラを取得することとしてもよい。
【００４６】
復号化部２０７は、暗号化部２０３によって暗号化された暗号化ファイルを復号化する。復号化部２０７は、アプリケーションの実行時に暗号化ファイルを復号化し、復号化された暗号化ファイルをアプリケーションの終了時に消去する。
【００４７】
（ユーザ端末１２０のハードウェア構成）
つぎに、ユーザ端末１２０のハードウェア構成について説明する。図３は、ユーザ端末のハードウェア構成を示すブロック図である。図３において、ユーザ端末１２０は、ＣＰＵ３０１と、ＲＯＭ３０２と、ＲＡＭ３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、音声Ｉ／Ｆ（インターフェース）３０８と、マイク３０９と、スピーカ３１０と、入力デバイス３１１と、映像Ｉ／Ｆ３１２と、ディスプレイ３１３と、通信Ｉ／Ｆ（インターフェース）３１４と、を備えている。また、各構成部３０１〜３１４はバス３２０によってそれぞれ接続されている。
【００４８】
まず、ＣＰＵ３０１は、ユーザ端末１２０の全体の制御を司る。ＲＯＭ３０２は、ブートプログラム、通信プログラム、データ解析プログラムなどのプログラムを記録している。また、ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。
【００４９】
磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータの読取り／書込みを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書込まれたデータを記録する。磁気ディスク３０５としては、たとえば、ＨＤ（ハードディスク）やＦＤ（フレキシブルディスク）を用いることができる。
【００５０】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータの読み取り／書込みを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御にしたがってデータの読み出される着脱自在な記録媒体である。光ディスク３０７は、書込み可能な記録媒体を利用することもできる。また、この着脱可能な記録媒体として、光ディスク３０７のほか、ＭＯ、メモリカードなどであってもよい。
【００５１】
音声Ｉ／Ｆ３０８は、音声入力用のマイク３０９および音声出力用のスピーカ３１０に接続される。マイク３０９に受音された音声は、音声Ｉ／Ｆ３０８内でＡ／Ｄ変換される。また、スピーカ３１０からは音声が出力される。また、入力デバイス３１１は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、マウス、タッチパネルなどが挙げられる。
【００５２】
映像Ｉ／Ｆ３１２は、ディスプレイ３１３と接続される。映像Ｉ／Ｆ３１２は、具体的には、たとえば、ディスプレイ３１３全体の制御をおこなうグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいて、ディスプレイ３１３を表示制御する制御ＩＣなどによって構成される。
【００５３】
ディスプレイ３１３には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。このディスプレイ３１３は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００５４】
通信Ｉ／Ｆ３１４は、ネットワーク１４０に接続され、ＣＰＵ３０１とのインターフェースとして機能する。ユーザ端末１２０は、通信Ｉ／Ｆ３１４を介してコンテンツ配信者１１０からコンテンツの配信を受けている。
【００５５】
（コンテンツ保護システム１００によるコンテンツ配信処理）
つづいて、コンテンツ保護システム１００によるコンテンツ配信処理の概要について説明する。コンテンツ保護システム１００では、コンテンツ作成者１３０によって作成されたコンテンツを、コンテンツ配信者１１０によってユーザ端末１２０に配布する。以下、コンテンツ保護システム１００によるコンテンツ配信処理の概要について説明する。
【００５６】
図４は、コンテンツ配信者によるコンテンツ配信処理の手順を示すフローチャートである。図４のフローチャートにおいて、コンテンツ配信者１１０は、まず、コンテンツ作成者１３０からコンテンツデータを受信する（ステップＳ４０１）。
【００５７】
つぎに、コンテンツ配信者１１０は、ライセンス設定および暗号化するコンテンツのＩＤ（コンテンツＩＤ、たとえばコンテンツフォルダ名）を決定する（ステップＳ４０２）。ここで、ライセンス設定には、コンテンツの利用期間やタイムサーバ（ＮＴＰ）の利用の有無などの情報が含まれている。コンテンツの利用期間は、ユーザ端末１２０がコンテンツを購入（ダウンロード）してからの経過日時によって規定してもよいし、年月日によって規定してもよい。また、利用期間を無制限としてもよい。さらに、利用期間の日時判定を、ユーザ端末１２０に設けられた時計ではなく、タイムサーバの時間で判定をおこなうこととしてもよい。コンテンツ配信者１１０は、これらのライセンス設定をライセンス設定ファイルに記録する。
【００５８】
つづいて、コンテンツ配信者１１０は、ライセンス設定ファイルおよびコンテンツＩＤに基づいてライセンス管理サーバ１１０ｃによって生成されたライセンスキーを用いてコンテンツデータを暗号化し（ステップＳ４０３）、コンテンツサーバ１１０ｂに暗号化したコンテンツをアップロードする（ステップＳ４０４）。具体的には、暗号化したコンテンツデータを圧縮ソフトで圧縮するなどして、コンテンツサーバ１１０ｂにアップロードする。
【００５９】
コンテンツ配信者１１０は、コンテンツサーバ１１０ｂにアップロードしたコンテンツが購入されるまで待機する（ステップＳ４０５：Ｎｏのループ）。コンテンツが購入されると（ステップＳ４０５：Ｙｅｓ）、コンテンツを購入したユーザ端末１２０との間で購入処理をおこなう（ステップＳ４０６）。ここで、購入処理とは、たとえば、クレジットカードなどによるコンテンツ利用料金の支払い処理やユーザ登録処理などである。
【００６０】
つぎに、コンテンツ配信者１１０は、コンテンツを購入したユーザ端末１２０がコンテンツ配信者１１０からコンテンツを購入するのが初めてか（初回購入か）否かを判断する（ステップＳ４０７）。初回購入の場合は（ステップＳ４０７：Ｙｅｓ）、コンテンツデータの復号化アプリケーションを送信する（ステップＳ４０８）。復号化アプリケーションには、ライセンス管理サーバ１１０ｃからライセンスキーを取得するライセンスキー取得モジュールが組み込まれている。なお、復号化アプリケーションとライセンスキー取得モジュールは、別個のアプリケーションとして送信してもよい。
【００６１】
なお、ユーザ端末１２０が購入したコンテンツがインストーラ形式のアプリケーションである場合は、復号化アプリケーションと合わせてインストール監視プログラムを送信する。インストール監視プログラムは、ユーザ端末１２０へのアプリケーションのインストール処理を監視し、アプリケーション内のデータを暗号化して、ユーザ端末１２０に記録する。一方、初回購入ではない場合は（ステップＳ４０７：Ｎｏ）、ステップＳ４０９に移行する。
【００６２】
そして、コンテンツ配信者１１０は、暗号化されたコンテンツデータをユーザ端末１２０に送信して（ステップＳ４０９）、本フローチャートによる処理を終了する。
【００６３】
つぎに、ユーザ端末１２０によるコンテンツ取得処理について説明する。図５は、ユーザ端末によるコンテンツ取得処理の手順を示すフローチャートである。図５のフローチャートにおいて、ユーザ端末１２０は、コンテンツ配信者１１０からコンテンツを購入するか否かを判断し（ステップＳ５０１）、コンテンツを購入する場合は（ステップＳ５０１：Ｙｅｓ）、コンテンツサーバ１１０ｂとの間で購入処理をおこなう（ステップＳ５０２）。
【００６４】
ユーザ端末１２０がコンテンツ配信者１１０から初めてコンテンツを購入する（初回購入）場合は（ステップＳ５０３：Ｙｅｓ）、コンテンツ配信者１１０から送信される復号化アプリケーションを受信し、インストールする（ステップＳ５０４）。ここで、復号化アプリケーションには、インストーラ形式のアプリケーションのインストール処理を監視するインストール監視プログラムが組み込まれている。復号化アプリケーションとインストール監視プログラムは、別個のプログラム（アプリケーション）として受信してもよい。一方、初回購入でない場合は（ステップＳ５０３：Ｎｏ）、ステップＳ５０５に移行する。
【００６５】
つぎに、ユーザ端末１２０は、コンテンツ配信者１１０から、暗号化されたコンテンツデータを受信する（ステップＳ５０５）。ユーザ端末１２０が購入したコンテンツがインストーラ形式のアプリケーションである場合は、インストール監視プログラムを実行し、購入したアプリケーションをインストールする。このとき、ユーザ端末１２０にコピーされるアプリケーションデータは、自動的に暗号化される。
【００６６】
受信したコンテンツを利用する場合は（ステップＳ５０６：Ｙｅｓ）、ステップＳ５０４でインストールした復号化アプリケーションのライセンスキー取得モジュールによって、ライセンス管理サーバ１１０ｃからライセンスキーを取得する（ステップＳ５０７）。コンテンツの利用とは、たとえば、コンテンツが画像や動画であれば画像や動画の閲覧、アプリケーションであればアプリケーションの実行などである。なお、ライセンスキーを取得すると、端末固有の識別子で暗号化してユーザ端末１２０に登録される。ライセンスキーを利用するためには、ユーザ端末１２０の端末固有の識別子が必要となるため、他の端末ではコンテンツを復号化することができない。
【００６７】
そして、ライセンスキーによってコンテンツデータを復号化した上で（ステップＳ５０８）、復号化アプリケーション上でコンテンツを利用して（ステップＳ５０９）、本フローチャートによる処理を終了する。
【００６８】
このとき、復号化アプリケーションは、ライセンスキーを利用して暗号化されたコンテンツデータを復号するが、ライセンスキーに設定された利用期間が経過している場合は、エラーメッセージを表示し、コンテンツデータの復号化を中止する。また、コンテンツの利用中は、キャプチャ防止などの保護プログラムによってコンテンツを保護する。そして、コンテンツの利用を終了する（復号化アプリケーションを終了する）と、復号化されたコンテンツデータは削除され、ユーザ端末１２０の記録領域上には残らない。
【００６９】
また、復号化アプリケーションは、コンテンツをダウンロードしたユーザ端末１２０の端末から、他の端末にコンテンツをコピーまたは移動した場合、エラーメッセージを表示してコンテンツの復号化をおこなわない。これは、ライセンスキーをユーザ端末１２０に登録する際に、端末固有の識別子で暗号化して登録するためである。ライセンスキーを利用するためには、ユーザ端末１２０の端末固有の識別子が必要となるため、他の端末ではコンテンツを復号化することができない。
【００７０】
また、ユーザ端末１２０の端末の日付と時間を、前回コンテンツを利用した日時よりも過去に日付と時間をバックデートした場合、エラーメッセージを表示してコンテンツの復号化をおこなわない。
【００７１】
以上のような処理により、コンテンツ保護システム１００は、正当にコンテンツを購入したユーザ端末１２０以外によるコンテンツの不正利用を防止している。ここで、配布するコンテンツがインストーラ形式のアプリケーションである場合、アプリケーションのインストール時に、一旦復号化したアプリケーションデータを再度暗号化してユーザ端末１２０のハードディスクに記録する必要がある。
【００７２】
このため、コンテンツ保護システム１００は、アプリケーションのインストール時に、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を検出（フック）するモジュールによって、インストールされるアプリケーションデータを動的に暗号化して、インストーラ形式のアプリケーションの保護を図ることとしている。ここで、ＡＰＩとは、所定のプラットフォーム（オペレーションシステムやミドルウェア）向けのソフトウェアを開発する際に使用できる命令や関数の集合のこと。また、それらを利用するためのプログラム上の手続きを定めた規約の集合である。ＡＰＩをフックするモジュールには、たとえば、ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）やｅｘｅファイルなどがある。以下、本実施の形態では、ＡＰＩをフックするモジュールとして、ＡＰＩフックＤＬＬを用いる場合について説明する。
【００７３】
（インストーラ形式のアプリケーションの配信処理）
つづいて、インストーラ形式のアプリケーション（以下、インストーラという）を配信する際のコンテンツ保護システム１００の処理の詳細について説明する。以下では、コンテンツ配信者１１０によるコンテンツの暗号化処理（図４のステップＳ４０３参照）、ユーザ端末１２０によるインストーラを用いたアプリケーションのインストール処理、ユーザ端末１２０によるアプリケーションの利用時の処理（図５のステップＳ５０８，Ｓ５０９参照）について説明する。
【００７４】
（コンテンツデータの暗号化）
図６は、コンテンツ配信者によるコンテンツの暗号化処理の手順を示すフローチャートである。以下、説明の便宜上、コンテンツはインストーラ形式のアプリケーションまたは通常のアプリケーションのいずれかであるものとする。図６のフローチャートにおいて、コンテンツ配信者１１０は、暗号化処理端末１１０ａの暗号化処理プログラムを起動し、ハードディスクなどに記録されているコンテンツフォルダ（コンテンツデータ）を読み込む（ステップＳ６０１）。ここで、暗号化処理プログラムには、優先する暗号化モードが設定されている。暗号化モードには、通常のアプリケーション（たとえば、インストーラ形式ではないアプリケーションなど）を暗号化するモード（以下、アプリケーションモードという）、および、インストーラ形式のアプリケーションを暗号化するモード（以下、インストーラモードという）の２種類がある。
【００７５】
より詳細には、アプリケーションモードは、実行ファイル（ｅｘｅファイル）をアプリケーションとして優先処理する。優先暗号化モードがアプリケーションモードに設定されている場合、コンテンツフォルダ内にｅｘｅファイルが存在すると、そのコンテンツはアプリケーションであると認識され、暗号化されたｅｘｅファイルにはアプリケーション起動プログラムが埋め込まれる。
【００７６】
また、インストーラモードは、ｅｘｅファイルをインストーラとして優先処理する。優先暗号化モードがインストーラモードに設定されている場合、コンテンツフォルダ内にｅｘｅファイルが存在すると、そのコンテンツはインストーラであると認識され、暗号化されたｅｘｅファイルにはインストーラ起動プログラムが埋め込まれる。
【００７７】
また、暗号化処理端末１１０ａは、コンテンツフォルダ内に暗号化設定ファイルが存在する場合には、暗号化設定ファイルを読み込む（ステップＳ６０２）。ここで、暗号化設定ファイルは、コンテンツごとの暗号化モードを設定する。具体的には、暗号化モードをアプリケーションモードとするかインストーラモードとするかを定義する。また、この他に、後述するインストールの監視処理の際に、暗号化をおこなわないファイル（非暗号化ファイル）の定義や、アンインストーラプログラム名、アプリケーション起動プログラム名などが定義されている。
【００７８】
つぎに、暗号化処理端末１１０ａは、ライセンス管理サーバ１１０ｃからライセンスキーを取得する（ステップＳ６０３）。そして、ステップＳ６０１で読み込んだコンテンツフォルダからファイルを検索し（ステップＳ６０４）、ステップＳ６０３で取得したライセンスキーで暗号化する（ステップＳ６０５）。
【００７９】
つづいて、暗号化処理端末１１０ａは、ステップＳ６０５で暗号化したファイルがｅｘｅファイルであるか否かを判断する（ステップＳ６０６）。ｅｘｅファイルである場合は（ステップＳ６０６：Ｙｅｓ）、暗号化設定ファイルに設定された暗号化モードがインストーラモードか否かを判断する（ステップＳ６０７）。インストーラモードである場合は（ステップＳ６０７：Ｙｅｓ）、暗号化したファイルにインストーラ起動プログラムを埋め込む（ステップＳ６０８）。また、暗号化設定ファイルを暗号化する（ステップＳ６０９）。
【００８０】
ここで、インストーラ起動プログラムとは、ユーザ端末１２０にインストールされているインストーラ監視プログラムを起動するプログラムである。詳細は後述するが、インストーラ監視プログラムは、アプリケーションのインストール処理の監視をおこなう。具体的には、インストーラ監視プログラムは、インストーラに対してインストーラＡＰＩフックＤＬＬを組み込み、インストーラの終了までプロセスの監視をおこなう。
【００８１】
一方、ステップＳ６０７において、暗号化設定ファイルに設定された暗号化モードがインストーラモードではない場合（ステップＳ６０７：Ｎｏ）、すなわち、暗号化モードがアプリケーションモードである場合は、暗号化したファイルにアプリケーション起動プログラムを埋め込み（ステップＳ６１０）、ステップＳ６０９に移行する。
【００８２】
ここで、アプリケーション起動プログラムとは、ユーザ端末１２０にインストールされている復号化アプリケーションを起動するプログラムである。アプリケーション起動プログラムは、暗号化されたアプリケーションの実行が指示された場合（たとえば、暗号化されたアプリケーションを示すアイコンがダブルクリックされた場合など）に起動し、復号化アプリケーションを起動させる。詳細は後述するが、復号化アプリケーションは、暗号化されたアプリケーションデータを復号化し、アプリケーションを実行可能とする。
【００８３】
暗号化処理端末１１０ａは、コンテンツフォルダ内に暗号化していないファイルがあるか否かを判断し（ステップＳ６１１）、暗号化されていないファイルがある場合は（ステップＳ６１１：Ｙｅｓ）、ステップＳ６０４に戻り、以降の処理を継続する。一方、暗号化していないファイルがない場合は（ステップＳ６１１：Ｎｏ）、暗号化していないフォルダがあるか否かを判断する（ステップＳ６１２）。
【００８４】
暗号化していないフォルダがある場合は（ステップＳ６１２：Ｙｅｓ）、ステップＳ６０１に戻り、以降の処理を継続する。一方、暗号化していないフォルダがない場合は（ステップＳ６１２：Ｎｏ）、暗号化処理の結果を表示して（ステップＳ６１３）、本フローチャートの処理を終了する。
【００８５】
（アプリケーションのインストール処理）
つぎに、ユーザ端末１２０によるインストーラを用いたアプリケーションのインストール処理について説明する。図７は、ユーザ端末によるアプリケーションのインストール処理の手順を示すフローチャートである。ユーザ端末１２０は、あらかじめコンテンツ配信者１１０から暗号化されたインストーラを受信している（図５のステップＳ５０５参照）。
【００８６】
図７のフローチャートにおいて、ユーザ端末１２０は、購入したコンテンツであるインストーラ形式のアプリケーションのインストールの指示があるまで待機する（ステップＳ７０１：Ｎｏのループ）。インストールの指示があったか否かは、たとえば、インストーラを示すアイコンをダブルクリックされたことを検知することによっておこなう。
【００８７】
インストールの指示があった場合は（ステップＳ７０１：Ｙｅｓ）、図６のステップＳ６０８で埋め込まれたインストーラ起動プログラムを起動し（ステップ７０２）、インストーラ監視プログラムを起動する（ステップＳ７０３）。このとき、インストーラ起動プログラムは、自己のファイルパスを引数としてインストーラ監視プログラムに渡す。また、インストーラ起動プログラムは、インストーラ監視プログラムを起動した後終了する。
【００８８】
インストーラ監視プログラムは、インストーラ起動プログラムから渡された引数を参照してライセンスの有無を判断し（ステップＳ７０４）、ライセンスがある場合は（ステップＳ７０４：Ｙｅｓ）、暗号化されているインストーラを復号化する（ステップＳ７０５）。一方、ライセンスがない場合は（ステップＳ７０４：Ｎｏ）、ステップＳ７１３に移行する。
【００８９】
ステップＳ７０５でインストーラを復号化した場合、インストーラ監視プログラムは、インストーラをサスペンドモードで起動するとともに（ステップＳ７０６）、インストーラによるインストール処理を監視する（ステップＳ７０７）。インストール処理の監視は、インストーラの処理が終了するまで継続する。
【００９０】
つぎに、インストーラ起動プログラムは、起動したインストーラのプロセス内にＡＰＩフックＤＬＬをマッピングする（ステップＳ７０８）。ここで、ＡＰＩフックＤＬＬは、インストーラによるファイルＩ／ＯのＡＰＩをフックし、インストールされるファイルの情報を取得する。また、暗号化設定ファイルの情報を元に、ファイルの暗号化やアプリケーション起動プログラム、インストーラ起動プログラムの埋め込みをおこなう。また、インストール中のファイルについても、アクセス制限をおこなう。
【００９１】
図８は、ＡＰＩフックＤＬＬによってフックされるＡＰＩを示す図表である。図８の図表は、フックされるＡＰＩ名８０１、各ＡＰＩのオリジナルの処理内容８０２、各ＡＰＩの実際の処理内容８０３が示されている。また、ＡＰＩフックＤＬＬは、インストーラのファイルＩ／Ｏをフックして取得されたファイルのパス情報などを、リスト情報として内部に保持する。
【００９２】
インストーラ起動プログラムは、インストーラのプロセス内にＡＰＩフックＤＬＬを組み込んだ後、インストーラのサスペンド状態を解除する（ステップＳ７０９）。具体的には、インストーラのサスペンド状態を解除する解除信号をインストーラに送付する。
【００９３】
インストーラ起動プログラムは、後述するようにＡＰＩフックＤＬＬからファイルリストの更新を指示する更新指示信号を受け取ると、ファイルリストを更新する（ステップＳ７１０）。そして、ＡＰＩフックＤＬＬの処理が正常に完了したことを示す処理完了信号を受け取り（ステップＳ７１１）、かつ、インストーラの処理が終了すると（ステップＳ７１２：Ｙｅｓ）、インストーラ起動プログラムはプログラムの終了処理をおこない（ステップＳ７１３）、本フローチャートによる処理を終了する。
【００９４】
なお、ＡＰＩフックＤＬＬから処理完了信号を受け取らないままインストーラの処理が終了した場合は、インストーラが異常終了したものとして、インストーラが新規に作成したファイルを削除する。また、インストーラが既存のファイルに追加で書込をおこなっていた場合は、バックアップデータによって、ファイルを元の状態に復元する。
【００９５】
つぎに、インストーラの処理について説明する。ステップＳ７０６の処理によってサスペンドモードで起動したインストーラは（ステップＳ７２１）、インストーラ監視プログラムによってサスペンドモードを解除する解除信号を受け取ると（ステップＳ７２２）、アプリケーションのインストール処理を開始する（ステップＳ７２３）。インストーラは、インストール処理の中でファイルＩ／Ｏが発生すると、ＡＰＩフックＤＬＬにファイルＩ／Ｏ発生信号を送付する（ステップＳ７２４）。
【００９６】
アプリケーションのインストール処理が終了すると（ステップＳ７２５）、インストーラはプログラムの終了処理をおこない（ステップＳ７２６）、本フローチャートによる処理を終了する。この終了処理において、インストーラは、プログラムの終了処理の中でＡＰＩフックＤＬＬにＤＬＬの解放信号を送付する。
【００９７】
つづいて、ＡＰＩフックＤＬＬの処理について説明する。ステップＳ７０８でインストーラのプロセス中に組み込まれたＡＰＩフックＤＬＬは、インストーラからファイルＩ／Ｏ発生信号が送付されると、ファイルＩ／Ｏをフックする（ステップＳ７４１）。そして、ＡＰＩフックＤＬＬは、インストールされるファイルを暗号化する（ステップＳ７４２）。
【００９８】
インストールされるファイルの暗号化は、インストーラからファイルの書込みが発生したタイミングでおこなう。書込み先のファイルサイズが０であれば、暗号化管理モジュールに鍵を設定してデータの書込みをおこなう。一方、書込み先のファイルサイズが０でなければ、既存のファイルを暗号化後、暗号化管理モジュールに鍵を設定してデータの書込みをおこなう。また、異常終了した場合に備えて既存のファイルは作業領域にバックアップしておく。書込み先のファイルが既に暗号化されている場合には、そのまま書込み処理をおこなう。
【００９９】
また、インストールされたｅｘｅファイルと同一のディレクトリ、または、その配下のディレクトリに作成されるファイル以外のファイルは、非暗号化設定の対象にする。暗号化設定ファイルに、非暗号化設定対象として登録されているファイルに対しては、暗号化処理をおこなわない。また、レジストリ情報ファイルやショートカットファイル、ネットワークドライブなど、自装置以外の場所に作成されたファイルには、暗号化処理をおこなわない。
【０１００】
また、インストール中に作成されるファイルは、暗号化管理モジュールによってインストーラとインストーラ監視プログラムのプロセス以外から、アクセスできなくする。ＡＰＩフックＤＬＬによって、インストーラのファイルＩ／Ｏがフックされ、ユーザ端末１２０のディスクに書込みが発生した場合、このファイルには、アクセス制限がかけられる。これにより、インストール中に他のアプリケーションなどからコピーをおこなえないようにする。なお、レジストリ情報ファイルや自装置以外の場所に作成されたファイルには、アクセス制限をおこなわない。
【０１０１】
ＡＰＩフックＤＬＬは、インストーラ監視プログラムにファイルリストの更新を指示する更新指示信号を送付する（ステップＳ７４３）。インストーラから送付されたＤＬＬの解放信号を受け取ると（ステップＳ７４４）、インストールしたｅｘｅファイルにアプリケーション起動プログラムを埋め込む（ステップＳ７４５）。アプリケーション起動プログラムは、暗号化されたアプリケーションの実行に必要な復号化アプリケーションを起動するプログラムである。
【０１０２】
そして、インストーラ監視プログラムに、ＡＰＩフックＤＬＬの処理が完了したことを示す処理完了信号を送付して（ステップＳ７４６）、本フローチャートによる処理を終了する。
【０１０３】
（アプリケーションの利用処理）
つぎに、ユーザ端末１２０によるアプリケーションの利用時の処理について説明する。図９は、ユーザ端末によるアプリケーションの利用時の処理の手順を示すフローチャートである。図９のフローチャートにおいて、ユーザ端末１２０は、インストールしたアプリケーションの実行指示があるまで待機する（ステップＳ９０１：Ｎｏのループ）。アプリケーションの実行指示は、たとえば、アプリケーションを示すアイコンをダブルクリックするなどによっておこなう。
【０１０４】
アプリケーションの実行指示があった場合（ステップＳ９０１：Ｙｅｓ）、アプリケーション起動プログラムを起動して（ステップＳ９０２）、アプリケーション起動プログラムによって復号化アプリケーションを起動させる（ステップＳ９０３）。復号化アプリケーションを起動させた後、アプリケーション起動プログラムは処理を終了する。
【０１０５】
復号化アプリケーションは、ライセンス管理サーバ１１０ｃからライセンスキーを取得する（ステップＳ９０４）。ユーザ端末１２０にコンテンツを利用する権限がある場合は（ステップＳ９０５：Ｙｅｓ）、暗号化されているアプリケーションデータを復号化する（ステップＳ９０６）。一方、コンテンツを利用する権限がない場合は（ステップＳ９０５：Ｎｏ）、ステップＳ９１３に移行する。
【０１０６】
ここで、アプリケーションデータの復号化について説明する。復号化アプリケーションは、ユーザ端末１２０の端末のハードディスク内に保護領域を作成し、保護領域内にアプリケーションデータを復号化する。復号化アプリケーションは、アプリケーションの実行が終了すると、保護領域ごと復号化したアプリケーションデータを削除して、端末内に復号化されたデータが残らないようにする。
【０１０７】
アプリケーションデータを復号化すると、復号化アプリケーションは、キャプチャ保護機能を起動する（ステップＳ９０７）。キャプチャ保護機能では、オペレーションシステム標準のプリントスクリーン機能や標準的な画面キャプチャ機能を制限して、画面がキャプチャされるのを防止する。たとえば、コンテンツ表示中に、Ｐｒｉｎｔ  Ｓｃｒｅｅｎキーを押したのち、ペイントアプリケーションに貼り付けても、画面が取得されない。この機能は、Ｐｒｉｎｔ  Ｓｃｒｅｅｎキーを無効にすることによって実現する。
【０１０８】
また、たとえば、キャプチャ機能を持つソフトの起動を監視し、キャプチャソフト情報ファイルに登録されているキャプチャソフトが起動を検知した場合、キャプチャソフトを停止させる。キャプチャソフト情報ファイルは、キャプチャソフトを認識するための情報が記述されている。キャプチャソフト情報ファイルは、コンテンツ配信者１１０から常時最新のバージョンが配信され、最新のキャプチャソフトに対する保護をおこなう。
【０１０９】
復号化アプリケーションは、アプリケーションの監視プロセスを起動して（ステップＳ９０８）、ステップＳ９０６で復号化したアプリケーションを起動する（ステップＳ９０９）。アプリケーションが終了するまでは（ステップＳ９１１：Ｎｏ）、キャプチャ保護およびアプリケーションの監視を継続し（ステップＳ９１０）、アプリケーションが終了すると（ステップＳ９１１：Ｙｅｓ）、復号したアプリケーションデータを削除する（ステップＳ９１２）。そして、復号化アプリケーションの終了処理をおこない（ステップＳ９１３）、本フローチャートによる処理を終了する。
【０１１０】
以上説明したように、アプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムによれば、インストールするデータを書込む前に取得し、暗号化した上で記録部（ハードディスクなど）に書込む。これにより、アプリケーションがインストールされるユーザ端末１２０に記録されたアプリケーションのデータを保護し、不正利用を防止することができる。
【０１１１】
また、アプリケーションがインストールされる端末のオペレーションシステムが有する、既存のモジュール（ＡＰＩフックＤＬＬ）を用いてデータを取得するため、データの取得のために特別なモジュールを用意する必要がない。また、インストール処理のプロセス中にインストールするデータの暗号化をおこなうことができる。
【０１１２】
さらに、復号化アプリケーションを起動させるアプリケーション起動プログラムを、暗号化と同時にデータに埋め込む。これにより、アプリケーションを実行する際には、復号化アプリケーションが起動し、暗号化データを復号化してアプリケーションを実行することができる。また、アプリケーションの実行時に復号化した暗号化データを消去し、アプリケーションデータの不正利用を防止することができる。
【０１１３】
なお、本実施の形態で説明したアプリケーション保護方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【０１１４】
以上のように、本発明にかかるアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムは、インストーラ形式のアプリケーションの配信に有用であり、特に、有料でのコンテンツ配信システムに適している。
【図面の簡単な説明】
【０１１５】
【図１】コンテンツ保護システムのシステム構成を示す説明図である。
【図２】ユーザ端末の機能的構成を示すブロック図である。
【図３】ユーザ端末のハードウェア構成を示すブロック図である。
【図４】コンテンツ配信者によるコンテンツ配信処理の手順を示すフローチャートである。
【図５】ユーザ端末によるコンテンツ取得処理の手順を示すフローチャートである。
【図６】コンテンツ配信者によるコンテンツの暗号化処理の手順を示すフローチャートである。
【図７】ユーザ端末によるアプリケーションのインストール処理の手順を示すフローチャートである。
【図８】ＡＰＩフックＤＬＬによってフックされるＡＰＩを示す図表である。
【図９】ユーザ端末によるアプリケーションの利用時の処理の手順を示すフローチャートである。
【符号の説明】
【０１１６】
１００  コンテンツ保護システム
１１０  コンテンツ配信者
１１０ａ  暗号化処理端末
１１０ｂ  コンテンツサーバ
１１０ｃ  ライセンス管理サーバ
１２０ａ〜１２０ｃ  ユーザ端末
１３０  コンテンツ作成者
１４０  ネットワーク
２０１  検知部
２０２  ファイル取得部
２０３  暗号化部
２０４  書込部
２０５  記録部
２０６  インストーラ取得部
２０７  復号化部
２１０  インストーラ
【図１】
2007334821.tif 000003
【図２】
2007334821.tif 000004
【図３】
2007334821.tif 000005
【図４】
2007334821.tif 000006
【図５】
2007334821.tif 000007
【図６】
2007334821.tif 000008
【図７】
2007334821.tif 000009
【図８】
2007334821.tif 000010
【図９】
2007334821.tif 000011