JP2007334821A - Application protection device, application protection method, and application protection program - Google Patents

Application protection device, application protection method, and application protection program Download PDF

Info

Publication number
JP2007334821A
JP2007334821A JP2006169039A JP2006169039A JP2007334821A JP 2007334821 A JP2007334821 A JP 2007334821A JP 2006169039 A JP2006169039 A JP 2006169039A JP 2006169039 A JP2006169039 A JP 2006169039A JP 2007334821 A JP2007334821 A JP 2007334821A
Authority
JP
Japan
Prior art keywords
application
file
content
installer
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006169039A
Other languages
Japanese (ja)
Inventor
Kenji Nishimoto
憲司 西本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Trinity Security Systems Inc
Original Assignee
Trinity Security Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trinity Security Systems Inc filed Critical Trinity Security Systems Inc
Priority to JP2006169039A priority Critical patent/JP2007334821A/en
Publication of JP2007334821A publication Critical patent/JP2007334821A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To appropriately protect an installer form application. <P>SOLUTION: A user terminal 120 to which a content is distributed includes a detecting part 201 for detecting the start of processing to write data to be installed in a recording part 205 during the installation processing of an application by an installer 210; a file acquiring part 202 for acquiring the data before writing when the detecting part 201 detects the start of the writing processing; an encryption part 203 for encrypting the data acquired by the file acquiring part 202; and a writing part 204 for writing the encryption data encrypted by the encryption part 203 in the recording part 205. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

この発明は、インストーラ形式のアプリケーションを保護するアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムに関する。   The present invention relates to an application protection apparatus, an application protection method, and an application protection program for protecting an installer-type application.

従来、ネットワークや記録媒体を介し、ソフトウェアやアプリケーション(各種実行プログラム)、静止画画像、動画、音楽などの各種コンテンツの配布がおこなわれている。また、配布されたコンテンツの不正利用を防止するためのコンテンツ保護システムが考案されている。   2. Description of the Related Art Conventionally, various contents such as software, applications (various execution programs), still image images, moving images, and music have been distributed via a network or a recording medium. In addition, a content protection system has been devised to prevent unauthorized use of distributed content.

このようなコンテンツ保護システムでは、たとえば、コンテンツ配信者のコンテンツサーバはコンテンツを暗号化鍵を用いて暗号化し、暗号データとしてクライアントに配布する。また、コンテンツサーバは、コンテンツの暗号化に用いた暗号化鍵もクライアントに配布する。さらに、クライアントには、あらかじめコンテンツ保護プログラムを配布しておく。クライアントは、ダウンロードした暗号データを、暗号化鍵を用いて復号化して、復号データを得る。復号データは、例えばブラウザの表示領域内に表示される。コンテンツの閲覧(表示)時には、格納部(ハードディスクドライブ:HDD)が用いられる。   In such a content protection system, for example, the content server of the content distributor encrypts the content using an encryption key and distributes the encrypted data to the client. The content server also distributes the encryption key used for content encryption to the client. Furthermore, a content protection program is distributed to the client in advance. The client decrypts the downloaded encrypted data using the encryption key to obtain decrypted data. The decrypted data is displayed, for example, in the display area of the browser. When browsing (displaying) content, a storage unit (hard disk drive: HDD) is used.

クライアントに配布されたコンテンツ保護プログラムは、ダウンロードしたコンテンツ(暗号データ)を暗号化鍵を用いて復号する復号化処理と、復号化したコンテンツをHDDに対し鍵を用いて暗号化して格納する暗号化処理(HDDからの読み出し時の復号化処理を含む)と、HDDに格納されたコンテンツ(暗号データ)に対する不正アクセスを防止するためのアクセス制御を実行する(たとえば、下記特許文献1参照。)。   The content protection program distributed to the client decrypts the downloaded content (encrypted data) using an encryption key, and encrypts the decrypted content using a key and stores it in the HDD Processing (including decryption processing at the time of reading from the HDD) and access control for preventing unauthorized access to the content (encrypted data) stored in the HDD are executed (for example, see Patent Document 1 below).

特開2005−010957号公報Japanese Patent Laying-Open No. 2005-010957

しかしながら、上述した従来技術によれば、コンテンツサーバではクライアントに配信するコンテンツデータ自体を暗号化する。ここで、配布されるコンテンツがインストーラによってインストールされるアプリケーション(インストーラ形式のアプリケーション)である場合、配布後のコンテンツデータ(インストーラ)はユーザの端末上で展開され、コピーされる。このため、インストールされる各モジュールを暗号化する必要があるという問題点がある。   However, according to the prior art described above, the content server encrypts the content data itself to be distributed to the client. Here, when the distributed content is an application installed by the installer (installer-type application), the distributed content data (installer) is expanded and copied on the user terminal. For this reason, there is a problem that it is necessary to encrypt each installed module.

特に、コンテンツ配信者とコンテンツ作成者が異なる場合、たとえば、コンテンツ作成者からの委託によって、コンテンツ配信者がコンテンツを配信する場合などがある。このような場合、コンテンツ配信者は、コンテンツ作成者が作成したコンテンツデータ(インストーラ形式のアプリケーションデータ)をそのまま暗号化することができず、インストールする各モジュールを暗号化して再度インストーラを作成する必要があるという問題点がある。   In particular, when the content distributor is different from the content creator, for example, the content distributor may distribute the content on consignment from the content creator. In such a case, the content distributor cannot encrypt the content data (installer format application data) created by the content creator as it is, and it is necessary to encrypt each module to be installed and create the installer again. There is a problem that there is.

この発明は、上述した従来技術による問題点を解消するため、インストーラ形式のアプリケーションを適切に保護するアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムを提供することを目的とする。   An object of the present invention is to provide an application protection apparatus, an application protection method, and an application protection program for appropriately protecting an installer-type application in order to solve the above-described problems caused by the prior art.

上述した課題を解決し、目的を達成するため、請求項1の発明にかかるアプリケーション保護装置は、アプリケーションのインストール処理中に、当該インストールするファイルの記録部への書込処理の開始を検知する検知手段と、前記検知手段によって書込処理の開始が検知された場合、書込前の前記ファイルを取得するファイル取得手段と、前記ファイル取得手段によって取得されたファイルを暗号化する暗号化手段と、前記暗号化手段によって暗号化された暗号化ファイルを前記記録部に書込む書込手段と、を備えることを特徴とする。   In order to solve the above-described problems and achieve the object, the application protection apparatus according to the invention of claim 1 detects the start of the writing process to the recording unit of the file to be installed during the application installation process. And when the start of the writing process is detected by the detection means, a file acquisition means for acquiring the file before writing, an encryption means for encrypting the file acquired by the file acquisition means, Writing means for writing the encrypted file encrypted by the encryption means into the recording unit.

この請求項1の発明によれば、インストールするファイルを書込む前に取得し、暗号化した上で記録部に書込む。これにより、アプリケーションがインストールされる端末に記録されたアプリケーションのファイルを保護し、不正利用を防止することができる。   According to the first aspect of the present invention, the file to be installed is acquired before writing, encrypted, and written to the recording unit. Thereby, it is possible to protect the application file recorded on the terminal where the application is installed, and to prevent unauthorized use.

また、請求項2の発明にかかるアプリケーション保護装置は、請求項1に記載の発明において、前記ファイル取得手段は、前記インストール処理で用いられるAPI(Application Program Interface)を検出するモジュールによって前記ファイルを取得することを特徴とする。   According to a second aspect of the present invention, in the application protection device of the first aspect, the file acquisition unit acquires the file by a module that detects an API (Application Program Interface) used in the installation process. It is characterized by doing.

この請求項2の発明によれば、インストール処理のプロセス中にインストールするファイルの暗号化をおこなうことができる。   According to the second aspect of the present invention, the file to be installed can be encrypted during the installation process.

また、請求項3の発明にかかるアプリケーション保護装置は、請求項1または2に記載の発明において、前記ファイル取得手段は、前記アプリケーションがインストールされる端末のオペレーションシステムが有する汎用モジュールによって前記ファイルを取得することを特徴とする。   According to a third aspect of the present invention, in the application protection device according to the first or second aspect, the file acquisition unit acquires the file by a general-purpose module included in an operation system of a terminal in which the application is installed. It is characterized by doing.

この請求項3の発明によれば、アプリケーションがインストールされる端末のオペレーションシステムが有する既存のモジュールを用いてファイルを取得するため、ファイルの取得のために特別なモジュールを用意する必要がない。   According to the third aspect of the present invention, since the file is obtained using the existing module of the operation system of the terminal where the application is installed, it is not necessary to prepare a special module for obtaining the file.

また、請求項4の発明にかかるアプリケーション保護装置は、請求項1〜3のいずれか一つに記載の発明において、前記暗号化手段は、前記ファイルの種類に基づいて前記ファイルを暗号化することを特徴とする。   An application protection apparatus according to a fourth aspect of the present invention is the application protection apparatus according to any one of the first to third aspects, wherein the encryption means encrypts the file based on the type of the file. It is characterized by.

この請求項4の発明によれば、ファイルの種類に応じて暗号化をおこなうことができる。たとえば、所定の種類のファイルのみを暗号化したり、暗号化しないファイルの種類を設定することができる。   According to the invention of claim 4, encryption can be performed according to the type of file. For example, only a predetermined type of file can be encrypted, or a file type that is not encrypted can be set.

また、請求項5の発明にかかるアプリケーション保護装置は、請求項1〜4のいずれか一つに記載の発明において、前記暗号化ファイルを復号化する復号化手段を備え、前記書込手段は、前記暗号化ファイルに前記アプリケーションの実行が指示された際に前記復号化手段を起動させる起動コマンドを含むデータを埋め込むことを特徴とする。   An application protection apparatus according to a fifth aspect of the present invention is the application protection apparatus according to any one of the first to fourth aspects, further comprising decryption means for decrypting the encrypted file, wherein the writing means comprises: Data including an activation command for activating the decryption means when execution of the application is instructed in the encrypted file is embedded.

この請求項5の発明によれば、アプリケーションを実行する際には、復号化手段が起動し、暗号化ファイルを復号化してアプリケーションを実行することができる。   According to the fifth aspect of the present invention, when executing the application, the decryption means is activated, and the encrypted file can be decrypted to execute the application.

