JP2011233049A - Image processing apparatus, alteration detection system and detection method - Google Patents
Image processing apparatus, alteration detection system and detection method Download PDFInfo
- Publication number
- JP2011233049A JP2011233049A JP2010104530A JP2010104530A JP2011233049A JP 2011233049 A JP2011233049 A JP 2011233049A JP 2010104530 A JP2010104530 A JP 2010104530A JP 2010104530 A JP2010104530 A JP 2010104530A JP 2011233049 A JP2011233049 A JP 2011233049A
- Authority
- JP
- Japan
- Prior art keywords
- api
- application program
- application
- authentication
- information
- 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
Links
Images
Abstract
Description
本発明は、アプリケーションプログラムの改ざん検出に関する。 The present invention relates to detection of falsification of an application program.
近年、コピー機は多機能化が進み、いわゆる、複合機(以下、「MFP(Multi Function Peripheral)」という。)が主流となっている。 In recent years, copying machines have become more multifunctional, and so-called multifunction machines (hereinafter referred to as “MFP (Multi Function Peripheral)”) have become mainstream.
これらの機能は、数々のアプリケーションプログラムをMFPに組み込むことで実現されており、これらのアプリケーションプログラムは、MFPが備えているAPI(Application Program Interface)を用いて開発されている。 These functions are realized by incorporating a number of application programs into the MFP, and these application programs are developed using an API (Application Program Interface) provided in the MFP.
MFP製造業者の中には、新たな機能の開発、及び、現在搭載されている機能の拡張等のために、備えているAPI(Application Program Interface)を公開しているものが在る。 Some MFP manufacturers have released APIs (Application Program Interfaces) for developing new functions and expanding currently installed functions.
APIを公開することで、数多くのアプリケーションプログラム開発業者が、様々なアプリケーションプログラムを開発することが容易となり、より高機能で、より使いやすい機能がMFPに搭載することができるようになるという利点がある。 By publishing the API, it becomes easy for many application program developers to develop various application programs, and there is an advantage that more advanced and easier-to-use functions can be installed in the MFP. is there.
しかし、アプリケーションプログラム開発業者が開発したアプリケーションプログラムを無条件にMFPに搭載するのはセキュリティの面から問題があることから、様々な技術が提案されている。 However, unconditionally mounting an application program developed by an application program developer on the MFP has a problem in terms of security, and various techniques have been proposed.
例えば、アプリケーションプログラム毎に、使用できるAPIを制限する技術が提案されている(特許文献1等参照)。 For example, a technique for restricting an API that can be used for each application program has been proposed (see Patent Document 1).
具体的には、MFPが備えているコマンド(API)毎に許可レベルを定めておき、アプリケーションプログラムは自身に与えられたレベルキーに応じた許可レベルのコマンドのみを使用できる。 Specifically, a permission level is determined for each command (API) provided in the MFP, and the application program can use only a command having a permission level corresponding to a level key given to itself.
また、別の技術として、アプリケーションプログラムが有する認証キーに基づいて肯定的な認証がなされたときのみMFPはそのアプリケーションプログラムを実行するという技術がある。MFP製造業者は、予めアプリケーションプログラムを検証し、合格したもの、例えば、不適切なAPIが用いられていないもの等にのみ認証キーを与える。 As another technique, there is a technique in which the MFP executes an application program only when positive authentication is performed based on an authentication key included in the application program. The MFP manufacturer verifies the application program in advance, and gives an authentication key only to those that have passed, for example, those that do not use inappropriate APIs.
しかし、MFP製造業者が認証キーを与えた後に、アプリケーションプログラムを変更した場合、又は、市場において改変された場合等には、認証キーは正当なキーであることからアプリケーションプログラムは実行されてしまうことになる。 However, if the MFP manufacturer changes the application program after giving the authentication key, or if the application program is modified in the market, the application program is executed because the authentication key is a valid key. become.
そこで、本発明は、APIを用いるアプリケーションプログラムの実行時に、アプリケーションプログラムが改ざんされていることを検出することを目的とする。 Therefore, an object of the present invention is to detect that an application program has been tampered with when an application program using an API is executed.
上記目的を達成するために、本発明の一形態に係る画像処理装置は、アプリケーションプログラムが呼び出すことができる1又は複数のAPIを公開している画像処理装置であって、1又は複数のアプリケーションプログラムそれぞれが呼び出すことを許可されているAPIを示すAPI情報を、アプリケーションプログラム毎に記憶しているAPI情報記憶手段と、自装置の外部のアプリケーションプログラムから、APIの呼び出し要求を受け付ける要求受付手段と、前記要求受付手段で受け付けた要求において呼び出されるAPIが、前記外部のアプリケーションプログラムと対応付けて記憶されているAPI情報によって示されていない場合は、当該APIの呼び出しを抑止する制御手段とを備える。 In order to achieve the above object, an image processing apparatus according to an aspect of the present invention is an image processing apparatus that publishes one or more APIs that can be called by an application program. API information storage means for storing API information indicating the APIs each of which is permitted to be called for each application program, request accepting means for accepting an API call request from an external application program of its own device, When the API called in the request received by the request receiving means is not indicated by the API information stored in association with the external application program, the control means includes a control means for suppressing the API call.
上記構成の画像処理装置は、APIを用いるアプリケーションプログラムの実行時に、アプリケーションプログラムが改ざんされていることを検出することができる。 The image processing apparatus having the above configuration can detect that the application program has been tampered with when executing the application program using the API.
<実施形態>
<概要>
実施形態のMFPでは、MFPに搭載されているアプリケーションプログラムにおいて実行される可能性のあるAPIの名称を、アプリケーションプログラム毎に記憶しておく。「API」とは、MFPに搭載するアプリケーションプログラムを開発する場合に使用できる命令及び関数等にアクセスするためのインタフェースをいい、その命令及び関数等の1つ1つを「API」と呼ぶこともある。ここでは、関数等の1つ1つを「API」というものとする。
<Embodiment>
<Overview>
In the MFP of the embodiment, the name of an API that may be executed in an application program installed in the MFP is stored for each application program. “API” refers to an interface for accessing commands and functions that can be used when developing an application program installed in the MFP, and each of the commands and functions is also referred to as “API”. is there. Here, each of the functions and the like is referred to as “API”.
そして、アプリケーションプログラムの実行中に、記憶してある名称以外の名称のAPIが呼び出された場合には、そのAPIの実行を行わずに、アプリケーションプログラムの実行を中止する。 If an API with a name other than the stored name is called during the execution of the application program, the execution of the application program is stopped without executing the API.
ここで、記憶してある名称のAPIは、MFP製造業者が認証キーを与えるために検証したアプリケーションプログラムで用いられていたAPIである。すなわち、これらのAPIは、アプリケーションプログラムで呼び出すことをMFP製造業者が許可したAPIであるといえる。 Here, the API of the name stored is the API used in the application program verified to give the authentication key by the MFP manufacturer. In other words, these APIs can be said to be APIs that the MFP manufacturer permits to be called by an application program.
従って、認証キーが付与された後に、新たなAPIを用いるような変更がなされたアプリケーションプログラムの実行は出来ないことになる。 Accordingly, after the authentication key is assigned, the application program that has been changed to use a new API cannot be executed.
但し、認証キーを付与された時に使用していたAPIを用いるような変更は許されることになる。すなわち、別のAPIを呼び出さない修正やバージョンアップを行っただけでは、MFP製造業者に認証キーを新たに申請する必要がないという利点がある。また、MFP製造業者にとっては、呼び出されたくないAPIは呼び出されることがないので、認証キーを付与した際に意図していたセキュリティは確保することができ、認証キーを与えるための検証作業を何度も行うことがないという利点がある。 However, a change using the API that was used when the authentication key was assigned is allowed. In other words, there is an advantage that it is not necessary to newly apply for an authentication key to the MFP manufacturer simply by making a modification or upgrading without calling another API. In addition, since the API which the MFP manufacturer does not want to be called is not called for the MFP manufacturer, the security intended when the authentication key is given can be ensured, and what verification work to give the authentication key can be performed. There is an advantage that it is never done.
以下、本発明の実施形態の改ざん検出システム100について、図面を用いて説明する。
Hereinafter, an
<構成>
図1は、改ざん検出システム100の全体的な構成の例を示す図である。
<Configuration>
FIG. 1 is a diagram illustrating an example of the overall configuration of a
改ざん検出システム100は、ユーザ端末1000、ユーザ端末1001、ユーザ端末1002、MFP2000、及び、認証データ生成装置3000を有する。尚、図1では、3台のユーザ端末と1台のMFPとを含むこととしているが、それぞれ1台以上であればよい。また、認証データ生成装置3000は1台としているが、1台以上であればよい。
The
ユーザ端末1000、ユーザ端末1001及びユーザ端末1002は、いわゆる、パソコン等の端末装置であり、ディスプレイ、キーボード等のインタフェースを備え、MFP2000に印刷ジョブを送信したり、MFP2000からの要求に応じてアプリケーションプログラムを実行したりする。
The
MFP2000は、一般に複合機と呼ばれ、コピー機能、ファックス機能、ネットワークプリンティング機能、スキャナ機能及びボックス機能等の機能を集約した装置である。MFP2000は、ユーザからアプリケーションプログラムの実行指示を受けると、ユーザ端末1000と連携して処理を行う。
The MFP 2000 is generally called a multifunction peripheral, and is an apparatus that integrates functions such as a copy function, a fax function, a network printing function, a scanner function, and a box function. Upon receiving an application program execution instruction from the user, the MFP 2000 performs processing in cooperation with the
認証データ生成装置3000は、いわゆる、パソコン等の端末装置であり、ディスプレイ、キーボード等のインタフェースを備え、アプリケーションプログラムを読み込み、アプリケーションプログラム用の認証データを生成する。この認証データがMFP2000によって肯定的に認証された場合にのみ、アプリケーションプログラムをMFP2000に登録して実行することが可能となる。
The authentication
次に、MFP2000のハードウェア構成について説明する。 Next, the hardware configuration of the MFP 2000 will be described.
図2は、MFP2000のハードウェア構成の例を示す図である。MFP2001及びMFP2002も同様の構成を有する。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the
MFP2000は、CPU(Central Processing Unit)20a、RAM(Random Access Memory)20b、ROM(Read Only Memory)20c、ハードディスク20d、制御用回路20e、操作パネル20f、通信インタフェース20g、印刷装置20h及びICカードリーダ20i等によって構成される。
The MFP 2000 includes a central processing unit (CPU) 20a, a random access memory (RAM) 20b, a read only memory (ROM) 20c, a
制御用回路20eは、ハードディスク20d、操作パネル20f、通信インタフェース20g、印刷装置20h及びICカードリーダ20i等を制御するための回路である。
The
操作パネル20fは、タッチパネル方式の表示パネルであって、ユーザに対してメッセージ又は指示を与えるための画面、ユーザが所望する処理の種類及び処理条件を入力するための画面及びCPU20aで実行された処理の結果を示す画面等を表示する。また、ユーザは、操作パネル20fの所定の位置に触れることによってMFP2000に対して指示を与えたり処理条件の指定を行ったり、パスワード等を入力することができる。このように、操作パネル20fは、MFP2000を操作するユーザのユーザインタフェースの役割を果たしている。
The
また、通信インタフェース20gは、通信回線を介して認証データ生成装置3000等の装置とTCP/IP(Transmission Control Protocol/Internet Protocol)で通信を行うためのNIC(Network Interface Card)又はモデム等である。
The
印刷装置20hは、ユーザ端末1000等から取得した印刷ジョブの印刷データに基づいて再現される画像を用紙に印刷する装置である。
The
ICカードリーダ20iは、ICカードからユーザID等のデータを読み取るICカードリーダ装置である。 The IC card reader 20i is an IC card reader device that reads data such as a user ID from an IC card.
以下、改ざん検出システム100において実行される機能を2つに分けて説明する。アプリケーションを開発してMFP2000に搭載する場合と、MFP2000に搭載されたアプリケーションを実行する場合との2つである。
Hereinafter, the functions executed in the
<アプリケーションを搭載する場合>
図3を用いて、アプリケーションプログラムの開発からMFP2000に搭載するまでの手順を説明するとともに、MFP2000に搭載するまでに用いる各装置の機能を説明する。
<When installing an application>
A procedure from development of an application program to installation in the
まず、アプリケーションプログラム開発業者(以下、「ベンダー」という。)は、アプリ開発装置4000においてアプリケーションプログラム4010を開発する。このアプリケーションプログラムは、MFP2000が提供するAPIを使用するものである。
First, an application program developer (hereinafter referred to as “vendor”) develops an
次に、ベンダーは、開発したアプリケーションプログラム4010のソースコードをMFP製造業者に渡して検証を依頼する(矢印10参照)。
Next, the vendor hands over the source code of the developed
MFP製造業者は、認証データ生成装置3000において、認証データ3210を生成してベンダーに渡す。
The MFP manufacturer generates
ここで、認証データ生成装置3000は、API抽出部3100及び認証データ生成部3200を有する。
Here, the authentication
API抽出部3100は、アプリケーションプログラム4010が呼び出しているAPIを抽出する機能を有する。
The
具体的には、API抽出部3100は、アプリケーションプログラム4010のソースコードに、コメント等としてではなく、実行するために記載されているAPIの名称を抽出する。
Specifically, the
認証データ生成部3200は、API抽出部3100が抽出したAPIの名称、及び、認証に必要な情報を含んだ認証データ3210を生成する機能を有する。認証データ3210の詳細は、<データ>の項で説明する。
The authentication
MFP製造業者は、生成した認証データ3210を暗号化してベンダーに渡す。例えば、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等の方式を用いて暗号化する。
The MFP manufacturer encrypts the generated
暗号化した認証データ3210(以下、「暗号化認証データ3210」という。)を渡されたベンダーは、渡された暗号化認証データ3210を組み込んだアプリケーションプログラム4011を販売する(矢印11参照)。
The vendor who has received the encrypted authentication data 3210 (hereinafter referred to as “
アプリケーションプログラムを購入したユーザは、購入したアプリケーションプログラム4011をユーザ端末1000にインストールし、アプリケーションをMFP2000に登録する(矢印12参照)。アプリケーションプログラム4011によって実現できる機能を「アプリケーション」といい、MFP2000で実行することができるようにすることを「登録」という。
The user who purchased the application program installs the purchased
実施形態では、アプリケーションプログラム4011が登録用のプログラムを含んでおり、そのプログラムを実行して実現される登録ツール1450によって、アプリケーションの登録処理を行う。
In the embodiment, the
登録処理において、アプリケーションプログラム4011内の暗号化認証データ3210がMFP2000に送信され、MFP2000によって肯定的な認証がなされた場合に、アプリケーションプログラム4011の実行に必要な情報、例えば、ユーザ端末1000のIPアドレス等、及び、必要に応じてプログラム等がMFP2000に記憶される。
In the registration process, when the
ここで、MFP2000は、アプリ認証部2810を含むアプリ登録部2800を有する。尚、図3では、MFP2000が備える機能のうち、登録処理に関係する機能のみを記載している。
Here, the
アプリ登録部2800は、ユーザ端末1000の登録ツール1450から登録要求を受け、アプリケーションをMFP2000に登録する機能を有する。アプリ登録部2800は、登録要求を受信する際、暗号化認証データ3210も受信する。この暗号化認証データ3210が、アプリ認証部2810により肯定的な認証がなされた場合にのみ、アプリ登録部2800はアプリケーションの登録処理を行う。
実施形態では、登録処理として次の3つの処理を行う。 In the embodiment, the following three processes are performed as the registration process.
1つ目は、アプリケーションの名称等をMFP2000の操作パネル20f(図2参照)に表示するためのデータ、例えば、アプリケーション名をユーザ情報記憶部5000に記憶する。実施形態では、ユーザが登録したアプリケーションの名前等を、ユーザIDに対応させて記憶している。
First, data for displaying an application name or the like on the
2つ目は、アプリケーションで使用されているAPIの名称をAPIリスト記憶部5200に記憶する。実施形態では、APIの名称を示すリストがアプリケーションプログラム毎に記憶されている。
Second, the API name used in the application is stored in the API
3つ目は、アプリケーションを実行する際に必要な情報等、例えば、MFP2000側で実行する処理を記述したアプリケーションプログラム等を、アプリケーションプログラム4011から受信し、アプリ記憶部5100に記憶する。アプリケーションプログラム4011から取得する情報の内容は、それぞれのアプリケーションによって異なる。
Third, information necessary for executing an application, such as an application program describing processing executed on the
アプリ認証部2810は、暗号化認証データ3210を認証し、認証結果をアプリ登録部2800に渡す機能を有する。
The
具体的には、アプリ認証部2810は、認証データ生成装置3000が認証データ3210を暗号化した鍵と同じ鍵を記憶しており、その鍵を用いて暗号化認証データ3210を復号する。その鍵と、復号した認証データ3210に含まれる認証キーとが同じである場合に、認証データは正当なデータであると判断して、肯定的な認証結果をアプリ登録部2800に渡す。
Specifically, the
<アプリケーションを実行する場合>
次に、図4を用いて、MFP2000に搭載されたアプリケーションを実行する場合に用いる各装置の機能を説明する。
<When executing an application>
Next, functions of each device used when executing an application installed in the
図4は、ユーザ端末1000、及び、MFP2000の機能的構成の例を示すブロック図である。
FIG. 4 is a block diagram illustrating examples of functional configurations of the
ユーザ端末1000〜ユーザ端末1002(図1参照)は、本発明に係る機能について同様の機能を備える。従って、ここではユーザ端末1000を説明する。
The
ユーザ端末1000は、通信部1100、送信データ生成部1200、受信データ解析部1300、アプリケーション1400、登録ツール1450、及び、アプリケーションプログラム記憶部1500を有する。
The
以下に説明するユーザ端末1000の各部の機能の一部又は全部は、ユーザ端末1000が備えるメモリに格納されているプログラムが、ユーザ端末1000が備えるCPUにより実行されることで実現される。
Some or all of the functions of the respective units of the
通信部1100は、MFP2000と通信する機能を有する。具体的には、MFP2000から処理の要求等を受信したり、処理の結果等を送信したりする。実施形態では、MFP2000とのやり取りは、例えば、XML形式のデータ(以下、「XMLデータ」という。)で行うものとする。
The
アプリケーション1400は、アプリケーションプログラム記憶部1500から、アプリケーションプログラムを読み出して実行することで実現されるアプリケーションを示す。
An
登録ツール1450は、アプリケーションプログラム記憶部1500から、登録用のプログラムを読み出して実行することで実現される登録ツールを示す。
The
送信データ生成部1200は、アプリケーション1400から指示されてMFP2000に送信するXMLデータを生成する機能を有する。
The transmission
また、受信データ解析部1300は、MFP2000から受信したXMLデータを解析し、解析結果に応じてアプリケーション1400に指示等を出す機能を有する。
The received
この送信データ生成部1200及び受信データ解析部1300は、実際には、アプリケーションプログラムの一部として記述されている場合もある。
The transmission
アプリケーションプログラム記憶部1500は、ユーザによってインスロールされたアプリケーションプログラム4011(図3参照)を記憶しておく機能を有する。
The application
MFP2000は、通信部2100、送信データ生成部2200、受信データ解析部2300、アプリケーション2400、操作部2500、ログイン情報認証部2600、アプリ選択部2700、アプリ登録部2800、ユーザ情報記憶部5000、アプリ記憶部5100、APIリスト記憶部5200、及び、APIプログラム記憶部5300を有する。
The
以下に説明するMFP2000の各部の機能の一部又は全部は、MFP2000のハードディスク20d等のメモリに格納されているプログラムが、CPU20aにより実行されることで実現される。
A part or all of the functions of each unit of the
通信部2100は、ユーザ端末1000と通信する機能を有する。具体的には、ユーザ端末1000に処理の要求等を送信したり、処理の結果等を受信したりする。実施形態では、ユーザ端末1000とのやり取りは、例えば、XML形式のデータで行うものとする。
The
アプリケーション2400は、アプリ記憶部5100から、アプリケーションプログラムを読み出して実行することで実現されるアプリケーションを示す。
An
送信データ生成部2200は、アプリケーション2400から指示されてユーザ端末1000に送信するXMLデータを生成する機能を有する。
The transmission
受信データ解析部2300は、ユーザ端末1000から受信したXMLデータを解析し、解析結果に応じてアプリケーション2400に指示等を出す機能を有する。
The reception
この送信データ生成部2200及び受信データ解析部2300は、実際には、アプリケーションプログラムの一部として記述されている場合もある。
The transmission
操作部2500は、操作パネル20f及びICカードリーダ20iを含み、操作に応じた表示画面を操作パネル20f表示し、ユーザからの指示を取得する機能を有する。
The
また、操作部2500は、MFP2000を使用しようとするユーザから、ログイン情報、具体的には、ユーザIDを取得する機能を有する。詳細には、かざされたICカードからICカードリーダ20iが読み取ったユーザIDを取得する。
The
ログイン情報認証部2600は、ユーザ情報記憶部5000が記憶しているユーザに関する情報であるユーザ情報を参照して、ログイン情報を認証する機能を有する。ログイン情報認証部2600は、ユーザ情報にログイン情報が登録されていれば肯定的な認証結果とし、登録されていなければ否定的な認証結果とする。認証結果は、操作部2500に通知する。
The login
アプリ選択部2700は、ログイン情報で示されるユーザがインストールしたアプリケーションの名称を操作パネル20fに表示し、ユーザによって選択されたアプリケーション名を取得し、選択した名称のアプリケーションを起動する機能を有する。
The
アプリ登録部2800は、ユーザ端末1000の登録ツール1450から登録要求を受け、アプリケーションをMFP2000に登録する機能を有する(図3及び図3の説明参照)。
The
ユーザ情報記憶部5000は、ユーザに関する情報であるユーザ情報を記憶しておく機能を有する。具体的には、MFP2000を使用する権限を有するユーザのユーザID、及び、ユーザIDと対応付けて当該ユーザがインストールしたアプリケーション名等を記憶している。アプリ選択部2700は、このユーザIDと対応付けて記憶しているアプリケーション名等を参照して、アプリケーション一覧を操作パネル20fに表示する。
The user
アプリ記憶部5100は、ユーザがインストールしたアプリケーションを実行するために必要なプログラム、データ等を記憶しておく機能を有する。
The
APIリスト記憶部5200は、登録されたアプリケーションで使用されているAPIの名称を示すリストを、アプリケーション毎に記憶しておく機能を有する。
The API
APIプログラム記憶部5300は、登録されたアプリケーションを実行する際に必要な情報等、例えば、ユーザ端末1000のIPアドレス、MFP2000側で実行する処理を記述したアプリケーションプログラム、実行に必要なデータ等を記憶しておく機能を有する。
The API
ここで、図5に、アプリケーションの実行の例を示す。 Here, FIG. 5 shows an example of application execution.
図5では、3つのアプリケーションの例を示している。 FIG. 5 shows examples of three applications.
1つ目は、MFP2000のスキャナ機能を用いてスキャンしたデータを、ユーザ端末1000の任意のディレクトリ下に記憶させるアプリケーション「スキャンデータ保存アプリ」である。
The first is an “scan data storage application” that stores data scanned using the scanner function of the
このアプリケーションでは、ユーザ端末1000の所定のディレクトリ構造をMFP2000の操作パネル20fに表示するためにAPI「API02」を使用し、用紙に印刷されている画像をスキャンするためにAPI「API03」を使用している。また、MFP2000のスキャンデータ記憶部が記憶しているスキャンデータを読み出すAPI「API01」を使用している。従って、「API01」、「API02」及び「API03」以外のAPIが呼び出された時は、アプリケーションプログラムが改ざんされていることになる。
In this application, an API “API02” is used to display a predetermined directory structure of the
2つ目は、認証サーバ1010に認証情報を送信して、認証結果を受信するアプリケーション「認証アプリ」である。
The second is an application “authentication application” that transmits authentication information to the
このアプリケーションでは、MFP2000のAPIを使用しない。従って、何らかのAPIが呼び出されたら、アプリケーションプログラムが改ざんされていることになる。
This application does not use the
3つ目は、印刷ジョブ蓄積サーバ装置1020から読み出して印刷するアプリケーション「プルプリントアプリ」である。
A third application is an “pull print application” that is read from the print job
このアプリケーションでは、印刷ジョブ蓄積サーバ装置1020の印刷ジョブ記憶部が記憶している印刷ジョブの識別子の一覧をMFP2000の操作パネル20fに表示するためにAPI「API02」を使用し、印刷ジョブを印刷するためにAPI「API04」を使用している。従って、「API02」及び「API04」以外のAPIが呼び出された時は、アプリケーションプログラムが改ざんされていることになる。
In this application, the API “API02” is used to display a list of print job identifiers stored in the print job storage unit of the print job
<データ>
以下、本実施形態の改ざん検出システム100で用いる主なデータについて図6〜図8を用いて説明する。
<Data>
Hereinafter, main data used in the
図6は、API抽出リスト3110の構成及び内容の例を示す図である。
FIG. 6 is a diagram illustrating an example of the configuration and contents of the
このAPI抽出リスト3110は、認証データ生成装置3000のAPI抽出部3100(図3参照)がAPIを抽出する際に、作業メモリに作成される。
The
API抽出リスト3110は、使用有無3111及びAPI名3112で構成され、MFP2000が公開しているAPI1つに対してこの構成の1レコードが登録されている。
The
使用有無3111は、API名3112で示されるAPIを使用しているか否かを示す。「○」は、使用されていることを示し、「×」は使用されていないことを示す。
Use /
API名3112は、APIの名称を示す。
An
API抽出部3100は、API抽出リスト3110のレコードにAPI名3112として設定されているAPIの名称を、アプリケーションプログラムのソースコードから検索する。検索されたAPIの名称の記載が、APIを実行させるための記載である場合は、そのレコードの使用有無3111として「○」を設定する。ソースコードにAPIの名称が記載されていない、又は、記載されていても実行させるためではない、例えば、コメントとして記載してある等の場合は、「×」を設定する。
The
API抽出部3100は、API抽出リスト3110の全レコードについて、この処理を行う。
The
図7は、APIリスト5210の構成及び内容の例を示す図である。
FIG. 7 is a diagram showing an example of the configuration and contents of the
このAPIリスト5210は、認証データ生成装置3000の認証データ生成部3200(図3参照)によって生成され、認証データ3210に含まれる。
The
APIリスト5210は、番号5211及びAPI名5212で構成され、アプリケーション毎に1つ作成される。
The
番号5211は、レコードの番号を示す。すなわち、API名5212で示されるAPIの番号を示す。
A
API名5212は、APIの名称を示す。
The
このAPIリスト5210は、API抽出リスト3110の使用有無3111として「○」が設定されているレコードに、API名3112として設定されているAPIの名称を抽出して生成したものである。
This
従って、API名5212が示すAPIの名称は、アプリケーションプログラムのソースコードにおいて、実行させる形式で記載されているものである。すなわち、そのアプリケーションが実行された場合に、呼び出される可能性があるAPIを示している。
Therefore, the name of the API indicated by the
図8は、認証データ3210の構成及び内容の例を示す図である。
FIG. 8 is a diagram illustrating an example of the configuration and contents of the
この認証データ3210は、認証データ生成装置3000の認証データ生成部3200(図3参照)によって生成される。
The
認証データ3210は、項目3211及び内容3212で構成され、アプリケーション毎に1つ作成される。
The
項目3211は、認証データ3210に含まれる項目を示す。
An
内容3212は、項目3211で示される項目の内容を示す。
A
例えば、項目3211「アプリ名称」は、この認証データ3210が付与されたアプリケーションプログラムを実行した場合のアプリケーションの名称を示す。項目3211「ベンダー名称」は、アプリケーションプログラムを作成したベンダーの名称を示し、項目3211「アプリ概要」は、アプリケーションの内容を示す。項目3211「有効期限」は、この認証データ3210の有効期限を示す。
For example, the
また、項目3211「認証キー」は、この認証データ3210の正当性を確認するために参照するデータである。また、この「認証キー」で示される鍵を用いて、認証データ3210を暗号化する。
The
項目3211「API情報」は、この認証データ3210が付与されたアプリケーションプログラムで用いられているAPIを示す情報である。内容3212としてAPIリスト5210(図7参照)が設定される。
The
<表示画面>
以下、本実施形態の改ざん検出システム100で用いる表示画面について図9を用いて説明する。ここで説明する表示画面は、MFP2000の操作パネル20fに表示される画面例である。
<Display screen>
Hereinafter, a display screen used in the
図9は、アプリケーション一覧画面2520の例を示す図である。
FIG. 9 is a diagram illustrating an example of the
このアプリケーション一覧画面2520には、ログインしたユーザが登録したアプリケーションの名称及び機能の一覧が表示される。ユーザは、カーソルを移動して実行したいアプリケーションを選択する。図9では、アプリ名が「AP−Scan」のアプリケーションがカーソル2521で選択されている。ここで、「OK」ボタンを押下すると、選択されたアプリケーションが起動される。
The
<動作>
以下、実施形態の改ざん検出システム100の動作について、図10〜図12を用いて説明する。
<Operation>
Hereinafter, the operation of the
ここでは、次の3つの処理について説明する。 Here, the following three processes will be described.
1つ目は、認証データ生成装置3000における認証データ3210を生成する処理である。2つ目は、アプリケーションをMFP2000に登録する処理である。3つ目は、MFP2000においてアプリケーションを実行する処理である。
The first is processing for generating
<認証データ生成処理>
図10は、認証データ生成装置3000(図3参照)における認証データ3210を生成する処理を示すフローチャートである。
<Authentication data generation process>
FIG. 10 is a flowchart showing a process for generating
ベンダーは、アプリケーションプログラム4010のソースコード(以下、単に「ソースコード」という。)をMFP製造業者に渡して、認証データの付与を依頼する。ソースコードを渡す方法は、ネットワークを経緯して渡す、プログラムを記録した記録媒体を渡す等、いかなる方法であってもよい。アプリケーションプログラム4010が複数のソースコードから成る場合は、すべてのソースコードを渡す。
The vendor hands over the source code of the application program 4010 (hereinafter simply referred to as “source code”) to the MFP manufacturer, and requests the application of authentication data. The method of passing the source code may be any method such as passing through a network or passing a recording medium on which a program is recorded. When the
MFP製造業者は、渡されたソースコードを認証データ生成装置3000の作業メモリに記憶させ、インタフェースを介してAPI抽出部3100にAPIの抽出を指示する。
The MFP manufacturer stores the passed source code in the working memory of the authentication
API抽出部3100は、作業メモリからソースコードを読み込む(ステップS100)。
The
次に、API抽出部3100は、API抽出リスト3110(図6参照)の全のレコードの使用有無3111として「×」を設定する。API名3112は、予め設定されているものとする。
Next, the
API抽出部3100は、API抽出リスト3110の最初のレコードから最後のレコードまで順に(ステップS140:Yes)、API名3112として設定されているAPIの名称を、アプリケーションプログラムのソースコードから検索する(ステップS110)。
The
APIの名称が検索された場合であって、APIを実行させるための記載である場合は(ステップS120:Yes)、そのレコードの使用有無3111として「○」を設定する(ステップS130)。
If the name of the API is searched and it is a description for executing the API (step S120: Yes), “O” is set as the use /
ソースコードにAPIの名称が記載されていない、又は、記載されていても実行させるためではない、例えば、コメントとして記載してある等の場合は(ステップS120:No)、何も設定しない。すなわち、「×」のままとする。 If the API name is not described in the source code, or if it is described, it is not for execution. For example, when it is described as a comment (No in step S120), nothing is set. That is, it is left as “x”.
API抽出リスト3110の最後のレコードまで処理したAPI抽出部3100は(ステップS140:No)、次のソースコードが作業メモリに記憶されている場合は(ステップS150:Yes)、ステップS110〜ステップS140の処理を繰り返す。
The
すべてのソースコードからAPIの名称の抽出処理を行ったAPI抽出部3100は、API抽出リスト3110を認証データ生成部3200に渡す。
The
API抽出リスト3110を渡された認証データ生成部3200は、API抽出リスト3110から使用有無3111として「○」が設定されているレコードの、API名3112として設定されているAPIの名称を抜き出してAPIリスト5210を生成する(ステップS160)。
The authentication
APIリスト5210を生成した認証データ生成部3200は、生成したAPIリスト5210を認証データ3210の項目3211「API情報」の内容3212として設定する。また、認証データ生成部3200は、認証データ3210の他の項目3211「アプリ名称」等のそれぞれの内容3212にデータを設定し、認証データ3210を生成する(ステップS170)。
The authentication
認証データ3210を生成した認証データ生成部3200は、認証データ3210の項目3211「認証キー」の内容3212として設定されている鍵を用いて、生成した認証データ3210を暗号化する(ステップS180)。
The authentication
MFP製造業者は、暗号化された認証データ3210をベンダーに渡す。
The MFP manufacturer gives the
<アプリケーション登録処理>
図11は、アプリケーションをMFP2000に登録する処理を示すフローチャートである。
<Application registration process>
FIG. 11 is a flowchart showing processing for registering an application in
ユーザは、ユーザ端末1000のインタフェースを介して、登録ツール1450を起動し、登録するMFP2000を指定する(ステップS200)。
The user activates the
登録ツールは、指定されたMFP2000に、アプリケーションプログラム4011に含まれている暗号化認証データ3210を送信して登録を要求する(ステップS210)。
The registration tool transmits the
MFP2000は、暗号化認証データ3210及び登録要求を受信すると、アプリ登録部2800に暗号化認証データ3210を渡して、登録を依頼する。
Upon receiving the
依頼を受けたアプリ登録部2800は、内部に鍵を用いて暗号化認証データ3210を復号する(ステップS220)。復号した認証データ3210の項目3211「認証キー」の内容3212として設定されている認証キーが、復号に用いた鍵と同じである場合には、認証データは正当なデータであると判断して肯定的な認証結果とする。内容3212として設定されている認証キーが、復号に用いた鍵と異なる場合に、認証データは正当でないデータであると判断して否定的な認証結果とする。また、項目3211「有効期限」の内容3212として設定されている日時が、現在、すなわち、認証時の日時よりも前である場合には、否定的な認証結果とする。
Upon receiving the request, the
アプリ認証部2810は、認証結果をアプリ登録部2800に渡す。また、認証結果が肯定的である場合には、復号した認証データ3210もアプリ登録部2800に渡す。
認証結果を受け取ったアプリ登録部2800は、認証結果が否定的であった場合には(ステップS230:NG)、登録処理を終了し、ユーザ端末1000のその旨通知する。
If the authentication result is negative (step S230: NG), the
一方、認証結果が肯定的であった場合には(ステップS230:OK)、アプリ登録部2800は、認証データ3210の項目「API情報」の内容3212として設定されているAPIリスト5210を、アプリ記憶部5100に記憶させる(ステップS240)。
On the other hand, if the authentication result is affirmative (step S230: OK), the
その後、アプリ登録部2800は、認証データ3210の項目「アプリ名称」の内容3212として設定されているアプリケーションの名称等をユーザ情報記憶部5000に記憶する。この際、登録を要求してきたユーザの識別子(ユーザID)と対応付けて記憶する。また、登録されたアプリケーションを実行する際に必要な情報等を、ユーザ端末1000の登録ツール1450から取得する(ステップS250、ステップS260)。
Thereafter, the
<アプリケーション実行処理>
図12は、MFP2000においてアプリケーションを実行する処理を示すフローチャートである。点線で囲った処理は、起動されたアプリケーションが行う処理であり、アプリケーション毎に異なる。ここでは、改ざん検出処理に関する処理を中心に記載している。従って、実際には、ここで記載した処理以外の処理も行われている。
<Application execution processing>
FIG. 12 is a flowchart showing processing for executing an application in
ユーザは、MFP2000を使用するためにログインを行う。具体的には、ユーザが携帯するICカードを、MFP2000に備えられているICカードリーダ20iにかざす。
The user logs in to use
かざされたICカードからユーザIDを読み取ったICカードリーダ20iは、読み取ったユーザIDを操作部2500に渡す(ステップS300)。 The IC card reader 20i that has read the user ID from the held IC card passes the read user ID to the operation unit 2500 (step S300).
ユーザIDを受け取った操作部2500は、受け取ったユーザIDをログイン情報認証部2600に渡して認証を依頼する。
Receiving the user ID, the
依頼されたログイン情報認証部2600は、渡されたユーザIDが、MFP2000を使用する権限を有するユーザを示すユーザIDとしてユーザ情報記憶部5000に記憶されているかを確認する。
The requested login
記憶されている場合、ログイン情報認証部2600は肯定的に認証されたと判断し、記憶されていない場合、否定的に認証されたと判断し、その認証結果を操作部2500に返す。
If it is stored, the login
認証結果を受け取った操作部2500は、認証結果が否定的であった場合は処理を終了し、認証結果が肯定的であった場合はログインを受け付け、操作パネル20fに初期画面を表示する。
The
ここで、操作部2500は、ユーザが初期画面においてアプリケーション一覧を表示する操作を行ったことを検知した場合、アプリ選択部2700にユーザIDを渡して、アプリケーション一覧画面2520(図9参照)を表示するよう依頼する。
When the
依頼を受けたアプリ選択部2700は、ユーザIDと対応付けて記憶してあるアプリケーションの名称等をユーザ情報記憶部5000から読み出して、アプリケーション一覧画面2520を操作パネル20fに表示する(ステップS310)。
Upon receiving the request, the
ここで、ユーザは、実行したいアプリケーションを選択する。具体的には、実行したいアプリケーションの名称にカーソル2521を移動し、「OK」ボタンを押下する。
Here, the user selects an application to be executed. Specifically, the
例えば、図9では、アプリケーションの名称が「AP−Scan」のアプリケーションが選択されている。 For example, in FIG. 9, an application whose application name is “AP-Scan” is selected.
アプリケーションが選択されたことを検出した操作部2500は、選択されたアプリケーションの名称をアプリ選択部2700に通知する(ステップS320)。
The
通知を受けたアプリ選択部2700は、通知されたアプリケーションの名称が示すアプリケーション2400を起動する(ステップS330)。
Upon receiving the notification, the
アプリケーション2400は、ユーザ端末1000側のアプリケーション1400を起動する等、必要に応じて初期処理を行う(ステップS340)。
The
初期処理を終えたアプリケーション2400は、ユーザ端末1000に要求する処理を示すXMLデータの生成を送信データ生成部2200に指示し、通信部2100を介してユーザ端末1000に送信する。
After completing the initial process, the
ユーザ端末1000の受信データ解析部1300は、通信部1100を介して受信したXMLデータを解析し、解析内容に応じてアプリケーション1400に処理を依頼する。
The received
アプリケーション1400は、処理に応じてMFP2000が公開するAPIを実行させるためのXMLデータの生成を送信データ生成部1200に指示し、通信部1100を介してMFP2000に送信する。
The
MFP2000の通信部2100を介してXMLデータを受信した受信データ解析部2300は、XMLデータを解析し、呼び出されているAPIを検出する。
The received
APIが呼び出されていない場合(ステップS350:No)、受信データ解析部2300は、XMLデータが示す指示をアプリケーション2400に指示する。
When the API has not been called (step S350: No), the reception
指示を受けたアプリケーション2400は、処理を行う。
Upon receiving the instruction, the
一方、APIが呼び出されている場合(ステップS350:Yes)、受信データ解析部2300は、そのAPIの名称がAPIリスト5210に登録されているかを確認する。具体的には、そのAPIの名称が、アプリケーション2400の名称と対応付けてAPIリスト記憶部5200に記憶されているAPIリスト5210の、API名5212として設定されているかを確認する。受信データ解析部2300は、そのAPIの名称が設定されている場合は登録されていると判断し、設定されていない場合は登録されていないと判断する。
On the other hand, when the API is called (step S350: Yes), the reception
そのAPIの名称がAPIリスト5210に登録されていると判断した場合(ステップS360:Yes)、受信データ解析部2300は、そのAPIを実行するようアプリケーション2400に指示を出す。指示を受けたアプリケーション2400は、そのAPIを実行する(ステップS370)。
If it is determined that the API name is registered in the API list 5210 (step S360: Yes), the received
アプリケーション2400の処理が終わるまで(ステップS380:No)、ステップS350〜ステップS370の処理を繰り返し、処理が終了したら(ステップS380:Yes)、アプリケーション2400は終了処理を行い、アプリケーション2400を終了する(ステップS390)。
Until the processing of the
一方、ステップS360の処理において、そのAPIの名称がAPIリスト5210に登録されていないと判断した場合(ステップS360:No)、受信データ解析部2300は、エラーメッセージをユーザ端末1000に対して送信し(ステップS372)、アプリケーション2400に終了処理を行わせ、アプリケーション2400を終了させる(ステップS390)。
On the other hand, if it is determined in step S360 that the API name is not registered in the API list 5210 (step S360: No), the received
例えば、図5のアプリケーション「スキャンデータ保存アプリ」を実行する場合を例に取ると、アプリケーション「スキャンデータ保存アプリ」が実行されている間に、「API99」という名称のAPIを実行させるようなXMLデータを受信した場合、受信データ解析部2300は、エラーメッセージをユーザ端末1000に対して送信し、アプリケーション「スキャンデータ保存アプリ」を終了させる。
<補足>
以上、本発明の実施形態について説明したが、本発明は上記形態に限らず、以下のようにしてもよい。
(1)実施形態では、APIの名称によって、アプリケーションで呼び出すことが出来るか否かを判断することとしているが、他の条件であってもよい。
For example, taking the case of executing the application “scan data storage application” in FIG. 5 as an example, XML that causes an API named “API99” to be executed while the application “scan data storage application” is being executed. When the data is received, the reception
<Supplement>
As mentioned above, although embodiment of this invention was described, this invention may be as follows not only the said form.
(1) In the embodiment, it is determined whether or not the application can be called by the name of the API, but other conditions may be used.
例えば、APIの名称だけでなく、パラメータの設定値が所定範囲内である場合にのみ、そのAPIを呼び出すことができることとしてもよい。 For example, not only the API name but also the API may be called only when the parameter setting value is within a predetermined range.
図13に、APIリスト5220の構成及び内容の例を示す。APIリスト5220は、APIリスト5210に、第1パラメータ5223、第2パラメータ5224及び第3パラメータ5225を追加したものである。
FIG. 13 shows an example of the configuration and contents of the
第1パラメータ5223は、第1パラメータで指定可能なデータの範囲を示している。第2パラメータ5224及び第3パラメータ5225も、同様である。また、「−」は、パラメータが無い、又は、指定可能な範囲が課されていないパラメータであることを示している。
The
例えば、API名5212「API001」のレコードの第2パラメータ5224として「0/1/2」が設定されているので、「0」、「1」、「2」のうちのいずれかを設定することが可能である。従って、「3」が設定された場合は、そのAPIを呼び出すことができない。
For example, since “0/1/2” is set as the
このAPIリスト5220の第1パラメータ5223等として設定している値は、認証データ生成装置3000のAPI抽出部3100がソースコードからAPIの名称を抽出する際に、同時に抽出する。すなわち、検証時のアプリケーションプログラムにおいてAPIを呼び出す場合にどのような値をパラメータに設定しているかを抽出しておく。そして、実行時に、その値から外れた値をパラメータとして設定したAPIは実行されないようにする。
The value set as the
図10の示した認証データ生成処理では、あるAPIの名称をソースコードから検索する場合、APIの名称を検出したら、その後のソースコードは検索しないこととしている。しかし、パラメータの設定範囲を抽出する場合は、ソースコードの最後まで検索してパラメータの設定範囲を抽出する必要がある。
(2)実施形態では、ユーザ端末1000とMFP2000との間の通信は、XML形式のデータを用いることとしているが、他のデータ形式であってもよい。MFP2000側で、呼び出されているAPIを検出できればよい。
(3)実施形態では、APIリスト5210を含んだ認証データ3210を暗号化することとしているが、APIリスト5210を暗号化し、暗号化したAPIリスト5210を認証データ3210に含ませることとしてもよい。また、認証データ3210の認証の方法は、実施形態の例に限られない。
(4)実施形態では、ソースコードに含まれるAPIの名称を抽出することとしているが、他の方法を用いてもよい。
In the authentication data generation process shown in FIG. 10, when searching for the name of a certain API from the source code, if the name of the API is detected, the subsequent source code is not searched. However, when extracting the parameter setting range, it is necessary to search to the end of the source code and extract the parameter setting range.
(2) In the embodiment, the communication between the
(3) In the embodiment, the
(4) In the embodiment, the name of the API included in the source code is extracted, but other methods may be used.
例えば、APIに識別コードを振っておき、その識別コードを第1パラメータに設定してAPIを呼び出すこととする。そして、その識別コードを抽出し、API名5212に識別コードを設定したAPIリスト5210を作成することとしてもよい。
For example, an identification code is assigned to the API, and the API is called by setting the identification code as the first parameter. Then, the identification code may be extracted and an
また、実施形態では、実行時に呼び出すことができる個々のAPIをAPIリスト5210で管理しているが、APIをグループ化して、グループ単位で管理することとしてもよい。例えば、データを読み出すAPIであれば、いずれのAPIでも呼び出し可能とする等である。
In the embodiment, individual APIs that can be called at the time of execution are managed by the
また、ソースコードから抽出するAPIは、特定のAPIのみに限ることとしてもよい。例えば、適切に実行されなかった場合の影響が大きいAPIである。
(5)改ざん検出システムは、図3等の各装置の構成要素の全部又は一部を、1チップ又は複数チップの集積回路で実現してもよい。
(6)改ざん検出システムは、図3等の各装置の構成要素の全部又は一部を、コンピュータのプログラムで実現してもよいし、その他どのような形態で実施してもよい。
Further, the API extracted from the source code may be limited to a specific API. For example, it is an API having a great influence when not properly executed.
(5) In the falsification detection system, all or some of the components of each device shown in FIG. 3 and the like may be realized by an integrated circuit of one chip or a plurality of chips.
(6) The falsification detection system may be realized by all or part of the components of each device shown in FIG. 3 and the like by a computer program, or may be implemented in any other form.
コンピュータプログラムの場合、メモリカード、CD−ROM等いかなる記録媒体に書き込まれたものをコンピュータに読み込ませて実行させる形にしてもよいし、ネットワークを経由してプログラムをダウンロードして実行させる形にしてもよい。 In the case of a computer program, a program written in any recording medium such as a memory card or CD-ROM may be read and executed by a computer, or a program may be downloaded and executed via a network. Also good.
100 改ざん検出システム
20h 印刷装置
20f 操作パネル
100 改ざん検出システム
1000 1001 1002 ユーザ端末
1010 認証サーバ
1020 印刷ジョブ蓄積サーバ装置
1100 2100 通信部
1200 2200 送信データ生成部
1300 2300 受信データ解析部
1400 2400 アプリケーション
1450 登録ツール
1500 アプリケーションプログラム記憶部
2500 操作部
2520 アプリケーション一覧画面
2521 カーソル
2600 ログイン情報認証部
2700 アプリ選択部
2800 アプリ登録部
2810 アプリ認証部
3000 認証データ生成装置
3100 API抽出部
3110 API抽出リスト
3200 認証データ生成部
3210 認証データ
4000 アプリ開発装置
4010 4011 アプリケーションプログラム
5000 ユーザ情報記憶部
5100 アプリ記憶部
5200 APIリスト記憶部
5210 5220 APIリスト
5300 APIプログラム記憶部
100
Claims (6)
1又は複数のアプリケーションプログラムそれぞれが呼び出すことを許可されているAPIを示すAPI情報を、アプリケーションプログラム毎に記憶しているAPI情報記憶手段と、
自装置の外部のアプリケーションプログラムから、APIの呼び出し要求を受け付ける要求受付手段と、
前記要求受付手段で受け付けた要求において呼び出されるAPIが、前記外部のアプリケーションプログラムと対応付けて記憶されているAPI情報によって示されていない場合は、当該APIの呼び出しを抑止する制御手段と
を備えることを特徴とする画像処理装置。 An image processing apparatus that publishes one or more APIs (Application Program Interface) that can be called by an application program,
API information storage means for storing, for each application program, API information indicating an API permitted to be called by each of the one or more application programs;
Request accepting means for accepting an API call request from an application program external to the device;
Control means for suppressing the API call when the API called in the request received by the request receiving means is not indicated by the API information stored in association with the external application program. An image processing apparatus.
前記認証手段が行った認証が肯定的であった場合に、当該認証情報に含まれているAPI情報を、当該アプリケーションと対応付けて前記API記憶手段に記憶させるAPI情報取得手段とを備え、
前記要求受付手段は、前記認証手段によって肯定的な認証が行われた認証情報と対応付けられているアプリケーションプログラムから、APIの呼び出し要求を受け付け、
前記API情報は、前記認証情報を生成する際に、当該認証情報と対応付けられているアプリケーションプログラムから呼び出されているAPIを示す情報である
請求項1に記載の画像処理装置。 Authentication means associated with an application program and authenticating authentication information including information indicating an API permitted to be called by the application program;
API information acquisition means for storing the API information included in the authentication information in the API storage means in association with the application when the authentication performed by the authentication means is affirmative,
The request accepting means accepts an API call request from an application program associated with authentication information that has been positively authenticated by the authenticating means,
The image processing apparatus according to claim 1, wherein the API information is information indicating an API called from an application program associated with the authentication information when the authentication information is generated.
前記制御手段は、前記検出手段で検出したAPIが、前記API情報によって示されていない場合、又は、前記検出手段で検出したAPIのパラメータとして設定されているデータが前記パラメータ条件を満たさない場合は、当該APIの呼び出しを抑止する
請求項1又は2に記載の画像処理装置。 The API information further includes a parameter condition indicating data that can be set as an API parameter,
When the API detected by the detection unit is not indicated by the API information, or when the data set as the API parameter detected by the detection unit does not satisfy the parameter condition The image processing apparatus according to claim 1, wherein the API call is suppressed.
アプリケーションプログラムから呼び出されているAPIを抽出し、抽出したAPIを示すAPI情報を含んだ認証情報であって、当該アプリケーションプログラムと対応付けた認証情報を生成する認証情報生成手段を備え、
前記画像処理装置は、
自装置の外部から前記認証情報を取得し、取得した前記認証情報を認証する認証手段と、
前記認証手段が肯定的な認証を行った場合に、当該認証情報に含まれているAPI情報を前記アプリケーションプログラムと対応付けてAPI情報記憶手段に記憶させるAPI情報取得手段と、
前記認証手段が肯定的な認証を行った認証情報と対応付けられているアプリケーションプログラムから、APIの呼び出し要求を受け付ける要求受付手段と、
前記要求受付手段で受け付けた要求において呼び出されるAPIが、前記API情報によって示されていない場合は、当該APIの呼び出しを抑止する制御手段とを備える
ことを特徴とする改ざん検出システム。 An alteration detection system including an image processing device that publishes one or more APIs that can be called from an application program,
An authentication information generating unit that extracts an API called from an application program and includes authentication information that includes API information indicating the extracted API and is associated with the application program;
The image processing apparatus includes:
An authentication means for acquiring the authentication information from outside the own device and authenticating the acquired authentication information;
API information acquisition means for storing the API information included in the authentication information in the API information storage means in association with the application program when the authentication means performs positive authentication;
Request accepting means for accepting an API call request from an application program associated with authentication information for which the authentication means has performed positive authentication;
A tamper detection system, comprising: a control unit that suppresses calling of an API when the API called in the request received by the request receiving unit is not indicated by the API information.
自装置の外部のアプリケーションプログラムから、APIの呼び出し要求を受け付けさせ、
受け付けた要求において呼び出されるAPIが、前記外部のアプリケーションプログラムと対応付けて記憶されているAPI情報によって示されていない場合は、当該APIの呼び出しを抑止させる
検出方法。 API information that publishes one or more APIs that can be called by an application program and stores API information indicating the APIs that each of the one or more application programs is allowed to call for each application program A detection method for causing an image processing apparatus including a storage unit to detect falsification of an application program,
An API call request is accepted from an application program external to the device,
A detection method that suppresses calling of an API when the API called in the received request is not indicated by API information stored in association with the external application program.
自装置の外部のアプリケーションプログラムから、APIの呼び出し要求を受け付ける要求受付処理を実行させ、
前記要求受付処理で受け付けた要求において呼び出されるAPIが、前記外部のアプリケーションプログラムと対応付けて記憶されているAPI情報によって示されていない場合は、当該APIの呼び出しを抑止する制御処理を実行させる
コンピュータプログラム。 API information that publishes one or more APIs that can be called by an application program and stores API information indicating the APIs that each of the one or more application programs is allowed to call for each application program A computer program for causing an image processing apparatus provided with storage means to detect falsification of an application program,
A request acceptance process for accepting an API call request from an application program external to the own apparatus is executed.
If the API called in the request received in the request receiving process is not indicated by the API information stored in association with the external application program, a computer that executes a control process for suppressing the API call program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010104530A JP2011233049A (en) | 2010-04-28 | 2010-04-28 | Image processing apparatus, alteration detection system and detection method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010104530A JP2011233049A (en) | 2010-04-28 | 2010-04-28 | Image processing apparatus, alteration detection system and detection method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011233049A true JP2011233049A (en) | 2011-11-17 |
Family
ID=45322285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010104530A Pending JP2011233049A (en) | 2010-04-28 | 2010-04-28 | Image processing apparatus, alteration detection system and detection method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011233049A (en) |
-
2010
- 2010-04-28 JP JP2010104530A patent/JP2011233049A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6424499B2 (en) | Image forming apparatus, information processing method, and program | |
JP4780179B2 (en) | Information processing apparatus and information processing program | |
US10305961B2 (en) | Information processing apparatus, information processing apparatus control method, and storage medium storing program | |
US20130074048A1 (en) | System, information processing apparatus and control method thereof, image forming apparatus and control method thereof, and computer-readable medium | |
US20110067088A1 (en) | Image processing device, information processing method, and recording medium | |
JP6303979B2 (en) | Information processing system, information processing apparatus, information processing method, and program | |
JP6380009B2 (en) | Information processing system, authentication method, and information processing apparatus | |
JP6372311B2 (en) | Information processing system, electronic device, service authorization method and program | |
JP5268694B2 (en) | License management system, image forming apparatus, and license management method | |
US20090021789A1 (en) | Image forming apparatus performing function related to external apparatus | |
US20160026777A1 (en) | Information processing system, method of controlling the system, information processing apparatus, web server, and storage medium | |
JP2008083941A (en) | Information embedding device, information embedding program, inforamtion embedding system, information reader, infomration reading program and infomation reading system | |
JP5658852B2 (en) | Printing system | |
JP5133387B2 (en) | Multifunction machine, control program, and recording medium | |
JP2011060092A (en) | Document management system, document operation device and program | |
JP5261130B2 (en) | Image forming apparatus and image output system | |
JP2019114028A (en) | Application development environment program and device | |
JP2009199236A (en) | Image processor, authentication package installation method, authentication package installation program, and recording medium | |
US9930022B2 (en) | Information processing system, information processing apparatus, method of controlling the same, and storage medium | |
JP5217427B2 (en) | Print job management apparatus and program | |
JP2011233049A (en) | Image processing apparatus, alteration detection system and detection method | |
JP2005348250A (en) | Image forming device, data encipher method, program, and recording medium | |
JP2006211157A (en) | Service providing apparatus, service providing system, and service providing method | |
JP2007088603A (en) | Image processing apparatus, image system, and image processing method | |
JP5135986B2 (en) | Information processing apparatus and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20130417 |