また、請求項6の発明にかかるアプリケーション保護装置は、請求項5に記載の発明において、前記復号化手段は、前記アプリケーションの実行時に前記暗号化ファイルを復号化し、復号化された前記暗号化ファイルを前記アプリケーションの終了時に消去することを特徴とする。   The application protection apparatus according to a sixth aspect of the present invention is the application protection apparatus according to the fifth aspect, wherein the decryption means decrypts the encrypted file when the application is executed, and the decrypted encrypted file. Is deleted at the end of the application.

この請求項6の発明によれば、アプリケーションの実行時に復号化した暗号化ファイルを消去し、アプリケーションのデータの不正利用を防止することができる。   According to the sixth aspect of the present invention, the encrypted file decrypted when the application is executed can be erased to prevent unauthorized use of the application data.

また、請求項7の発明にかかるアプリケーション保護装置は、請求項1〜6のいずれか一つに記載の発明において、前記アプリケーションのインストーラを取得するインストーラ取得手段を備え、前記検知手段は、前記インストーラによるインストール処理中に前記書込処理がおこなわれることを検知することを特徴とする。   According to a seventh aspect of the present invention, an application protection apparatus according to any one of the first to sixth aspects further comprises installer acquisition means for acquiring an installer of the application, wherein the detection means is the installer. It is detected that the writing process is performed during the installation process.

この請求項7の発明によれば、インストーラによってインストールされるアプリケーションの不正利用を防止することができる。   According to the seventh aspect of the present invention, unauthorized use of an application installed by the installer can be prevented.

また、請求項8の発明にかかるアプリケーション保護方法は、アプリケーションのインストール処理中にファイルの書込処理がおこなわれることを検知する検知工程と、前記検知工程で書込処理が検知された場合、前記ファイルを取得するファイル取得工程と、前記ファイル取得工程で取得されたファイルを暗号化する暗号化工程と、前記暗号化工程で暗号化された暗号化ファイルを前記書込処理による書込先に書込む書込工程と、を含んだことを特徴とする。   According to an eighth aspect of the present invention, there is provided an application protection method according to a detection step of detecting that a file writing process is performed during an application installation process, and when the writing process is detected in the detection step, A file acquisition step of acquiring a file, an encryption step of encrypting the file acquired in the file acquisition step, and writing the encrypted file encrypted in the encryption step to a write destination by the writing process And a writing process.

この請求項8の発明によれば、インストールするファイルを書込む前に取得し、暗号化した上で記録部に書込む。これにより、アプリケーションがインストールされる端末に記録されたアプリケーションのファイルを保護し、不正利用を防止することができる。   According to the eighth aspect of the present invention, the file to be installed is obtained before writing, encrypted, and written to the recording unit. Thereby, it is possible to protect the application file recorded on the terminal where the application is installed, and to prevent unauthorized use.

また、請求項9の発明にかかるアプリケーション保護プログラムは、請求項8に記載のアプリケーション保護方法をコンピュータに実行させることを特徴とする。   According to a ninth aspect of the present invention, an application protection program causes a computer to execute the application protection method according to the eighth aspect.

この請求項9の発明によれば、インストールするデータを書込む前に取得し、暗号化した上で記録部に書込む。これにより、アプリケーションがインストールされる端末に記録されたアプリケーションのデータを保護し、不正利用を防止することができる。   According to the ninth aspect of the present invention, the data to be installed is obtained before writing, encrypted, and written to the recording unit. Thereby, the application data recorded in the terminal where the application is installed can be protected and unauthorized use can be prevented.

本発明にかかるアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムによれば、インストーラ形式のアプリケーションを適切に保護することができるという効果を奏する。   According to the application protection device, the application protection method, and the application protection program according to the present invention, there is an effect that an installer-type application can be appropriately protected.

以下に添付図面を参照して、この発明にかかるアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムの好適な実施の形態を詳細に説明する。   Exemplary embodiments of an application protection device, an application protection method, and an application protection program according to the present invention will be explained below in detail with reference to the accompanying drawings.

(実施の形態)
(コンテンツ保護システム100のシステム構成)
はじめに、実施の形態にかかるコンテンツ保護システム100のシステム構成について説明する。図1は、コンテンツ保護システムのシステム構成を示す説明図である。コンテンツ保護システム100は、コンテンツ配信者110、ユーザ端末120(120a〜120c)、コンテンツ作成者130、ネットワーク140によって構成される。
(Embodiment)
(System configuration of content protection system 100)
First, the system configuration of the content protection system 100 according to the embodiment will be described. FIG. 1 is an explanatory diagram showing a system configuration of a content protection system. The content protection system 100 includes a content distributor 110, user terminals 120 (120a to 120c), a content creator 130, and a network 140.

コンテンツ配信者110は、後述するコンテンツ作成者130によって作成されたコンテンツを、ネットワーク140を介してユーザ端末120に配信する。コンテンツ配信者110は、暗号化処理端末110a、コンテンツサーバ110b、ライセンス管理サーバ110cによって構成される。   The content distributor 110 distributes content created by a content creator 130 described later to the user terminal 120 via the network 140. The content distributor 110 includes an encryption processing terminal 110a, a content server 110b, and a license management server 110c.

暗号化処理端末110aは、暗号化処理プログラムによって、配信するコンテンツの暗号化をおこなう。コンテンツの暗号化には、ライセンス管理サーバ110cによって生成された暗号化鍵(ライセンスキー)を使用する。   The encryption processing terminal 110a encrypts the content to be distributed by the encryption processing program. For the content encryption, an encryption key (license key) generated by the license management server 110c is used.

コンテンツサーバ110bは、暗号化処理端末110aによって暗号化されたコンテンツデータを格納する。ライセンス管理サーバ110cは、暗号化するコンテンツのIDおよび閲覧期間に基づいて暗号化鍵(ライセンスキー)を生成し、暗号化処理端末110aに渡す。また、ライセンス管理サーバ110cは、後述するユーザ端末120にインストールされた復号化アプリケーションからのライセンスキー取得要求に基づいて、ライセンスキーを送信する。なお、コンテンツを暗号化した後に利用権限の設定を変更したい場合は、暗号化処理端末110aのライセンス管理ツールで変更することができる。   The content server 110b stores the content data encrypted by the encryption processing terminal 110a. The license management server 110c generates an encryption key (license key) based on the ID of the content to be encrypted and the browsing period, and passes it to the encryption processing terminal 110a. Further, the license management server 110c transmits a license key based on a license key acquisition request from a decryption application installed in the user terminal 120 described later. If the usage authority setting is to be changed after the content is encrypted, it can be changed with the license management tool of the encryption processing terminal 110a.

ユーザ端末120(120a〜120c)は、コンテンツ購入者の端末であり、PC(パーソナルコンピュータ)の他、携帯電話端末やPDAなどであってもよい。ユーザ端末120は、コンテンツサーバ110bにネットワーク140を介してアクセスし、所望のコンテンツを購入し、コンテンツデータをダウンロードする。また、ユーザ端末120は、暗号化されたコンテンツデータを復号するための復号化アプリケーションを、あらかじめ取得している。復号化アプリケーションの取得は、たとえば、初回のコンテンツ購入時におこなわれる。   The user terminal 120 (120a to 120c) is a content purchaser terminal, and may be a mobile phone terminal, a PDA, or the like in addition to a PC (personal computer). The user terminal 120 accesses the content server 110b via the network 140, purchases desired content, and downloads content data. In addition, the user terminal 120 has acquired in advance a decryption application for decrypting the encrypted content data. The decryption application is acquired, for example, at the time of the first content purchase.

なお、本実施の形態では、ネットワーク140を介してユーザ端末120にコンテンツを配信することとするが、これに限らず、たとえば、コンテンツを記録した記録媒体を配布することによって、ユーザ端末120にコンテンツを配布してもよい。   In the present embodiment, content is distributed to the user terminal 120 via the network 140. However, the present invention is not limited to this. For example, the content is distributed to the user terminal 120 by distributing a recording medium on which the content is recorded. May be distributed.

コンテンツ作成者130は、コンテンツデータを作成する。コンテンツ作成者130によって作成されるコンテンツには、たとえば、ソフトウェアやアプリケーション(各種実行プログラム)、静止画画像、動画、楽曲などが挙げられる。また、コンテンツ作成者130によって作成されるコンテンツには、インストーラ形式のアプリケーションも含まれる。   The content creator 130 creates content data. Examples of content created by the content creator 130 include software, applications (various execution programs), still image images, moving images, and music. The content created by the content creator 130 includes an installer application.

ここで、インストーラとは、アプリケーションをコンピュータに導入するソフトウェアである。インストーラ形式のアプリケーションデータには、アプリケーションデータの他、各種設定ファイルが含まれる。インストーラ形式のアプリケーションを実行すると、アプリケーションで用いられるプログラムやデータなどのファイルを、ユーザ端末120のハードディスクなどにコピーし、必要な設定をおこなう。   Here, the installer is software for introducing an application into a computer. The installer format application data includes various setting files in addition to the application data. When the installer application is executed, files such as programs and data used by the application are copied to the hard disk of the user terminal 120 and necessary settings are made.

前述のようにコンテンツ配信者110から配信されるコンテンツは、暗号化処理プログラムによって暗号化されているが、コンテンツがインストーラ形式のアプリケーションである場合、ユーザ端末120は、暗号化されたコンテンツを復号化してインストール処理をおこなう。このとき、アプリケーションで用いられるプログラムやデータなどのファイルがユーザ端末120のハードディスクなどにコピーされる。   As described above, the content distributed from the content distributor 110 is encrypted by the encryption processing program. When the content is an application in the installer format, the user terminal 120 decrypts the encrypted content. To install. At this time, files such as programs and data used in the application are copied to the hard disk of the user terminal 120.

コンテンツ保護システム100は、ユーザ端末120のハードディスクなどにコピーされたデータや、アプリケーションの設定情報が不正利用されるのを防止するため、アプリケーションのインストール時に、アプリケーションデータを自動的に暗号化する。これにより、コンテンツを利用するユーザ端末120の負担を軽減しつつ、インストーラ形式のアプリケーションの不正利用を防止することができる。   The content protection system 100 automatically encrypts application data when installing an application in order to prevent unauthorized use of data copied to a hard disk or the like of the user terminal 120 or application setting information. As a result, it is possible to prevent unauthorized use of the installer application while reducing the burden on the user terminal 120 that uses the content.

(ユーザ端末120の機能的構成)
つぎに、コンテンツ配信者110によって配信されるコンテンツを利用するユーザ端末120の機能的構成について説明する。図2は、ユーザ端末の機能的構成を示すブロック図である。ユーザ端末120は、検知部201、ファイル取得部202、暗号化部203、書込部204、記録部205、インストーラ取得部206、復号化部207によって構成される。
(Functional configuration of user terminal 120)
Next, a functional configuration of the user terminal 120 that uses content distributed by the content distributor 110 will be described. FIG. 2 is a block diagram illustrating a functional configuration of the user terminal. The user terminal 120 includes a detection unit 201, a file acquisition unit 202, an encryption unit 203, a writing unit 204, a recording unit 205, an installer acquisition unit 206, and a decryption unit 207.

検知部201は、インストーラ210によるアプリケーションのインストール処理中に、インストールするファイルの記録部205への書込処理の開始を検知する。具体的には、インストール処理中にファイルI/Oが発生したかを検知する。   The detection unit 201 detects the start of the writing process of the file to be installed in the recording unit 205 during the application installation process by the installer 210. Specifically, it is detected whether a file I / O has occurred during the installation process.

ファイル取得部202は、検知部201によって書込処理の開始が検知された場合、書込前のファイルを取得する。ファイル取得部202は、たとえば、インストール処理で用いられるAPIをフックするモジュールによってファイルを取得する。このモジュールは、たとえば、アプリケーションがインストールされる端末のオペレーションシステムが有する汎用モジュールである。   When the detection unit 201 detects the start of the writing process, the file acquisition unit 202 acquires a file before writing. The file acquisition unit 202 acquires a file by, for example, a module that hooks an API used in the installation process. This module is, for example, a general-purpose module included in an operation system of a terminal where an application is installed.

暗号化部203は、ファイル取得部202によって取得されたファイルを暗号化する。暗号化部203は、たとえば、ファイルの種類に基づいてファイルを暗号化する。たとえば、インストール時に暗号化するか否かを、ファイルの種類によって設定することができる。   The encryption unit 203 encrypts the file acquired by the file acquisition unit 202. For example, the encryption unit 203 encrypts the file based on the file type. For example, whether to encrypt at the time of installation can be set according to the file type.

書込部204は、暗号化部203によって暗号化された暗号化ファイルを記録部205に書込む。書込部204は、暗号化ファイルにアプリケーションの実行が指示された際に後述する復号化部207を起動させる起動コマンドを含むデータを埋め込む。   The writing unit 204 writes the encrypted file encrypted by the encryption unit 203 into the recording unit 205. The writing unit 204 embeds data including an activation command that activates a later-described decryption unit 207 when an execution of an application is instructed in the encrypted file.

記録部205は、インストールされるアプリケーションのファイルを記録する。記録部205は、たとえば、アプリケーションがインストールされる端末のハードディスクである。   The recording unit 205 records an application file to be installed. The recording unit 205 is, for example, a hard disk of a terminal where an application is installed.

インストーラ取得部206は、アプリケーションのインストーラを取得する。インストーラ取得部206は、たとえば、暗号化されたインストーラ210をネットワーク140を介してコンテンツ配信者110から取得する。また、インストーラ取得部206は、たとえば、コンテンツを記録した記録媒体を読み取ることによって、インストーラを取得することとしてもよい。   The installer acquisition unit 206 acquires an application installer. For example, the installer acquisition unit 206 acquires the encrypted installer 210 from the content distributor 110 via the network 140. Further, the installer acquisition unit 206 may acquire the installer, for example, by reading a recording medium on which content is recorded.

復号化部207は、暗号化部203によって暗号化された暗号化ファイルを復号化する。復号化部207は、アプリケーションの実行時に暗号化ファイルを復号化し、復号化された暗号化ファイルをアプリケーションの終了時に消去する。   The decryption unit 207 decrypts the encrypted file encrypted by the encryption unit 203. The decryption unit 207 decrypts the encrypted file when the application is executed, and deletes the decrypted encrypted file when the application ends.

(ユーザ端末120のハードウェア構成)
つぎに、ユーザ端末120のハードウェア構成について説明する。図3は、ユーザ端末のハードウェア構成を示すブロック図である。図3において、ユーザ端末120は、CPU301と、ROM302と、RAM303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、音声I/F(インターフェース)308と、マイク309と、スピーカ310と、入力デバイス311と、映像I/F312と、ディスプレイ313と、通信I/F(インターフェース)314と、を備えている。また、各構成部301〜314はバス320によってそれぞれ接続されている。
(Hardware configuration of user terminal 120)
Next, the hardware configuration of the user terminal 120 will be described. FIG. 3 is a block diagram illustrating a hardware configuration of the user terminal. In FIG. 3, the user terminal 120 includes a CPU 301, a ROM 302, a RAM 303, a magnetic disk drive 304, a magnetic disk 305, an optical disk drive 306, an optical disk 307, an audio I / F (interface) 308, and a microphone 309. A speaker 310, an input device 311, a video I / F 312, a display 313, and a communication I / F (interface) 314. Each component 301 to 314 is connected by a bus 320.

まず、CPU301は、ユーザ端末120の全体の制御を司る。ROM302は、ブートプログラム、通信プログラム、データ解析プログラムなどのプログラムを記録している。また、RAM303は、CPU301のワークエリアとして使用される。   First, the CPU 301 governs overall control of the user terminal 120. The ROM 302 records programs such as a boot program, a communication program, and a data analysis program. The RAM 303 is used as a work area for the CPU 301.

磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータの読取り/書込みを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書込まれたデータを記録する。磁気ディスク305としては、たとえば、HD(ハードディスク)やFD(フレキシブルディスク)を用いることができる。   The magnetic disk drive 304 controls the reading / writing of the data with respect to the magnetic disk 305 according to control of CPU301. The magnetic disk 305 records data written under the control of the magnetic disk drive 304. As the magnetic disk 305, for example, an HD (hard disk) or an FD (flexible disk) can be used.

光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータの読み取り/書込みを制御する。光ディスク307は、光ディスクドライブ306の制御にしたがってデータの読み出される着脱自在な記録媒体である。光ディスク307は、書込み可能な記録媒体を利用することもできる。また、この着脱可能な記録媒体として、光ディスク307のほか、MO、メモリカードなどであってもよい。   The optical disk drive 306 controls the reading / writing of the data with respect to the optical disk 307 according to control of CPU301. The optical disk 307 is a detachable recording medium from which data is read according to the control of the optical disk drive 306. As the optical disc 307, a writable recording medium can be used. In addition to the optical disk 307, the removable recording medium may be an MO, a memory card, or the like.

音声I/F308は、音声入力用のマイク309および音声出力用のスピーカ310に接続される。マイク309に受音された音声は、音声I/F308内でA/D変換される。また、スピーカ310からは音声が出力される。また、入力デバイス311は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、マウス、タッチパネルなどが挙げられる。   The audio I / F 308 is connected to a microphone 309 for audio input and a speaker 310 for audio output. The sound received by the microphone 309 is A / D converted in the sound I / F 308. In addition, sound is output from the speaker 310. Examples of the input device 311 include a remote controller including a plurality of keys for inputting characters, numerical values, various instructions, a keyboard, a mouse, a touch panel, and the like.

映像I/F312は、ディスプレイ313と接続される。映像I/F312は、具体的には、たとえば、ディスプレイ313全体の制御をおこなうグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するVRAM(Video RAM)などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいて、ディスプレイ313を表示制御する制御ICなどによって構成される。   The video I / F 312 is connected to the display 313. Specifically, the video I / F 312 includes, for example, a graphic controller that controls the entire display 313, a buffer memory such as a VRAM (Video RAM) that temporarily records image information that can be displayed immediately, and a graphic controller. Based on the output image data, the display 313 is configured by a control IC or the like.

ディスプレイ313には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。このディスプレイ313は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   The display 313 displays icons, cursors, menus, windows, or various data such as characters and images. As the display 313, for example, a CRT, a TFT liquid crystal display, a plasma display, or the like can be adopted.

通信I/F314は、ネットワーク140に接続され、CPU301とのインターフェースとして機能する。ユーザ端末120は、通信I/F314を介してコンテンツ配信者110からコンテンツの配信を受けている。   The communication I / F 314 is connected to the network 140 and functions as an interface with the CPU 301. The user terminal 120 receives content distribution from the content distributor 110 via the communication I / F 314.

(コンテンツ保護システム100によるコンテンツ配信処理)
つづいて、コンテンツ保護システム100によるコンテンツ配信処理の概要について説明する。コンテンツ保護システム100では、コンテンツ作成者130によって作成されたコンテンツを、コンテンツ配信者110によってユーザ端末120に配布する。以下、コンテンツ保護システム100によるコンテンツ配信処理の概要について説明する。
(Content distribution processing by content protection system 100)
Next, an outline of content distribution processing by the content protection system 100 will be described. In the content protection system 100, the content created by the content creator 130 is distributed to the user terminal 120 by the content distributor 110. Hereinafter, an outline of content distribution processing by the content protection system 100 will be described.

図4は、コンテンツ配信者によるコンテンツ配信処理の手順を示すフローチャートである。図4のフローチャートにおいて、コンテンツ配信者110は、まず、コンテンツ作成者130からコンテンツデータを受信する(ステップS401)。   FIG. 4 is a flowchart showing a procedure of content distribution processing by the content distributor. In the flowchart of FIG. 4, the content distributor 110 first receives content data from the content creator 130 (step S401).

つぎに、コンテンツ配信者110は、ライセンス設定および暗号化するコンテンツのID(コンテンツID、たとえばコンテンツフォルダ名)を決定する(ステップS402)。ここで、ライセンス設定には、コンテンツの利用期間やタイムサーバ(NTP)の利用の有無などの情報が含まれている。コンテンツの利用期間は、ユーザ端末120がコンテンツを購入(ダウンロード)してからの経過日時によって規定してもよいし、年月日によって規定してもよい。また、利用期間を無制限としてもよい。さらに、利用期間の日時判定を、ユーザ端末120に設けられた時計ではなく、タイムサーバの時間で判定をおこなうこととしてもよい。コンテンツ配信者110は、これらのライセンス設定をライセンス設定ファイルに記録する。   Next, the content distributor 110 determines the license setting and the ID (content ID, eg, content folder name) of the content to be encrypted (step S402). Here, the license setting includes information such as a content usage period and whether or not a time server (NTP) is used. The content use period may be defined by the elapsed date and time after the user terminal 120 purchases (downloads) the content, or may be defined by the date. Also, the usage period may be unlimited. Furthermore, the date and time determination of the usage period may be performed based on the time of the time server instead of the clock provided in the user terminal 120. The content distributor 110 records these license settings in the license setting file.

つづいて、コンテンツ配信者110は、ライセンス設定ファイルおよびコンテンツIDに基づいてライセンス管理サーバ110cによって生成されたライセンスキーを用いてコンテンツデータを暗号化し(ステップS403)、コンテンツサーバ110bに暗号化したコンテンツをアップロードする(ステップS404)。具体的には、暗号化したコンテンツデータを圧縮ソフトで圧縮するなどして、コンテンツサーバ110bにアップロードする。   Subsequently, the content distributor 110 encrypts the content data using the license key generated by the license management server 110c based on the license setting file and the content ID (step S403), and the encrypted content is stored in the content server 110b. Upload (step S404). Specifically, the encrypted content data is uploaded to the content server 110b by compressing it with compression software.

コンテンツ配信者110は、コンテンツサーバ110bにアップロードしたコンテンツが購入されるまで待機する(ステップS405:Noのループ)。コンテンツが購入されると(ステップS405:Yes)、コンテンツを購入したユーザ端末120との間で購入処理をおこなう(ステップS406)。ここで、購入処理とは、たとえば、クレジットカードなどによるコンテンツ利用料金の支払い処理やユーザ登録処理などである。   The content distributor 110 waits until the content uploaded to the content server 110b is purchased (step S405: No loop). When the content is purchased (step S405: Yes), purchase processing is performed with the user terminal 120 that has purchased the content (step S406). Here, the purchase processing is, for example, content usage fee payment processing or user registration processing using a credit card or the like.

つぎに、コンテンツ配信者110は、コンテンツを購入したユーザ端末120がコンテンツ配信者110からコンテンツを購入するのが初めてか(初回購入か)否かを判断する(ステップS407)。初回購入の場合は(ステップS407:Yes)、コンテンツデータの復号化アプリケーションを送信する(ステップS408)。復号化アプリケーションには、ライセンス管理サーバ110cからライセンスキーを取得するライセンスキー取得モジュールが組み込まれている。なお、復号化アプリケーションとライセンスキー取得モジュールは、別個のアプリケーションとして送信してもよい。   Next, the content distributor 110 determines whether or not the user terminal 120 that has purchased the content is the first time to purchase content from the content distributor 110 (first time purchase) (step S407). In the case of the first purchase (step S407: Yes), a content data decryption application is transmitted (step S408). The decryption application incorporates a license key acquisition module that acquires a license key from the license management server 110c. Note that the decryption application and the license key acquisition module may be transmitted as separate applications.

なお、ユーザ端末120が購入したコンテンツがインストーラ形式のアプリケーションである場合は、復号化アプリケーションと合わせてインストール監視プログラムを送信する。インストール監視プログラムは、ユーザ端末120へのアプリケーションのインストール処理を監視し、アプリケーション内のデータを暗号化して、ユーザ端末120に記録する。一方、初回購入ではない場合は(ステップS407:No)、ステップS409に移行する。   If the content purchased by the user terminal 120 is an installer application, an installation monitoring program is transmitted together with the decryption application. The installation monitoring program monitors application installation processing on the user terminal 120, encrypts data in the application, and records the encrypted data in the user terminal 120. On the other hand, if it is not the first purchase (step S407: No), the process proceeds to step S409.

そして、コンテンツ配信者110は、暗号化されたコンテンツデータをユーザ端末120に送信して(ステップS409)、本フローチャートによる処理を終了する。   Then, the content distributor 110 transmits the encrypted content data to the user terminal 120 (step S409), and ends the processing according to this flowchart.

つぎに、ユーザ端末120によるコンテンツ取得処理について説明する。図5は、ユーザ端末によるコンテンツ取得処理の手順を示すフローチャートである。図5のフローチャートにおいて、ユーザ端末120は、コンテンツ配信者110からコンテンツを購入するか否かを判断し(ステップS501)、コンテンツを購入する場合は(ステップS501:Yes)、コンテンツサーバ110bとの間で購入処理をおこなう(ステップS502)。   Next, content acquisition processing by the user terminal 120 will be described. FIG. 5 is a flowchart showing a procedure of content acquisition processing by the user terminal. In the flowchart of FIG. 5, the user terminal 120 determines whether or not to purchase content from the content distributor 110 (step S501). When purchasing content (step S501: Yes), the user terminal 120 is connected to the content server 110b. The purchase process is performed (step S502).

ユーザ端末120がコンテンツ配信者110から初めてコンテンツを購入する(初回購入)場合は(ステップS503:Yes)、コンテンツ配信者110から送信される復号化アプリケーションを受信し、インストールする(ステップS504)。ここで、復号化アプリケーションには、インストーラ形式のアプリケーションのインストール処理を監視するインストール監視プログラムが組み込まれている。復号化アプリケーションとインストール監視プログラムは、別個のプログラム(アプリケーション)として受信してもよい。一方、初回購入でない場合は(ステップS503:No)、ステップS505に移行する。   When the user terminal 120 purchases content for the first time from the content distributor 110 (first purchase) (step S503: Yes), the decryption application transmitted from the content distributor 110 is received and installed (step S504). Here, the decryption application incorporates an installation monitoring program for monitoring the installation processing of the installer application. The decryption application and the installation monitoring program may be received as separate programs (applications). On the other hand, if it is not the first purchase (step S503: No), the process proceeds to step S505.

つぎに、ユーザ端末120は、コンテンツ配信者110から、暗号化されたコンテンツデータを受信する(ステップS505)。ユーザ端末120が購入したコンテンツがインストーラ形式のアプリケーションである場合は、インストール監視プログラムを実行し、購入したアプリケーションをインストールする。このとき、ユーザ端末120にコピーされるアプリケーションデータは、自動的に暗号化される。   Next, the user terminal 120 receives the encrypted content data from the content distributor 110 (step S505). If the content purchased by the user terminal 120 is an application in the installer format, the installation monitoring program is executed to install the purchased application. At this time, the application data copied to the user terminal 120 is automatically encrypted.

受信したコンテンツを利用する場合は(ステップS506:Yes)、ステップS504でインストールした復号化アプリケーションのライセンスキー取得モジュールによって、ライセンス管理サーバ110cからライセンスキーを取得する(ステップS507)。コンテンツの利用とは、たとえば、コンテンツが画像や動画であれば画像や動画の閲覧、アプリケーションであればアプリケーションの実行などである。なお、ライセンスキーを取得すると、端末固有の識別子で暗号化してユーザ端末120に登録される。ライセンスキーを利用するためには、ユーザ端末120の端末固有の識別子が必要となるため、他の端末ではコンテンツを復号化することができない。   When using the received content (step S506: Yes), the license key acquisition module of the decryption application installed in step S504 acquires the license key from the license management server 110c (step S507). The use of content is, for example, browsing of an image or video if the content is an image or video, or executing an application if the content is an application. When the license key is acquired, it is encrypted with a terminal-specific identifier and registered in the user terminal 120. In order to use the license key, a terminal-specific identifier of the user terminal 120 is required, and therefore the content cannot be decrypted by other terminals.

そして、ライセンスキーによってコンテンツデータを復号化した上で(ステップS508)、復号化アプリケーション上でコンテンツを利用して(ステップS509)、本フローチャートによる処理を終了する。   Then, after decrypting the content data with the license key (step S508), the content is used on the decryption application (step S509), and the processing according to this flowchart is terminated.

このとき、復号化アプリケーションは、ライセンスキーを利用して暗号化されたコンテンツデータを復号するが、ライセンスキーに設定された利用期間が経過している場合は、エラーメッセージを表示し、コンテンツデータの復号化を中止する。また、コンテンツの利用中は、キャプチャ防止などの保護プログラムによってコンテンツを保護する。そして、コンテンツの利用を終了する(復号化アプリケーションを終了する)と、復号化されたコンテンツデータは削除され、ユーザ端末120の記録領域上には残らない。   At this time, the decryption application decrypts the encrypted content data using the license key. If the usage period set in the license key has elapsed, an error message is displayed and the content data Stop decryption. In addition, while using the content, the content is protected by a protection program such as capture prevention. Then, when the use of the content is terminated (the decryption application is terminated), the decrypted content data is deleted and does not remain on the recording area of the user terminal 120.

また、復号化アプリケーションは、コンテンツをダウンロードしたユーザ端末120の端末から、他の端末にコンテンツをコピーまたは移動した場合、エラーメッセージを表示してコンテンツの復号化をおこなわない。これは、ライセンスキーをユーザ端末120に登録する際に、端末固有の識別子で暗号化して登録するためである。ライセンスキーを利用するためには、ユーザ端末120の端末固有の識別子が必要となるため、他の端末ではコンテンツを復号化することができない。   Also, when the content is copied or moved from the terminal of the user terminal 120 that has downloaded the content to another terminal, the decryption application displays an error message and does not decrypt the content. This is because when the license key is registered in the user terminal 120, the license key is encrypted and registered with an identifier unique to the terminal. In order to use the license key, a terminal-specific identifier of the user terminal 120 is required, and therefore the content cannot be decrypted by other terminals.

また、ユーザ端末120の端末の日付と時間を、前回コンテンツを利用した日時よりも過去に日付と時間をバックデートした場合、エラーメッセージを表示してコンテンツの復号化をおこなわない。   Further, when the date and time of the terminal of the user terminal 120 are back dated in the past from the date and time when the previous content was used, an error message is displayed and the content is not decrypted.

以上のような処理により、コンテンツ保護システム100は、正当にコンテンツを購入したユーザ端末120以外によるコンテンツの不正利用を防止している。ここで、配布するコンテンツがインストーラ形式のアプリケーションである場合、アプリケーションのインストール時に、一旦復号化したアプリケーションデータを再度暗号化してユーザ端末120のハードディスクに記録する必要がある。   Through the processing as described above, the content protection system 100 prevents unauthorized use of content by a user other than the user terminal 120 that has purchased the content. Here, when the content to be distributed is an installer application, it is necessary to encrypt the application data once decrypted and record it on the hard disk of the user terminal 120 when the application is installed.

このため、コンテンツ保護システム100は、アプリケーションのインストール時に、API(Application Program Interface)を検出(フック)するモジュールによって、インストールされるアプリケーションデータを動的に暗号化して、インストーラ形式のアプリケーションの保護を図ることとしている。ここで、APIとは、所定のプラットフォーム(オペレーションシステムやミドルウェア)向けのソフトウェアを開発する際に使用できる命令や関数の集合のこと。また、それらを利用するためのプログラム上の手続きを定めた規約の集合である。APIをフックするモジュールには、たとえば、DLL(Dynamic Link Library)やexeファイルなどがある。以下、本実施の形態では、APIをフックするモジュールとして、APIフックDLLを用いる場合について説明する。   Therefore, the content protection system 100 dynamically encrypts installed application data by a module that detects (hooks) an API (Application Program Interface) when installing an application, thereby protecting the installer-type application. I am going to do that. Here, the API is a set of instructions and functions that can be used when developing software for a predetermined platform (operation system or middleware). In addition, it is a set of rules that define the program procedures for using them. Examples of the module that hooks the API include DLL (Dynamic Link Library) and an exe file. Hereinafter, in the present embodiment, a case where an API hook DLL is used as a module for hooking an API will be described.

(インストーラ形式のアプリケーションの配信処理)
つづいて、インストーラ形式のアプリケーション(以下、インストーラという)を配信する際のコンテンツ保護システム100の処理の詳細について説明する。以下では、コンテンツ配信者110によるコンテンツの暗号化処理(図4のステップS403参照)、ユーザ端末120によるインストーラを用いたアプリケーションのインストール処理、ユーザ端末120によるアプリケーションの利用時の処理(図5のステップS508,S509参照)について説明する。
(Installer application distribution process)
Next, details of processing of the content protection system 100 when distributing an installer application (hereinafter referred to as an installer) will be described. In the following, content encryption processing by the content distributor 110 (see step S403 in FIG. 4), application installation processing using the installer by the user terminal 120, processing when using the application by the user terminal 120 (step in FIG. 5) S508 and S509 will be described.

(コンテンツデータの暗号化)
図6は、コンテンツ配信者によるコンテンツの暗号化処理の手順を示すフローチャートである。以下、説明の便宜上、コンテンツはインストーラ形式のアプリケーションまたは通常のアプリケーションのいずれかであるものとする。図6のフローチャートにおいて、コンテンツ配信者110は、暗号化処理端末110aの暗号化処理プログラムを起動し、ハードディスクなどに記録されているコンテンツフォルダ(コンテンツデータ)を読み込む(ステップS601)。ここで、暗号化処理プログラムには、優先する暗号化モードが設定されている。暗号化モードには、通常のアプリケーション(たとえば、インストーラ形式ではないアプリケーションなど)を暗号化するモード(以下、アプリケーションモードという)、および、インストーラ形式のアプリケーションを暗号化するモード(以下、インストーラモードという)の2種類がある。
(Content data encryption)
FIG. 6 is a flowchart showing a procedure of content encryption processing by the content distributor. Hereinafter, for convenience of explanation, it is assumed that the content is either an installer application or a normal application. In the flowchart of FIG. 6, the content distributor 110 activates the encryption processing program of the encryption processing terminal 110a and reads a content folder (content data) recorded on a hard disk or the like (step S601). Here, a priority encryption mode is set in the encryption processing program. The encryption mode includes a mode for encrypting a normal application (for example, an application not in the installer format) (hereinafter referred to as an application mode), and a mode for encrypting an installer format application (hereinafter referred to as an installer mode). There are two types.

より詳細には、アプリケーションモードは、実行ファイル(exeファイル)をアプリケーションとして優先処理する。優先暗号化モードがアプリケーションモードに設定されている場合、コンテンツフォルダ内にexeファイルが存在すると、そのコンテンツはアプリケーションであると認識され、暗号化されたexeファイルにはアプリケーション起動プログラムが埋め込まれる。   More specifically, the application mode preferentially processes an execution file (exe file) as an application. When the priority encryption mode is set to the application mode, if an exe file exists in the content folder, the content is recognized as an application, and an application activation program is embedded in the encrypted exe file.

また、インストーラモードは、exeファイルをインストーラとして優先処理する。優先暗号化モードがインストーラモードに設定されている場合、コンテンツフォルダ内にexeファイルが存在すると、そのコンテンツはインストーラであると認識され、暗号化されたexeファイルにはインストーラ起動プログラムが埋め込まれる。   In the installer mode, the exe file is preferentially processed as an installer. When the priority encryption mode is set to the installer mode, if an exe file exists in the content folder, the content is recognized as an installer, and an installer activation program is embedded in the encrypted exe file.

また、暗号化処理端末110aは、コンテンツフォルダ内に暗号化設定ファイルが存在する場合には、暗号化設定ファイルを読み込む(ステップS602)。ここで、暗号化設定ファイルは、コンテンツごとの暗号化モードを設定する。具体的には、暗号化モードをアプリケーションモードとするかインストーラモードとするかを定義する。また、この他に、後述するインストールの監視処理の際に、暗号化をおこなわないファイル(非暗号化ファイル)の定義や、アンインストーラプログラム名、アプリケーション起動プログラム名などが定義されている。   In addition, when there is an encryption setting file in the content folder, the encryption processing terminal 110a reads the encryption setting file (step S602). Here, the encryption setting file sets the encryption mode for each content. Specifically, it is defined whether the encryption mode is the application mode or the installer mode. In addition to this, a definition of a file (non-encrypted file) that is not encrypted, an uninstaller program name, an application activation program name, and the like are defined in the installation monitoring process described later.

つぎに、暗号化処理端末110aは、ライセンス管理サーバ110cからライセンスキーを取得する(ステップS603)。そして、ステップS601で読み込んだコンテンツフォルダからファイルを検索し(ステップS604)、ステップS603で取得したライセンスキーで暗号化する(ステップS605)。   Next, the encryption processing terminal 110a acquires a license key from the license management server 110c (step S603). Then, the file is searched from the content folder read in step S601 (step S604), and encrypted with the license key acquired in step S603 (step S605).

つづいて、暗号化処理端末110aは、ステップS605で暗号化したファイルがexeファイルであるか否かを判断する(ステップS606)。exeファイルである場合は(ステップS606:Yes)、暗号化設定ファイルに設定された暗号化モードがインストーラモードか否かを判断する(ステップS607)。インストーラモードである場合は(ステップS607:Yes)、暗号化したファイルにインストーラ起動プログラムを埋め込む(ステップS608)。また、暗号化設定ファイルを暗号化する(ステップS609)。   Subsequently, the encryption processing terminal 110a determines whether or not the file encrypted in step S605 is an exe file (step S606). If it is an exe file (step S606: Yes), it is determined whether or not the encryption mode set in the encryption setting file is the installer mode (step S607). If the installer mode is selected (step S607: Yes), the installer activation program is embedded in the encrypted file (step S608). Also, the encryption setting file is encrypted (step S609).

ここで、インストーラ起動プログラムとは、ユーザ端末120にインストールされているインストーラ監視プログラムを起動するプログラムである。詳細は後述するが、インストーラ監視プログラムは、アプリケーションのインストール処理の監視をおこなう。具体的には、インストーラ監視プログラムは、インストーラに対してインストーラAPIフックDLLを組み込み、インストーラの終了までプロセスの監視をおこなう。   Here, the installer activation program is a program that activates an installer monitoring program installed in the user terminal 120. Although details will be described later, the installer monitoring program monitors application installation processing. Specifically, the installer monitoring program incorporates an installer API hook DLL into the installer and monitors the process until the installer is finished.

一方、ステップS607において、暗号化設定ファイルに設定された暗号化モードがインストーラモードではない場合(ステップS607:No)、すなわち、暗号化モードがアプリケーションモードである場合は、暗号化したファイルにアプリケーション起動プログラムを埋め込み(ステップS610)、ステップS609に移行する。   On the other hand, in step S607, if the encryption mode set in the encryption setting file is not the installer mode (step S607: No), that is, if the encryption mode is the application mode, the application is activated in the encrypted file. The program is embedded (step S610), and the process proceeds to step S609.

ここで、アプリケーション起動プログラムとは、ユーザ端末120にインストールされている復号化アプリケーションを起動するプログラムである。アプリケーション起動プログラムは、暗号化されたアプリケーションの実行が指示された場合(たとえば、暗号化されたアプリケーションを示すアイコンがダブルクリックされた場合など)に起動し、復号化アプリケーションを起動させる。詳細は後述するが、復号化アプリケーションは、暗号化されたアプリケーションデータを復号化し、アプリケーションを実行可能とする。   Here, the application activation program is a program that activates the decryption application installed in the user terminal 120. The application activation program is activated when an execution of the encrypted application is instructed (for example, when an icon indicating the encrypted application is double-clicked), and activates the decryption application. Although details will be described later, the decryption application decrypts the encrypted application data and enables the application to be executed.

暗号化処理端末110aは、コンテンツフォルダ内に暗号化していないファイルがあるか否かを判断し(ステップS611)、暗号化されていないファイルがある場合は(ステップS611:Yes)、ステップS604に戻り、以降の処理を継続する。一方、暗号化していないファイルがない場合は(ステップS611:No)、暗号化していないフォルダがあるか否かを判断する(ステップS612)。   The encryption processing terminal 110a determines whether or not there is an unencrypted file in the content folder (step S611). If there is an unencrypted file (step S611: Yes), the process returns to step S604. The subsequent processing is continued. On the other hand, if there is no unencrypted file (step S611: No), it is determined whether there is an unencrypted folder (step S612).

暗号化していないフォルダがある場合は(ステップS612:Yes)、ステップS601に戻り、以降の処理を継続する。一方、暗号化していないフォルダがない場合は(ステップS612:No)、暗号化処理の結果を表示して(ステップS613)、本フローチャートの処理を終了する。   If there is an unencrypted folder (step S612: Yes), the process returns to step S601 and the subsequent processing is continued. On the other hand, if there is no unencrypted folder (step S612: No), the result of the encryption process is displayed (step S613), and the process of this flowchart is terminated.

(アプリケーションのインストール処理)
つぎに、ユーザ端末120によるインストーラを用いたアプリケーションのインストール処理について説明する。図7は、ユーザ端末によるアプリケーションのインストール処理の手順を示すフローチャートである。ユーザ端末120は、あらかじめコンテンツ配信者110から暗号化されたインストーラを受信している(図5のステップS505参照)。
(Application installation process)
Next, application installation processing using an installer by the user terminal 120 will be described. FIG. 7 is a flowchart showing a procedure of application installation processing by the user terminal. The user terminal 120 has received the encrypted installer from the content distributor 110 in advance (see step S505 in FIG. 5).

図7のフローチャートにおいて、ユーザ端末120は、購入したコンテンツであるインストーラ形式のアプリケーションのインストールの指示があるまで待機する(ステップS701:Noのループ)。インストールの指示があったか否かは、たとえば、インストーラを示すアイコンをダブルクリックされたことを検知することによっておこなう。   In the flowchart of FIG. 7, the user terminal 120 stands by until there is an instruction to install an installer-type application that is purchased content (step S <b> 701: No loop). Whether or not there is an installation instruction is performed by detecting that an icon indicating an installer is double-clicked, for example.

インストールの指示があった場合は(ステップS701:Yes)、図6のステップS608で埋め込まれたインストーラ起動プログラムを起動し(ステップ702)、インストーラ監視プログラムを起動する(ステップS703)。このとき、インストーラ起動プログラムは、自己のファイルパスを引数としてインストーラ監視プログラムに渡す。また、インストーラ起動プログラムは、インストーラ監視プログラムを起動した後終了する。   If there is an installation instruction (step S701: Yes), the installer activation program embedded in step S608 of FIG. 6 is activated (step 702), and the installer monitoring program is activated (step S703). At this time, the installer activation program passes its file path as an argument to the installer monitoring program. The installer activation program is terminated after the installer monitoring program is activated.

インストーラ監視プログラムは、インストーラ起動プログラムから渡された引数を参照してライセンスの有無を判断し(ステップS704)、ライセンスがある場合は(ステップS704:Yes)、暗号化されているインストーラを復号化する(ステップS705)。一方、ライセンスがない場合は(ステップS704:No)、ステップS713に移行する。   The installer monitoring program refers to the argument passed from the installer activation program to determine whether or not there is a license (step S704), and if there is a license (step S704: Yes), decrypts the encrypted installer. (Step S705). On the other hand, when there is no license (step S704: No), the process proceeds to step S713.

ステップS705でインストーラを復号化した場合、インストーラ監視プログラムは、インストーラをサスペンドモードで起動するとともに(ステップS706)、インストーラによるインストール処理を監視する(ステップS707)。インストール処理の監視は、インストーラの処理が終了するまで継続する。   When the installer is decrypted in step S705, the installer monitoring program starts the installer in the suspend mode (step S706) and monitors the installation process by the installer (step S707). Monitoring of the installation process continues until the installer process ends.

つぎに、インストーラ起動プログラムは、起動したインストーラのプロセス内にAPIフックDLLをマッピングする(ステップS708)。ここで、APIフックDLLは、インストーラによるファイルI/OのAPIをフックし、インストールされるファイルの情報を取得する。また、暗号化設定ファイルの情報を元に、ファイルの暗号化やアプリケーション起動プログラム、インストーラ起動プログラムの埋め込みをおこなう。また、インストール中のファイルについても、アクセス制限をおこなう。   Next, the installer activation program maps the API hook DLL in the process of the activated installer (step S708). Here, the API hook DLL hooks the API of the file I / O by the installer and acquires information on the file to be installed. Further, based on the information of the encryption setting file, file encryption, application start program, and installer start program are embedded. Also, restrict access to files being installed.

図8は、APIフックDLLによってフックされるAPIを示す図表である。図8の図表は、フックされるAPI名801、各APIのオリジナルの処理内容802、各APIの実際の処理内容803が示されている。また、APIフックDLLは、インストーラのファイルI/Oをフックして取得されたファイルのパス情報などを、リスト情報として内部に保持する。   FIG. 8 is a chart showing an API hooked by the API hook DLL. The chart of FIG. 8 shows an API name 801 to be hooked, an original processing content 802 of each API, and an actual processing content 803 of each API. In addition, the API hook DLL holds, as list information, file path information obtained by hooking the file I / O of the installer.

インストーラ起動プログラムは、インストーラのプロセス内にAPIフックDLLを組み込んだ後、インストーラのサスペンド状態を解除する(ステップS709)。具体的には、インストーラのサスペンド状態を解除する解除信号をインストーラに送付する。   The installer activation program releases the suspended state of the installer after incorporating the API hook DLL into the installer process (step S709). Specifically, a release signal for releasing the suspended state of the installer is sent to the installer.

インストーラ起動プログラムは、後述するようにAPIフックDLLからファイルリストの更新を指示する更新指示信号を受け取ると、ファイルリストを更新する(ステップS710)。そして、APIフックDLLの処理が正常に完了したことを示す処理完了信号を受け取り(ステップS711)、かつ、インストーラの処理が終了すると(ステップS712:Yes)、インストーラ起動プログラムはプログラムの終了処理をおこない(ステップS713)、本フローチャートによる処理を終了する。   When the installer activation program receives an update instruction signal instructing update of the file list from the API hook DLL as described later, the installer activation program updates the file list (step S710). Then, a process completion signal indicating that the process of the API hook DLL has been completed normally is received (step S711), and when the installer process ends (step S712: Yes), the installer activation program performs a program end process. (Step S713), the process according to this flowchart is terminated.

なお、APIフックDLLから処理完了信号を受け取らないままインストーラの処理が終了した場合は、インストーラが異常終了したものとして、インストーラが新規に作成したファイルを削除する。また、インストーラが既存のファイルに追加で書込をおこなっていた場合は、バックアップデータによって、ファイルを元の状態に復元する。   Note that if the installer process ends without receiving a process completion signal from the API hook DLL, the installer newly deletes the newly created file, assuming that the installer has ended abnormally. If the installer has additionally written to an existing file, the file is restored to the original state by the backup data.

つぎに、インストーラの処理について説明する。ステップS706の処理によってサスペンドモードで起動したインストーラは(ステップS721)、インストーラ監視プログラムによってサスペンドモードを解除する解除信号を受け取ると(ステップS722)、アプリケーションのインストール処理を開始する(ステップS723)。インストーラは、インストール処理の中でファイルI/Oが発生すると、APIフックDLLにファイルI/O発生信号を送付する(ステップS724)。   Next, the installer process will be described. When the installer activated in the suspend mode by the process of step S706 (step S721) receives a release signal for canceling the suspend mode by the installer monitoring program (step S722), the installation process of the application is started (step S723). When file I / O occurs during the installation process, the installer sends a file I / O generation signal to the API hook DLL (step S724).

アプリケーションのインストール処理が終了すると(ステップS725)、インストーラはプログラムの終了処理をおこない(ステップS726)、本フローチャートによる処理を終了する。この終了処理において、インストーラは、プログラムの終了処理の中でAPIフックDLLにDLLの解放信号を送付する。   When the application installation process ends (step S725), the installer performs a program end process (step S726), and ends the process according to this flowchart. In this termination process, the installer sends a DLL release signal to the API hook DLL during the program termination process.

つづいて、APIフックDLLの処理について説明する。ステップS708でインストーラのプロセス中に組み込まれたAPIフックDLLは、インストーラからファイルI/O発生信号が送付されると、ファイルI/Oをフックする(ステップS741)。そして、APIフックDLLは、インストールされるファイルを暗号化する(ステップS742)。   Next, processing of the API hook DLL will be described. When the file I / O generation signal is sent from the installer, the API hook DLL incorporated in the installer process in step S708 hooks the file I / O (step S741). Then, the API hook DLL encrypts the installed file (step S742).

インストールされるファイルの暗号化は、インストーラからファイルの書込みが発生したタイミングでおこなう。書込み先のファイルサイズが0であれば、暗号化管理モジュールに鍵を設定してデータの書込みをおこなう。一方、書込み先のファイルサイズが0でなければ、既存のファイルを暗号化後、暗号化管理モジュールに鍵を設定してデータの書込みをおこなう。また、異常終了した場合に備えて既存のファイルは作業領域にバックアップしておく。書込み先のファイルが既に暗号化されている場合には、そのまま書込み処理をおこなう。   Encryption of the file to be installed is performed at the timing when the file is written from the installer. If the file size of the write destination is 0, a key is set in the encryption management module and data is written. On the other hand, if the file size of the write destination is not 0, after encrypting the existing file, a key is set in the encryption management module and data is written. Also, existing files are backed up in the work area in case of abnormal termination. If the writing destination file has already been encrypted, the writing process is performed as it is.

また、インストールされたexeファイルと同一のディレクトリ、または、その配下のディレクトリに作成されるファイル以外のファイルは、非暗号化設定の対象にする。暗号化設定ファイルに、非暗号化設定対象として登録されているファイルに対しては、暗号化処理をおこなわない。また、レジストリ情報ファイルやショートカットファイル、ネットワークドライブなど、自装置以外の場所に作成されたファイルには、暗号化処理をおこなわない。   In addition, files other than the file created in the same directory as the installed exe file or a directory under the same directory are set as the target of non-encryption setting. Encryption processing is not performed for files registered as non-encryption setting targets in the encryption setting file. Also, encryption processing is not performed on files created in locations other than the device itself, such as registry information files, shortcut files, and network drives.

また、インストール中に作成されるファイルは、暗号化管理モジュールによってインストーラとインストーラ監視プログラムのプロセス以外から、アクセスできなくする。APIフックDLLによって、インストーラのファイルI/Oがフックされ、ユーザ端末120のディスクに書込みが発生した場合、このファイルには、アクセス制限がかけられる。これにより、インストール中に他のアプリケーションなどからコピーをおこなえないようにする。なお、レジストリ情報ファイルや自装置以外の場所に作成されたファイルには、アクセス制限をおこなわない。   Also, files created during installation are made inaccessible by the encryption management module from other than the installer and installer monitoring program processes. When the file I / O of the installer is hooked by the API hook DLL and writing to the disk of the user terminal 120 occurs, access restriction is applied to this file. This prevents copying from other applications during installation. Access restriction is not performed on registry information files or files created in locations other than the local device.

APIフックDLLは、インストーラ監視プログラムにファイルリストの更新を指示する更新指示信号を送付する(ステップS743)。インストーラから送付されたDLLの解放信号を受け取ると(ステップS744)、インストールしたexeファイルにアプリケーション起動プログラムを埋め込む(ステップS745)。アプリケーション起動プログラムは、暗号化されたアプリケーションの実行に必要な復号化アプリケーションを起動するプログラムである。   The API hook DLL sends an update instruction signal for instructing the installer monitoring program to update the file list (step S743). When the DLL release signal sent from the installer is received (step S744), the application activation program is embedded in the installed exe file (step S745). The application activation program is a program that activates a decryption application necessary for executing an encrypted application.

そして、インストーラ監視プログラムに、APIフックDLLの処理が完了したことを示す処理完了信号を送付して(ステップS746)、本フローチャートによる処理を終了する。   Then, a processing completion signal indicating that the processing of the API hook DLL is completed is sent to the installer monitoring program (step S746), and the processing according to this flowchart ends.

(アプリケーションの利用処理)
つぎに、ユーザ端末120によるアプリケーションの利用時の処理について説明する。図9は、ユーザ端末によるアプリケーションの利用時の処理の手順を示すフローチャートである。図9のフローチャートにおいて、ユーザ端末120は、インストールしたアプリケーションの実行指示があるまで待機する(ステップS901:Noのループ)。アプリケーションの実行指示は、たとえば、アプリケーションを示すアイコンをダブルクリックするなどによっておこなう。
(Application usage processing)
Next, processing when using the application by the user terminal 120 will be described. FIG. 9 is a flowchart illustrating a processing procedure when the application is used by the user terminal. In the flowchart of FIG. 9, the user terminal 120 stands by until there is an instruction to execute the installed application (step S901: No loop). An application execution instruction is given by, for example, double-clicking an icon indicating the application.

アプリケーションの実行指示があった場合(ステップS901:Yes)、アプリケーション起動プログラムを起動して(ステップS902)、アプリケーション起動プログラムによって復号化アプリケーションを起動させる(ステップS903)。復号化アプリケーションを起動させた後、アプリケーション起動プログラムは処理を終了する。   When there is an application execution instruction (step S901: Yes), the application activation program is activated (step S902), and the decryption application is activated by the application activation program (step S903). After activating the decryption application, the application activation program ends the process.

復号化アプリケーションは、ライセンス管理サーバ110cからライセンスキーを取得する(ステップS904)。ユーザ端末120にコンテンツを利用する権限がある場合は(ステップS905:Yes)、暗号化されているアプリケーションデータを復号化する(ステップS906)。一方、コンテンツを利用する権限がない場合は(ステップS905:No)、ステップS913に移行する。   The decryption application acquires a license key from the license management server 110c (step S904). If the user terminal 120 is authorized to use the content (step S905: Yes), the encrypted application data is decrypted (step S906). On the other hand, when there is no authority to use the content (step S905: No), the process proceeds to step S913.

ここで、アプリケーションデータの復号化について説明する。復号化アプリケーションは、ユーザ端末120の端末のハードディスク内に保護領域を作成し、保護領域内にアプリケーションデータを復号化する。復号化アプリケーションは、アプリケーションの実行が終了すると、保護領域ごと復号化したアプリケーションデータを削除して、端末内に復号化されたデータが残らないようにする。   Here, decryption of application data will be described. The decryption application creates a protection area in the hard disk of the user terminal 120 and decrypts the application data in the protection area. When the execution of the application is completed, the decryption application deletes the decrypted application data for each protection area so that the decrypted data does not remain in the terminal.

アプリケーションデータを復号化すると、復号化アプリケーションは、キャプチャ保護機能を起動する(ステップS907)。キャプチャ保護機能では、オペレーションシステム標準のプリントスクリーン機能や標準的な画面キャプチャ機能を制限して、画面がキャプチャされるのを防止する。たとえば、コンテンツ表示中に、Print Screenキーを押したのち、ペイントアプリケーションに貼り付けても、画面が取得されない。この機能は、Print Screenキーを無効にすることによって実現する。   When the application data is decrypted, the decryption application activates the capture protection function (step S907). The capture protection function restricts the operation system standard print screen function and standard screen capture function to prevent the screen from being captured. For example, even if the Print Screen key is pressed during content display and then pasted into a paint application, the screen is not acquired. This function is realized by disabling the Print Screen key.

また、たとえば、キャプチャ機能を持つソフトの起動を監視し、キャプチャソフト情報ファイルに登録されているキャプチャソフトが起動を検知した場合、キャプチャソフトを停止させる。キャプチャソフト情報ファイルは、キャプチャソフトを認識するための情報が記述されている。キャプチャソフト情報ファイルは、コンテンツ配信者110から常時最新のバージョンが配信され、最新のキャプチャソフトに対する保護をおこなう。   Also, for example, the activation of software having a capture function is monitored, and when the capture software registered in the capture software information file detects the activation, the capture software is stopped. The capture software information file describes information for recognizing the capture software. The latest version of the capture software information file is always distributed from the content distributor 110 to protect the latest capture software.

復号化アプリケーションは、アプリケーションの監視プロセスを起動して(ステップS908)、ステップS906で復号化したアプリケーションを起動する(ステップS909)。アプリケーションが終了するまでは(ステップS911:No)、キャプチャ保護およびアプリケーションの監視を継続し(ステップS910)、アプリケーションが終了すると(ステップS911:Yes)、復号したアプリケーションデータを削除する(ステップS912)。そして、復号化アプリケーションの終了処理をおこない(ステップS913)、本フローチャートによる処理を終了する。   The decryption application activates the application monitoring process (step S908), and activates the application decrypted in step S906 (step S909). Until the application is terminated (step S911: No), capture protection and application monitoring are continued (step S910). When the application is terminated (step S911: Yes), the decrypted application data is deleted (step S912). Then, decryption application termination processing is performed (step S913), and processing according to this flowchart is terminated.

以上説明したように、アプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムによれば、インストールするデータを書込む前に取得し、暗号化した上で記録部(ハードディスクなど)に書込む。これにより、アプリケーションがインストールされるユーザ端末120に記録されたアプリケーションのデータを保護し、不正利用を防止することができる。   As described above, according to the application protection device, the application protection method, and the application protection program, data to be installed is acquired before writing, encrypted, and written to a recording unit (such as a hard disk). Thereby, the application data recorded in the user terminal 120 where the application is installed can be protected and unauthorized use can be prevented.

また、アプリケーションがインストールされる端末のオペレーションシステムが有する、既存のモジュール(APIフックDLL)を用いてデータを取得するため、データの取得のために特別なモジュールを用意する必要がない。また、インストール処理のプロセス中にインストールするデータの暗号化をおこなうことができる。   In addition, since data is acquired using an existing module (API hook DLL) included in the operation system of the terminal in which the application is installed, it is not necessary to prepare a special module for acquiring data. Further, it is possible to encrypt the data to be installed during the installation process.

さらに、復号化アプリケーションを起動させるアプリケーション起動プログラムを、暗号化と同時にデータに埋め込む。これにより、アプリケーションを実行する際には、復号化アプリケーションが起動し、暗号化データを復号化してアプリケーションを実行することができる。また、アプリケーションの実行時に復号化した暗号化データを消去し、アプリケーションデータの不正利用を防止することができる。   Furthermore, an application activation program for activating the decryption application is embedded in the data simultaneously with the encryption. Thereby, when executing the application, the decryption application is activated, and the application can be executed by decrypting the encrypted data. In addition, the encrypted data decrypted when the application is executed can be erased to prevent unauthorized use of the application data.

なお、本実施の形態で説明したアプリケーション保護方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。   The application protection method described in this embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The program may be a transmission medium that can be distributed via a network such as the Internet.

以上のように、本発明にかかるアプリケーション保護装置、アプリケーション保護方法およびアプリケーション保護プログラムは、インストーラ形式のアプリケーションの配信に有用であり、特に、有料でのコンテンツ配信システムに適している。   As described above, the application protection apparatus, the application protection method, and the application protection program according to the present invention are useful for distributing an installer-type application, and are particularly suitable for a paid content distribution system.

コンテンツ保護システムのシステム構成を示す説明図である。It is explanatory drawing which shows the system configuration | structure of a content protection system. ユーザ端末の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of a user terminal. ユーザ端末のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of a user terminal. コンテンツ配信者によるコンテンツ配信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the content delivery process by a content distributor. ユーザ端末によるコンテンツ取得処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the content acquisition process by a user terminal. コンテンツ配信者によるコンテンツの暗号化処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the encryption process of the content by a content distributor. ユーザ端末によるアプリケーションのインストール処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the installation process of the application by a user terminal. APIフックDLLによってフックされるAPIを示す図表である。It is a graph which shows API hooked by API hook DLL. ユーザ端末によるアプリケーションの利用時の処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process at the time of utilization of the application by a user terminal.

符号の説明Explanation of symbols

100 コンテンツ保護システム
110 コンテンツ配信者
110a 暗号化処理端末
110b コンテンツサーバ
110c ライセンス管理サーバ
120a〜120c ユーザ端末
130 コンテンツ作成者
140 ネットワーク
201 検知部
202 ファイル取得部
203 暗号化部
204 書込部
205 記録部
206 インストーラ取得部
207 復号化部
210 インストーラ


DESCRIPTION OF SYMBOLS 100 Content protection system 110 Content distributor 110a Encryption processing terminal 110b Content server 110c License management server 120a-120c User terminal 130 Content creator 140 Network 201 Detection part 202 File acquisition part 203 Encryption part 204 Writing part 205 Recording part 206 Installer acquisition unit 207 Decryption unit 210 Installer


Claims (9)

アプリケーションのインストール処理中に、当該インストールするファイルの記録部への書込処理の開始を検知する検知手段と、
前記検知手段によって書込処理の開始が検知された場合、書込前の前記ファイルを取得するファイル取得手段と、
前記ファイル取得手段によって取得されたファイルを暗号化する暗号化手段と、
前記暗号化手段によって暗号化された暗号化ファイルを前記記録部に書込む書込手段と、
を備えることを特徴とするアプリケーション保護装置。
Detecting means for detecting the start of the writing process to the recording unit of the file to be installed during the installation process of the application;
A file acquisition unit that acquires the file before writing when the detection unit detects the start of a writing process;
Encryption means for encrypting the file acquired by the file acquisition means;
Writing means for writing the encrypted file encrypted by the encryption means to the recording unit;
An application protection device comprising:
前記ファイル取得手段は、
前記インストール処理で用いられるAPI(Application Program Interface)を検出するモジュールによって前記ファイルを取得することを特徴とする請求項1に記載のアプリケーション保護装置。
The file acquisition means
The application protection apparatus according to claim 1, wherein the file is acquired by a module that detects an API (Application Program Interface) used in the installation process.
前記ファイル取得手段は、
前記アプリケーションがインストールされる端末のオペレーションシステムが有する汎用モジュールによって前記ファイルを取得することを特徴とする請求項1または2に記載のアプリケーション保護装置。
The file acquisition means
The application protection apparatus according to claim 1, wherein the file is acquired by a general-purpose module included in an operation system of a terminal in which the application is installed.
前記暗号化手段は、
前記ファイルの種類に基づいて前記ファイルを暗号化することを特徴とする請求項1〜3のいずれか一つに記載のアプリケーション保護装置。
The encryption means includes
The application protection apparatus according to claim 1, wherein the file is encrypted based on the type of the file.
前記暗号化ファイルを復号化する復号化手段を備え、
前記書込手段は、
前記暗号化ファイルに前記アプリケーションの実行が指示された際に前記復号化手段を起動させる起動コマンドを含むデータを埋め込むことを特徴とする請求項1〜4のいずれか一つに記載のアプリケーション保護装置。
Decryption means for decrypting the encrypted file,
The writing means includes
5. The application protection apparatus according to claim 1, wherein data including a start command for starting the decryption unit when execution of the application is instructed in the encrypted file is embedded. .
前記復号化手段は、
前記アプリケーションの実行時に前記暗号化ファイルを復号化し、復号化された前記暗号化ファイルを前記アプリケーションの終了時に消去することを特徴とする請求項5に記載のアプリケーション保護装置。
The decoding means includes
The application protection apparatus according to claim 5, wherein the encrypted file is decrypted when the application is executed, and the decrypted encrypted file is deleted when the application is terminated.
前記アプリケーションのインストーラを取得するインストーラ取得手段を備え、
前記検知手段は、
前記インストーラによるインストール処理中に前記書込処理がおこなわれることを検知することを特徴とする請求項1〜6のいずれか一つに記載のアプリケーション保護装置。
An installer acquisition means for acquiring an installer of the application;
The detection means includes
The application protection apparatus according to claim 1, wherein the writing process is detected during the installation process by the installer.
アプリケーションのインストール処理中にファイルの書込処理がおこなわれることを検知する検知工程と、
前記検知工程で書込処理が検知された場合、前記ファイルを取得するファイル取得工程と、
前記ファイル取得工程で取得されたファイルを暗号化する暗号化工程と、
前記暗号化工程で暗号化された暗号化ファイルを前記書込処理による書込先に書込む書込工程と、
を含んだことを特徴とするアプリケーション保護方法。
A detection process for detecting that a file writing process is performed during the application installation process;
A file acquisition step of acquiring the file when a writing process is detected in the detection step;
An encryption step of encrypting the file acquired in the file acquisition step;
A writing step of writing the encrypted file encrypted in the encryption step into a writing destination by the writing process;
An application protection method comprising:
請求項8に記載のアプリケーション保護方法をコンピュータに実行させることを特徴とするアプリケーション保護プログラム。

An application protection program for causing a computer to execute the application protection method according to claim 8.

JP2006169039A 2006-06-19 2006-06-19 Application protection device, application protection method, and application protection program Pending JP2007334821A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006169039A JP2007334821A (en) 2006-06-19 2006-06-19 Application protection device, application protection method, and application protection program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006169039A JP2007334821A (en) 2006-06-19 2006-06-19 Application protection device, application protection method, and application protection program

Publications (1)

Publication Number Publication Date
JP2007334821A true JP2007334821A (en) 2007-12-27

Family

ID=38934211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006169039A Pending JP2007334821A (en) 2006-06-19 2006-06-19 Application protection device, application protection method, and application protection program

Country Status (1)

Country Link
JP (1) JP2007334821A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016004349A (en) * 2014-06-16 2016-01-12 富士通株式会社 Software information management program, software information management device, and software information management method
KR102446933B1 (en) * 2022-02-23 2022-09-26 프라이빗테크놀로지 주식회사 System for controlling transmission and reception of file of application and method thereof

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04184650A (en) * 1990-11-20 1992-07-01 Kobe Nippon Denki Software Kk Program protection system
JPH09251426A (en) * 1996-01-10 1997-09-22 Hitachi Ltd File ciphering system and its control method, and cipher file reception system and its control method
JP2002024037A (en) * 2000-07-03 2002-01-25 Nec Microsystems Ltd Method for updating dynamic link library file
JP2004280678A (en) * 2003-03-18 2004-10-07 Sony Corp Data processor and data processing method
JP2004309737A (en) * 2003-04-07 2004-11-04 Easy Systems Japan Kk Decoding key protection program and decoding key protection method
JP2005173197A (en) * 2003-12-11 2005-06-30 Buffalo Inc Encryption /decryption processing system and encryption/decryption processing apparatus
JP2006092149A (en) * 2004-09-22 2006-04-06 Nec System Technologies Ltd Document file copy movement monitoring system, method and program

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04184650A (en) * 1990-11-20 1992-07-01 Kobe Nippon Denki Software Kk Program protection system
JPH09251426A (en) * 1996-01-10 1997-09-22 Hitachi Ltd File ciphering system and its control method, and cipher file reception system and its control method
JP2002024037A (en) * 2000-07-03 2002-01-25 Nec Microsystems Ltd Method for updating dynamic link library file
JP2004280678A (en) * 2003-03-18 2004-10-07 Sony Corp Data processor and data processing method
JP2004309737A (en) * 2003-04-07 2004-11-04 Easy Systems Japan Kk Decoding key protection program and decoding key protection method
JP2005173197A (en) * 2003-12-11 2005-06-30 Buffalo Inc Encryption /decryption processing system and encryption/decryption processing apparatus
JP2006092149A (en) * 2004-09-22 2006-04-06 Nec System Technologies Ltd Document file copy movement monitoring system, method and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016004349A (en) * 2014-06-16 2016-01-12 富士通株式会社 Software information management program, software information management device, and software information management method
US9354862B2 (en) 2014-06-16 2016-05-31 Fujitsu Limited Apparatus and method for software information management
KR102446933B1 (en) * 2022-02-23 2022-09-26 프라이빗테크놀로지 주식회사 System for controlling transmission and reception of file of application and method thereof
WO2023163506A1 (en) * 2022-02-23 2023-08-31 프라이빗테크놀로지 주식회사 System for controlling file transmission and reception of application, and method therefor

Similar Documents

Publication Publication Date Title
US6807641B1 (en) Content provider system
US7865445B2 (en) Information processing method, information processing apparatus, computer program and storage medium
US20070051798A1 (en) Content management server, storage medium having content management program stored therein, and content management method
EP1492040A1 (en) Content reproduction apparatus and content reproduction control method
EP1586975A1 (en) Copyrighted data processing method and apparatus
EP2477132A2 (en) Apparatus and method for managing digital rights using virtualization technique
US20070050643A1 (en) Information processing apparatus, information processing method, and program storage medium
US7266691B1 (en) Contents providing system
JP2006323503A (en) Document management device and its control method, computer program and storage medium
JP2004295358A (en) Information processor, encryption processing system thereof and method for controlling external storing device
JP4707748B2 (en) External storage device, method for processing data stored in external storage device, program, and information processing apparatus
JP2010039891A (en) Information processor, program execution method, program and information processing system
JP4728650B2 (en) Software protection method and office computer having software protection function
JP2007334821A (en) Application protection device, application protection method, and application protection program
EP3583525B1 (en) Systems and methods for protecting digital media
JP2002116834A (en) Method for permitting use of software and system for the same and computer readable recording medium
US8260712B2 (en) Multimedia-type contents reproduction device and reproduction method, and recording medium having stored thereon data used for the same
JP5473146B2 (en) Software protection method
JP2011138209A (en) Document management system, document management method, and program for the same
JP2007026105A (en) Device, method, and program for file management
US20180276349A1 (en) Digital content editing apparatus, digital content playback apparatus, digital content decrypting apparatus, web content playback apparatus, web content decrypting apparatus, digital content encrypting/decrypting system, and digital content encrypting/decrypting method
EP1158418A1 (en) System for controlling information on condition of contents use
JP6544431B2 (en) INFORMATION PROCESSING APPARATUS, DATA DISPLAY METHOD, AND DATA DISPLAY PROGRAM
JP4671340B2 (en) How to save / read data from / to external storage media
JP2002366164A (en) Contents backup device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120228