JP2011233049A - Image processing apparatus, alteration detection system and detection method - Google Patents

Image processing apparatus, alteration detection system and detection method Download PDF

Info

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
Application number
JP2010104530A
Other languages
Japanese (ja)
Inventor
Hirohisa Miyamoto
裕久 宮本
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies 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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2010104530A priority Critical patent/JP2011233049A/en
Publication of JP2011233049A publication Critical patent/JP2011233049A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To detect that an application program is altered when executing the application program using an API.SOLUTION: An information processor which discloses the API for developing an application, stores API information which indicates the API which is possible to be called by the application. When a request of processing is accepted from the application outside of this information processor, the information processor detects the API which is called on the accepted process. When the detected API is not indicated by the API information, the information processor does not call the API.

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.

特開2006−344146号公報JP 2006-344146 A

しかし、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.

改ざん検出システムの全体的な構成の例を示す図である。It is a figure which shows the example of the whole structure of a tampering detection system. MFPのハードウェア構成の例を示す図である。2 is a diagram illustrating an example of a hardware configuration of an MFP. FIG. アプリケーションプログラムの開発からMFPに搭載するまでの手順、及び、MFPに搭載するまでに用いる機能ブロックの例を示す図である。FIG. 3 is a diagram illustrating an example of a procedure from development of an application program to installation in an MFP and functional blocks used until installation in the MFP. ユーザ端末及びMFPの機能的構成の例を示すブロック図である。It is a block diagram which shows the example of a functional structure of a user terminal and MFP. アプリケーションの実行処理の例を示す図である。It is a figure which shows the example of the execution process of an application. API抽出リストの構成及び内容の例を示す図である。It is a figure which shows the example of a structure and content of an API extraction list. APIリストの構成及び内容の例を示す図である。It is a figure which shows the example of a structure and content of an API list. 認証データの構成及び内容の例を示す図である。It is a figure which shows the example of a structure and content of authentication data. アプリケーション一覧画面の例を示す図である。It is a figure which shows the example of an application list screen. 認証データ生成装置における認証データ生成処理を示すフローチャートである。It is a flowchart which shows the authentication data generation process in an authentication data generation apparatus. アプリケーションの登録処理を示すフローチャートである。It is a flowchart which shows the registration process of an application. MFPにおけるアプリケーション実行処理を示すフローチャートである。5 is a flowchart showing application execution processing in the MFP. 変形例のAPIリストの構成及び内容の例を示す図である。It is a figure showing an example of composition and contents of an API list of a modification.

<実施形態>
<概要>
実施形態の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 alteration detection system 100 according to an embodiment of the present invention will be described with reference to the drawings.

<構成>
図1は、改ざん検出システム100の全体的な構成の例を示す図である。
<Configuration>
FIG. 1 is a diagram illustrating an example of the overall configuration of a falsification detection system 100.

改ざん検出システム100は、ユーザ端末1000、ユーザ端末1001、ユーザ端末1002、MFP2000、及び、認証データ生成装置3000を有する。尚、図1では、3台のユーザ端末と1台のMFPとを含むこととしているが、それぞれ1台以上であればよい。また、認証データ生成装置3000は1台としているが、1台以上であればよい。   The falsification detection system 100 includes a user terminal 1000, a user terminal 1001, a user terminal 1002, an MFP 2000, and an authentication data generation device 3000. In FIG. 1, three user terminals and one MFP are included, but one or more may be included. Moreover, although the authentication data generation device 3000 is one unit, it may be one or more units.

ユーザ端末1000、ユーザ端末1001及びユーザ端末1002は、いわゆる、パソコン等の端末装置であり、ディスプレイ、キーボード等のインタフェースを備え、MFP2000に印刷ジョブを送信したり、MFP2000からの要求に応じてアプリケーションプログラムを実行したりする。   The user terminal 1000, the user terminal 1001, and the user terminal 1002 are so-called terminal devices such as personal computers, which have an interface such as a display and a keyboard, send print jobs to the MFP 2000, and application programs in response to requests from the MFP 2000. Or execute.

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 user terminal 1000.

認証データ生成装置3000は、いわゆる、パソコン等の端末装置であり、ディスプレイ、キーボード等のインタフェースを備え、アプリケーションプログラムを読み込み、アプリケーションプログラム用の認証データを生成する。この認証データがMFP2000によって肯定的に認証された場合にのみ、アプリケーションプログラムをMFP2000に登録して実行することが可能となる。   The authentication data generation device 3000 is a so-called terminal device such as a personal computer, and includes an interface such as a display and a keyboard, reads an application program, and generates authentication data for the application program. Only when the authentication data is positively authenticated by the MFP 2000, the application program can be registered in the MFP 2000 and executed.

次に、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 MFP 2000. The MFP 2001 and the MFP 2002 have the same configuration.

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 hard disk 20d, a control circuit 20e, an operation panel 20f, a communication interface 20g, a printing device 20h, and an IC card reader. 20i or the like.

制御用回路20eは、ハードディスク20d、操作パネル20f、通信インタフェース20g、印刷装置20h及びICカードリーダ20i等を制御するための回路である。   The control circuit 20e is a circuit for controlling the hard disk 20d, the operation panel 20f, the communication interface 20g, the printing device 20h, the IC card reader 20i, and the like.

操作パネル20fは、タッチパネル方式の表示パネルであって、ユーザに対してメッセージ又は指示を与えるための画面、ユーザが所望する処理の種類及び処理条件を入力するための画面及びCPU20aで実行された処理の結果を示す画面等を表示する。また、ユーザは、操作パネル20fの所定の位置に触れることによってMFP2000に対して指示を与えたり処理条件の指定を行ったり、パスワード等を入力することができる。このように、操作パネル20fは、MFP2000を操作するユーザのユーザインタフェースの役割を果たしている。   The operation panel 20f is a touch panel display panel, a screen for giving a message or an instruction to the user, a screen for inputting a processing type and processing conditions desired by the user, and processing executed by the CPU 20a. A screen showing the result is displayed. In addition, the user can give an instruction to the MFP 2000, specify processing conditions, and input a password or the like by touching a predetermined position on the operation panel 20f. As described above, the operation panel 20f serves as a user interface of a user who operates the MFP 2000.

また、通信インタフェース20gは、通信回線を介して認証データ生成装置3000等の装置とTCP/IP(Transmission Control Protocol/Internet Protocol)で通信を行うためのNIC(Network Interface Card)又はモデム等である。   The communication interface 20g is a network interface card (NIC) or a modem for communicating with a device such as the authentication data generation device 3000 via a communication line using TCP / IP (Transmission Control Protocol / Internet Protocol).

印刷装置20hは、ユーザ端末1000等から取得した印刷ジョブの印刷データに基づいて再現される画像を用紙に印刷する装置である。   The printing apparatus 20h is an apparatus that prints an image reproduced based on print data of a print job acquired from the user terminal 1000 or the like on a sheet.

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 falsification detection system 100 will be described in two parts. There are two cases: when an application is developed and installed in MFP 2000, and when an application installed in MFP 2000 is executed.

<アプリケーションを搭載する場合>
図3を用いて、アプリケーションプログラムの開発からMFP2000に搭載するまでの手順を説明するとともに、MFP2000に搭載するまでに用いる各装置の機能を説明する。
<When installing an application>
A procedure from development of an application program to installation in the MFP 2000 will be described with reference to FIG. 3 and functions of each device used until installation in the MFP 2000 will be described.

まず、アプリケーションプログラム開発業者(以下、「ベンダー」という。)は、アプリ開発装置4000においてアプリケーションプログラム4010を開発する。このアプリケーションプログラムは、MFP2000が提供するAPIを使用するものである。   First, an application program developer (hereinafter referred to as “vendor”) develops an application program 4010 in the application development device 4000. This application program uses an API provided by the MFP 2000.

次に、ベンダーは、開発したアプリケーションプログラム4010のソースコードをMFP製造業者に渡して検証を依頼する(矢印10参照)。   Next, the vendor hands over the source code of the developed application program 4010 to the MFP manufacturer and requests verification (see arrow 10).

MFP製造業者は、認証データ生成装置3000において、認証データ3210を生成してベンダーに渡す。   The MFP manufacturer generates authentication data 3210 in the authentication data generation device 3000 and passes it to the vendor.

ここで、認証データ生成装置3000は、API抽出部3100及び認証データ生成部3200を有する。   Here, the authentication data generation device 3000 includes an API extraction unit 3100 and an authentication data generation unit 3200.

API抽出部3100は、アプリケーションプログラム4010が呼び出しているAPIを抽出する機能を有する。   The API extraction unit 3100 has a function of extracting an API called by the application program 4010.

具体的には、API抽出部3100は、アプリケーションプログラム4010のソースコードに、コメント等としてではなく、実行するために記載されているAPIの名称を抽出する。   Specifically, the API extraction unit 3100 extracts the name of the API described for execution, not as a comment or the like, in the source code of the application program 4010.

認証データ生成部3200は、API抽出部3100が抽出したAPIの名称、及び、認証に必要な情報を含んだ認証データ3210を生成する機能を有する。認証データ3210の詳細は、<データ>の項で説明する。   The authentication data generation unit 3200 has a function of generating authentication data 3210 including the API name extracted by the API extraction unit 3100 and information necessary for authentication. Details of the authentication data 3210 will be described in the section <Data>.

MFP製造業者は、生成した認証データ3210を暗号化してベンダーに渡す。例えば、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)等の方式を用いて暗号化する。   The MFP manufacturer encrypts the generated authentication data 3210 and passes it to the vendor. For example, encryption is performed using a method such as DES (Data Encryption Standard) or AES (Advanced Encryption Standard).

暗号化した認証データ3210(以下、「暗号化認証データ3210」という。)を渡されたベンダーは、渡された暗号化認証データ3210を組み込んだアプリケーションプログラム4011を販売する(矢印11参照)。   The vendor who has received the encrypted authentication data 3210 (hereinafter referred to as “encrypted authentication data 3210”) sells an application program 4011 incorporating the passed encrypted authentication data 3210 (see arrow 11).

アプリケーションプログラムを購入したユーザは、購入したアプリケーションプログラム4011をユーザ端末1000にインストールし、アプリケーションをMFP2000に登録する(矢印12参照)。アプリケーションプログラム4011によって実現できる機能を「アプリケーション」といい、MFP2000で実行することができるようにすることを「登録」という。   The user who purchased the application program installs the purchased application program 4011 in the user terminal 1000 and registers the application in the MFP 2000 (see arrow 12). A function that can be realized by the application program 4011 is referred to as an “application”, and the function that can be executed by the MFP 2000 is referred to as “registration”.

実施形態では、アプリケーションプログラム4011が登録用のプログラムを含んでおり、そのプログラムを実行して実現される登録ツール1450によって、アプリケーションの登録処理を行う。   In the embodiment, the application program 4011 includes a registration program, and an application registration process is performed by a registration tool 1450 realized by executing the program.

登録処理において、アプリケーションプログラム4011内の暗号化認証データ3210がMFP2000に送信され、MFP2000によって肯定的な認証がなされた場合に、アプリケーションプログラム4011の実行に必要な情報、例えば、ユーザ端末1000のIPアドレス等、及び、必要に応じてプログラム等がMFP2000に記憶される。   In the registration process, when the encrypted authentication data 3210 in the application program 4011 is transmitted to the MFP 2000 and positive authentication is performed by the MFP 2000, information necessary for executing the application program 4011, for example, the IP address of the user terminal 1000 Etc., and programs and the like are stored in the MFP 2000 as necessary.

ここで、MFP2000は、アプリ認証部2810を含むアプリ登録部2800を有する。尚、図3では、MFP2000が備える機能のうち、登録処理に関係する機能のみを記載している。   Here, the MFP 2000 has an application registration unit 2800 including an application authentication unit 2810. Note that FIG. 3 shows only functions related to the registration process among the functions of the MFP 2000.

アプリ登録部2800は、ユーザ端末1000の登録ツール1450から登録要求を受け、アプリケーションをMFP2000に登録する機能を有する。アプリ登録部2800は、登録要求を受信する際、暗号化認証データ3210も受信する。この暗号化認証データ3210が、アプリ認証部2810により肯定的な認証がなされた場合にのみ、アプリ登録部2800はアプリケーションの登録処理を行う。   Application registration unit 2800 has a function of receiving a registration request from registration tool 1450 of user terminal 1000 and registering the application in MFP 2000. The application registration unit 2800 also receives the encrypted authentication data 3210 when receiving the registration request. The application registration unit 2800 performs an application registration process only when the encrypted authentication data 3210 is positively authenticated by the application authentication unit 2810.

実施形態では、登録処理として次の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 operation panel 20f (see FIG. 2) of the MFP 2000, for example, an application name is stored in the user information storage unit 5000. In the embodiment, the name of the application registered by the user is stored in association with the user ID.

2つ目は、アプリケーションで使用されているAPIの名称をAPIリスト記憶部5200に記憶する。実施形態では、APIの名称を示すリストがアプリケーションプログラム毎に記憶されている。   Second, the API name used in the application is stored in the API list storage unit 5200. In the embodiment, a list indicating the name of the API is stored for each application program.

3つ目は、アプリケーションを実行する際に必要な情報等、例えば、MFP2000側で実行する処理を記述したアプリケーションプログラム等を、アプリケーションプログラム4011から受信し、アプリ記憶部5100に記憶する。アプリケーションプログラム4011から取得する情報の内容は、それぞれのアプリケーションによって異なる。   Third, information necessary for executing an application, such as an application program describing processing executed on the MFP 2000 side, is received from the application program 4011 and stored in the application storage unit 5100. The content of information acquired from the application program 4011 differs depending on each application.

アプリ認証部2810は、暗号化認証データ3210を認証し、認証結果をアプリ登録部2800に渡す機能を有する。   The application authentication unit 2810 has a function of authenticating the encrypted authentication data 3210 and passing the authentication result to the application registration unit 2800.

具体的には、アプリ認証部2810は、認証データ生成装置3000が認証データ3210を暗号化した鍵と同じ鍵を記憶しており、その鍵を用いて暗号化認証データ3210を復号する。その鍵と、復号した認証データ3210に含まれる認証キーとが同じである場合に、認証データは正当なデータであると判断して、肯定的な認証結果をアプリ登録部2800に渡す。   Specifically, the application authentication unit 2810 stores the same key as the key obtained by encrypting the authentication data 3210 by the authentication data generation device 3000, and decrypts the encrypted authentication data 3210 using the key. When the key and the authentication key included in the decrypted authentication data 3210 are the same, it is determined that the authentication data is valid data, and a positive authentication result is passed to the application registration unit 2800.

<アプリケーションを実行する場合>
次に、図4を用いて、MFP2000に搭載されたアプリケーションを実行する場合に用いる各装置の機能を説明する。
<When executing an application>
Next, functions of each device used when executing an application installed in the MFP 2000 will be described with reference to FIG.

図4は、ユーザ端末1000、及び、MFP2000の機能的構成の例を示すブロック図である。   FIG. 4 is a block diagram illustrating examples of functional configurations of the user terminal 1000 and the MFP 2000.

ユーザ端末1000〜ユーザ端末1002(図1参照)は、本発明に係る機能について同様の機能を備える。従って、ここではユーザ端末1000を説明する。   The user terminals 1000 to 1002 (see FIG. 1) have the same functions as the functions according to the present invention. Accordingly, the user terminal 1000 will be described here.

ユーザ端末1000は、通信部1100、送信データ生成部1200、受信データ解析部1300、アプリケーション1400、登録ツール1450、及び、アプリケーションプログラム記憶部1500を有する。   The user terminal 1000 includes a communication unit 1100, a transmission data generation unit 1200, a reception data analysis unit 1300, an application 1400, a registration tool 1450, and an application program storage unit 1500.

以下に説明するユーザ端末1000の各部の機能の一部又は全部は、ユーザ端末1000が備えるメモリに格納されているプログラムが、ユーザ端末1000が備えるCPUにより実行されることで実現される。   Some or all of the functions of the respective units of the user terminal 1000 described below are realized by executing a program stored in a memory included in the user terminal 1000 by a CPU included in the user terminal 1000.

通信部1100は、MFP2000と通信する機能を有する。具体的には、MFP2000から処理の要求等を受信したり、処理の結果等を送信したりする。実施形態では、MFP2000とのやり取りは、例えば、XML形式のデータ(以下、「XMLデータ」という。)で行うものとする。   The communication unit 1100 has a function of communicating with the MFP 2000. Specifically, a process request or the like is received from the MFP 2000, or a process result or the like is transmitted. In the embodiment, the exchange with the MFP 2000 is performed, for example, in XML format data (hereinafter referred to as “XML data”).

アプリケーション1400は、アプリケーションプログラム記憶部1500から、アプリケーションプログラムを読み出して実行することで実現されるアプリケーションを示す。   An application 1400 indicates an application realized by reading an application program from the application program storage unit 1500 and executing it.

登録ツール1450は、アプリケーションプログラム記憶部1500から、登録用のプログラムを読み出して実行することで実現される登録ツールを示す。   The registration tool 1450 indicates a registration tool that is realized by reading a registration program from the application program storage unit 1500 and executing it.

送信データ生成部1200は、アプリケーション1400から指示されてMFP2000に送信するXMLデータを生成する機能を有する。   The transmission data generation unit 1200 has a function of generating XML data that is instructed from the application 1400 and transmitted to the MFP 2000.

また、受信データ解析部1300は、MFP2000から受信したXMLデータを解析し、解析結果に応じてアプリケーション1400に指示等を出す機能を有する。   The received data analysis unit 1300 has a function of analyzing the XML data received from the MFP 2000 and issuing an instruction or the like to the application 1400 according to the analysis result.

この送信データ生成部1200及び受信データ解析部1300は、実際には、アプリケーションプログラムの一部として記述されている場合もある。   The transmission data generation unit 1200 and the reception data analysis unit 1300 may actually be described as part of an application program.

アプリケーションプログラム記憶部1500は、ユーザによってインスロールされたアプリケーションプログラム4011(図3参照)を記憶しておく機能を有する。   The application program storage unit 1500 has a function of storing an application program 4011 (see FIG. 3) installed by the user.

MFP2000は、通信部2100、送信データ生成部2200、受信データ解析部2300、アプリケーション2400、操作部2500、ログイン情報認証部2600、アプリ選択部2700、アプリ登録部2800、ユーザ情報記憶部5000、アプリ記憶部5100、APIリスト記憶部5200、及び、APIプログラム記憶部5300を有する。   The MFP 2000 includes a communication unit 2100, a transmission data generation unit 2200, a reception data analysis unit 2300, an application 2400, an operation unit 2500, a login information authentication unit 2600, an application selection unit 2700, an application registration unit 2800, a user information storage unit 5000, and an application storage. A section 5100, an API list storage section 5200, and an API program storage section 5300.

以下に説明するMFP2000の各部の機能の一部又は全部は、MFP2000のハードディスク20d等のメモリに格納されているプログラムが、CPU20aにより実行されることで実現される。   A part or all of the functions of each unit of the MFP 2000 described below is realized by the CPU 20a executing a program stored in a memory such as the hard disk 20d of the MFP 2000.

通信部2100は、ユーザ端末1000と通信する機能を有する。具体的には、ユーザ端末1000に処理の要求等を送信したり、処理の結果等を受信したりする。実施形態では、ユーザ端末1000とのやり取りは、例えば、XML形式のデータで行うものとする。   The communication unit 2100 has a function of communicating with the user terminal 1000. Specifically, a processing request or the like is transmitted to the user terminal 1000, or a processing result or the like is received. In the embodiment, the exchange with the user terminal 1000 is performed, for example, in XML format data.

アプリケーション2400は、アプリ記憶部5100から、アプリケーションプログラムを読み出して実行することで実現されるアプリケーションを示す。   An application 2400 indicates an application realized by reading an application program from the application storage unit 5100 and executing it.

送信データ生成部2200は、アプリケーション2400から指示されてユーザ端末1000に送信するXMLデータを生成する機能を有する。   The transmission data generation unit 2200 has a function of generating XML data that is instructed from the application 2400 and transmitted to the user terminal 1000.

受信データ解析部2300は、ユーザ端末1000から受信したXMLデータを解析し、解析結果に応じてアプリケーション2400に指示等を出す機能を有する。   The reception data analysis unit 2300 has a function of analyzing the XML data received from the user terminal 1000 and issuing an instruction or the like to the application 2400 according to the analysis result.

この送信データ生成部2200及び受信データ解析部2300は、実際には、アプリケーションプログラムの一部として記述されている場合もある。   The transmission data generation unit 2200 and the reception data analysis unit 2300 may actually be described as part of an application program.

操作部2500は、操作パネル20f及びICカードリーダ20iを含み、操作に応じた表示画面を操作パネル20f表示し、ユーザからの指示を取得する機能を有する。   The operation unit 2500 includes an operation panel 20f and an IC card reader 20i, and has a function of displaying a display screen corresponding to the operation on the operation panel 20f and acquiring an instruction from the user.

また、操作部2500は、MFP2000を使用しようとするユーザから、ログイン情報、具体的には、ユーザIDを取得する機能を有する。詳細には、かざされたICカードからICカードリーダ20iが読み取ったユーザIDを取得する。   The operation unit 2500 has a function of acquiring login information, specifically, a user ID from a user who intends to use the MFP 2000. Specifically, the user ID read by the IC card reader 20i is acquired from the held IC card.

ログイン情報認証部2600は、ユーザ情報記憶部5000が記憶しているユーザに関する情報であるユーザ情報を参照して、ログイン情報を認証する機能を有する。ログイン情報認証部2600は、ユーザ情報にログイン情報が登録されていれば肯定的な認証結果とし、登録されていなければ否定的な認証結果とする。認証結果は、操作部2500に通知する。   The login information authentication unit 2600 has a function of authenticating login information with reference to user information that is information about the user stored in the user information storage unit 5000. The login information authentication unit 2600 sets a positive authentication result if the login information is registered in the user information, and sets a negative authentication result if the login information is not registered. The authentication result is notified to the operation unit 2500.

アプリ選択部2700は、ログイン情報で示されるユーザがインストールしたアプリケーションの名称を操作パネル20fに表示し、ユーザによって選択されたアプリケーション名を取得し、選択した名称のアプリケーションを起動する機能を有する。   The application selection unit 2700 has a function of displaying the name of the application installed by the user indicated by the login information on the operation panel 20f, acquiring the application name selected by the user, and starting the application with the selected name.

アプリ登録部2800は、ユーザ端末1000の登録ツール1450から登録要求を受け、アプリケーションをMFP2000に登録する機能を有する(図3及び図3の説明参照)。   The application registration unit 2800 has a function of receiving a registration request from the registration tool 1450 of the user terminal 1000 and registering an application in the MFP 2000 (see the description of FIGS. 3 and 3).

ユーザ情報記憶部5000は、ユーザに関する情報であるユーザ情報を記憶しておく機能を有する。具体的には、MFP2000を使用する権限を有するユーザのユーザID、及び、ユーザIDと対応付けて当該ユーザがインストールしたアプリケーション名等を記憶している。アプリ選択部2700は、このユーザIDと対応付けて記憶しているアプリケーション名等を参照して、アプリケーション一覧を操作パネル20fに表示する。   The user information storage unit 5000 has a function of storing user information that is information about the user. Specifically, a user ID of a user who has authority to use MFP 2000, an application name installed by the user in association with the user ID, and the like are stored. The application selection unit 2700 displays an application list on the operation panel 20f with reference to the application name stored in association with the user ID.

アプリ記憶部5100は、ユーザがインストールしたアプリケーションを実行するために必要なプログラム、データ等を記憶しておく機能を有する。   The application storage unit 5100 has a function of storing programs, data, and the like necessary for executing an application installed by the user.

APIリスト記憶部5200は、登録されたアプリケーションで使用されているAPIの名称を示すリストを、アプリケーション毎に記憶しておく機能を有する。   The API list storage unit 5200 has a function of storing a list indicating the names of APIs used in registered applications for each application.

APIプログラム記憶部5300は、登録されたアプリケーションを実行する際に必要な情報等、例えば、ユーザ端末1000のIPアドレス、MFP2000側で実行する処理を記述したアプリケーションプログラム、実行に必要なデータ等を記憶しておく機能を有する。   The API program storage unit 5300 stores information necessary for executing a registered application, such as an IP address of the user terminal 1000, an application program describing processing executed on the MFP 2000 side, data required for execution, and the like. It has a function to keep.

ここで、図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 MFP 2000 under an arbitrary directory of the user terminal 1000.

このアプリケーションでは、ユーザ端末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 user terminal 1000 on the operation panel 20f of the MFP 2000, and an API “API03” is used to scan an image printed on paper. ing. Also, an API “API01” that reads scan data stored in the scan data storage unit of the MFP 2000 is used. Therefore, when an API other than “API01”, “API02”, and “API03” is called, the application program is falsified.

2つ目は、認証サーバ1010に認証情報を送信して、認証結果を受信するアプリケーション「認証アプリ」である。   The second is an application “authentication application” that transmits authentication information to the authentication server 1010 and receives an authentication result.

このアプリケーションでは、MFP2000のAPIを使用しない。従って、何らかのAPIが呼び出されたら、アプリケーションプログラムが改ざんされていることになる。   This application does not use the MFP 2000 API. Therefore, when any API is called, the application program is falsified.

3つ目は、印刷ジョブ蓄積サーバ装置1020から読み出して印刷するアプリケーション「プルプリントアプリ」である。   A third application is an “pull print application” that is read from the print job storage server apparatus 1020 and prints.

このアプリケーションでは、印刷ジョブ蓄積サーバ装置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 storage server apparatus 1020 on the operation panel 20f of the MFP 2000, and the print job is printed. For this purpose, the API “API04” is used. Therefore, when an API other than “API02” and “API04” is called, the application program is falsified.

<データ>
以下、本実施形態の改ざん検出システム100で用いる主なデータについて図6〜図8を用いて説明する。
<Data>
Hereinafter, main data used in the falsification detection system 100 of the present embodiment will be described with reference to FIGS.

図6は、API抽出リスト3110の構成及び内容の例を示す図である。   FIG. 6 is a diagram illustrating an example of the configuration and contents of the API extraction list 3110.

このAPI抽出リスト3110は、認証データ生成装置3000のAPI抽出部3100(図3参照)がAPIを抽出する際に、作業メモリに作成される。   The API extraction list 3110 is created in the working memory when the API extraction unit 3100 (see FIG. 3) of the authentication data generation device 3000 extracts the API.

API抽出リスト3110は、使用有無3111及びAPI名3112で構成され、MFP2000が公開しているAPI1つに対してこの構成の1レコードが登録されている。   The API extraction list 3110 includes a usage status 3111 and an API name 3112, and one record of this configuration is registered for one API published by the MFP 2000.

使用有無3111は、API名3112で示されるAPIを使用しているか否かを示す。「○」は、使用されていることを示し、「×」は使用されていないことを示す。   Use / non-use 3111 indicates whether or not the API indicated by the API name 3112 is used. “◯” indicates that it is used, and “×” indicates that it is not used.

API名3112は、APIの名称を示す。   An API name 3112 indicates the name of the API.

API抽出部3100は、API抽出リスト3110のレコードにAPI名3112として設定されているAPIの名称を、アプリケーションプログラムのソースコードから検索する。検索されたAPIの名称の記載が、APIを実行させるための記載である場合は、そのレコードの使用有無3111として「○」を設定する。ソースコードにAPIの名称が記載されていない、又は、記載されていても実行させるためではない、例えば、コメントとして記載してある等の場合は、「×」を設定する。   The API extraction unit 3100 searches for the name of the API set as the API name 3112 in the record of the API extraction list 3110 from the source code of the application program. When the description of the searched API name is a description for executing the API, “O” is set as the use / non-use 3111 of the record. If the API name is not described in the source code or is not executed even if it is described, for example, it is described as a comment, “X” is set.

API抽出部3100は、API抽出リスト3110の全レコードについて、この処理を行う。   The API extraction unit 3100 performs this process for all records in the API extraction list 3110.

図7は、APIリスト5210の構成及び内容の例を示す図である。   FIG. 7 is a diagram showing an example of the configuration and contents of the API list 5210.

このAPIリスト5210は、認証データ生成装置3000の認証データ生成部3200(図3参照)によって生成され、認証データ3210に含まれる。   The API list 5210 is generated by the authentication data generation unit 3200 (see FIG. 3) of the authentication data generation device 3000 and is included in the authentication data 3210.

APIリスト5210は、番号5211及びAPI名5212で構成され、アプリケーション毎に1つ作成される。   The API list 5210 includes a number 5211 and an API name 5212, and one is created for each application.

番号5211は、レコードの番号を示す。すなわち、API名5212で示されるAPIの番号を示す。   A number 5211 indicates a record number. That is, the API number indicated by the API name 5212 is indicated.

API名5212は、APIの名称を示す。   The API name 5212 indicates the name of the API.

このAPIリスト5210は、API抽出リスト3110の使用有無3111として「○」が設定されているレコードに、API名3112として設定されているAPIの名称を抽出して生成したものである。   This API list 5210 is generated by extracting the name of the API set as the API name 3112 in a record in which “O” is set as the usage status 3111 of the API extraction list 3110.

従って、API名5212が示すAPIの名称は、アプリケーションプログラムのソースコードにおいて、実行させる形式で記載されているものである。すなわち、そのアプリケーションが実行された場合に、呼び出される可能性があるAPIを示している。   Therefore, the name of the API indicated by the API name 5212 is described in a format to be executed in the source code of the application program. That is, it shows an API that may be called when the application is executed.

図8は、認証データ3210の構成及び内容の例を示す図である。   FIG. 8 is a diagram illustrating an example of the configuration and contents of the authentication data 3210.

この認証データ3210は、認証データ生成装置3000の認証データ生成部3200(図3参照)によって生成される。   The authentication data 3210 is generated by an authentication data generation unit 3200 (see FIG. 3) of the authentication data generation device 3000.

認証データ3210は、項目3211及び内容3212で構成され、アプリケーション毎に1つ作成される。   The authentication data 3210 includes items 3211 and contents 3212, and is created for each application.

項目3211は、認証データ3210に含まれる項目を示す。   An item 3211 indicates an item included in the authentication data 3210.

内容3212は、項目3211で示される項目の内容を示す。   A content 3212 indicates the content of the item indicated by the item 3211.

例えば、項目3211「アプリ名称」は、この認証データ3210が付与されたアプリケーションプログラムを実行した場合のアプリケーションの名称を示す。項目3211「ベンダー名称」は、アプリケーションプログラムを作成したベンダーの名称を示し、項目3211「アプリ概要」は、アプリケーションの内容を示す。項目3211「有効期限」は、この認証データ3210の有効期限を示す。   For example, the item 3211 “application name” indicates the name of the application when the application program to which the authentication data 3210 is assigned is executed. The item 3211 “vendor name” indicates the name of the vendor who created the application program, and the item 3211 “application overview” indicates the contents of the application. The item 3211 “expiration date” indicates the expiration date of the authentication data 3210.

また、項目3211「認証キー」は、この認証データ3210の正当性を確認するために参照するデータである。また、この「認証キー」で示される鍵を用いて、認証データ3210を暗号化する。   The item 3211 “authentication key” is data referred to in order to confirm the validity of the authentication data 3210. Also, the authentication data 3210 is encrypted using the key indicated by this “authentication key”.

項目3211「API情報」は、この認証データ3210が付与されたアプリケーションプログラムで用いられているAPIを示す情報である。内容3212としてAPIリスト5210(図7参照)が設定される。   The item 3211 “API information” is information indicating an API used in the application program to which the authentication data 3210 is assigned. An API list 5210 (see FIG. 7) is set as the content 3212.

<表示画面>
以下、本実施形態の改ざん検出システム100で用いる表示画面について図9を用いて説明する。ここで説明する表示画面は、MFP2000の操作パネル20fに表示される画面例である。
<Display screen>
Hereinafter, a display screen used in the falsification detection system 100 of the present embodiment will be described with reference to FIG. The display screen described here is an example of a screen displayed on operation panel 20f of MFP 2000.

図9は、アプリケーション一覧画面2520の例を示す図である。   FIG. 9 is a diagram illustrating an example of the application list screen 2520.

このアプリケーション一覧画面2520には、ログインしたユーザが登録したアプリケーションの名称及び機能の一覧が表示される。ユーザは、カーソルを移動して実行したいアプリケーションを選択する。図9では、アプリ名が「AP−Scan」のアプリケーションがカーソル2521で選択されている。ここで、「OK」ボタンを押下すると、選択されたアプリケーションが起動される。   The application list screen 2520 displays a list of application names and functions registered by the logged-in user. The user moves the cursor and selects an application to be executed. In FIG. 9, an application whose application name is “AP-Scan” is selected with the cursor 2521. Here, when the “OK” button is pressed, the selected application is activated.

<動作>
以下、実施形態の改ざん検出システム100の動作について、図10〜図12を用いて説明する。
<Operation>
Hereinafter, the operation of the falsification detection system 100 according to the embodiment will be described with reference to FIGS.

ここでは、次の3つの処理について説明する。   Here, the following three processes will be described.

1つ目は、認証データ生成装置3000における認証データ3210を生成する処理である。2つ目は、アプリケーションをMFP2000に登録する処理である。3つ目は、MFP2000においてアプリケーションを実行する処理である。   The first is processing for generating authentication data 3210 in the authentication data generating device 3000. The second is processing for registering an application in the MFP 2000. The third is processing for executing an application in the MFP 2000.

<認証データ生成処理>
図10は、認証データ生成装置3000(図3参照)における認証データ3210を生成する処理を示すフローチャートである。
<Authentication data generation process>
FIG. 10 is a flowchart showing a process for generating authentication data 3210 in authentication data generation apparatus 3000 (see FIG. 3).

ベンダーは、アプリケーションプログラム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 application program 4010 includes a plurality of source codes, all source codes are passed.

MFP製造業者は、渡されたソースコードを認証データ生成装置3000の作業メモリに記憶させ、インタフェースを介してAPI抽出部3100にAPIの抽出を指示する。   The MFP manufacturer stores the passed source code in the working memory of the authentication data generation device 3000 and instructs the API extraction unit 3100 to extract the API via the interface.

API抽出部3100は、作業メモリからソースコードを読み込む(ステップS100)。   The API extraction unit 3100 reads the source code from the working memory (step S100).

次に、API抽出部3100は、API抽出リスト3110(図6参照)の全のレコードの使用有無3111として「×」を設定する。API名3112は、予め設定されているものとする。   Next, the API extraction unit 3100 sets “x” as the usage status 3111 of all the records in the API extraction list 3110 (see FIG. 6). It is assumed that the API name 3112 is set in advance.

API抽出部3100は、API抽出リスト3110の最初のレコードから最後のレコードまで順に(ステップS140:Yes)、API名3112として設定されているAPIの名称を、アプリケーションプログラムのソースコードから検索する(ステップS110)。   The API extraction unit 3100 sequentially searches for the API name set as the API name 3112 from the source code of the application program from the first record to the last record in the API extraction list 3110 (step S140: Yes) (step S140). S110).

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 / non-use 3111 of the record (step S130).

ソースコードに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 extraction unit 3100 that has processed up to the last record of the API extraction list 3110 (step S140: No), and if the next source code is stored in the working memory (step S150: Yes), the process proceeds from step S110 to step S140. Repeat the process.

すべてのソースコードからAPIの名称の抽出処理を行ったAPI抽出部3100は、API抽出リスト3110を認証データ生成部3200に渡す。   The API extraction unit 3100 that has performed the API name extraction processing from all the source codes passes the API extraction list 3110 to the authentication data generation unit 3200.

API抽出リスト3110を渡された認証データ生成部3200は、API抽出リスト3110から使用有無3111として「○」が設定されているレコードの、API名3112として設定されているAPIの名称を抜き出してAPIリスト5210を生成する(ステップS160)。   The authentication data generation unit 3200 to which the API extraction list 3110 is passed extracts the API name set as the API name 3112 from the API extraction list 3110 in which “O” is set as the usage status 3111. A list 5210 is generated (step S160).

APIリスト5210を生成した認証データ生成部3200は、生成したAPIリスト5210を認証データ3210の項目3211「API情報」の内容3212として設定する。また、認証データ生成部3200は、認証データ3210の他の項目3211「アプリ名称」等のそれぞれの内容3212にデータを設定し、認証データ3210を生成する(ステップS170)。   The authentication data generation unit 3200 that generated the API list 5210 sets the generated API list 5210 as the content 3212 of the item 3211 “API information” of the authentication data 3210. Further, the authentication data generation unit 3200 sets data in each content 3212 such as the other item 3211 “application name” of the authentication data 3210, and generates the authentication data 3210 (step S170).

認証データ3210を生成した認証データ生成部3200は、認証データ3210の項目3211「認証キー」の内容3212として設定されている鍵を用いて、生成した認証データ3210を暗号化する(ステップS180)。   The authentication data generation unit 3200 that generated the authentication data 3210 encrypts the generated authentication data 3210 using the key set as the content 3212 of the item 3211 “authentication key” of the authentication data 3210 (step S180).

MFP製造業者は、暗号化された認証データ3210をベンダーに渡す。   The MFP manufacturer gives the encrypted authentication data 3210 to the vendor.

<アプリケーション登録処理>
図11は、アプリケーションをMFP2000に登録する処理を示すフローチャートである。
<Application registration process>
FIG. 11 is a flowchart showing processing for registering an application in MFP 2000.

ユーザは、ユーザ端末1000のインタフェースを介して、登録ツール1450を起動し、登録するMFP2000を指定する(ステップS200)。   The user activates the registration tool 1450 via the interface of the user terminal 1000 and designates the MFP 2000 to be registered (step S200).

登録ツールは、指定されたMFP2000に、アプリケーションプログラム4011に含まれている暗号化認証データ3210を送信して登録を要求する(ステップS210)。   The registration tool transmits the encrypted authentication data 3210 included in the application program 4011 to the designated MFP 2000 to request registration (step S210).

MFP2000は、暗号化認証データ3210及び登録要求を受信すると、アプリ登録部2800に暗号化認証データ3210を渡して、登録を依頼する。   Upon receiving the encrypted authentication data 3210 and the registration request, the MFP 2000 passes the encrypted authentication data 3210 to the application registration unit 2800 and requests registration.

依頼を受けたアプリ登録部2800は、内部に鍵を用いて暗号化認証データ3210を復号する(ステップS220)。復号した認証データ3210の項目3211「認証キー」の内容3212として設定されている認証キーが、復号に用いた鍵と同じである場合には、認証データは正当なデータであると判断して肯定的な認証結果とする。内容3212として設定されている認証キーが、復号に用いた鍵と異なる場合に、認証データは正当でないデータであると判断して否定的な認証結果とする。また、項目3211「有効期限」の内容3212として設定されている日時が、現在、すなわち、認証時の日時よりも前である場合には、否定的な認証結果とする。   Upon receiving the request, the application registration unit 2800 decrypts the encrypted authentication data 3210 using a key therein (step S220). If the authentication key set as the content 3212 of the item 3211 “authentication key” of the decrypted authentication data 3210 is the same as the key used for decryption, it is determined that the authentication data is valid and affirmed. Authentication results. If the authentication key set as the content 3212 is different from the key used for decryption, it is determined that the authentication data is invalid and the result is a negative authentication result. If the date and time set as the content 3212 of the item 3211 “expiration date” is present, that is, before the date and time at the time of authentication, a negative authentication result is set.

アプリ認証部2810は、認証結果をアプリ登録部2800に渡す。また、認証結果が肯定的である場合には、復号した認証データ3210もアプリ登録部2800に渡す。   Application authentication unit 2810 passes the authentication result to application registration unit 2800. If the authentication result is affirmative, the decrypted authentication data 3210 is also passed to the application registration unit 2800.

認証結果を受け取ったアプリ登録部2800は、認証結果が否定的であった場合には(ステップS230:NG)、登録処理を終了し、ユーザ端末1000のその旨通知する。   If the authentication result is negative (step S230: NG), the application registration unit 2800 that has received the authentication result ends the registration process and notifies the user terminal 1000 of that fact.

一方、認証結果が肯定的であった場合には(ステップS230:OK)、アプリ登録部2800は、認証データ3210の項目「API情報」の内容3212として設定されているAPIリスト5210を、アプリ記憶部5100に記憶させる(ステップS240)。   On the other hand, if the authentication result is affirmative (step S230: OK), the application registration unit 2800 stores the API list 5210 set as the content 3212 of the item “API information” of the authentication data 3210 in the application storage. The data is stored in the unit 5100 (step S240).

その後、アプリ登録部2800は、認証データ3210の項目「アプリ名称」の内容3212として設定されているアプリケーションの名称等をユーザ情報記憶部5000に記憶する。この際、登録を要求してきたユーザの識別子(ユーザID)と対応付けて記憶する。また、登録されたアプリケーションを実行する際に必要な情報等を、ユーザ端末1000の登録ツール1450から取得する(ステップS250、ステップS260)。   Thereafter, the application registration unit 2800 stores the application name set as the content 3212 of the item “application name” of the authentication data 3210 in the user information storage unit 5000. At this time, it is stored in association with the identifier (user ID) of the user who has requested registration. Further, information necessary for executing the registered application is acquired from the registration tool 1450 of the user terminal 1000 (steps S250 and S260).

<アプリケーション実行処理>
図12は、MFP2000においてアプリケーションを実行する処理を示すフローチャートである。点線で囲った処理は、起動されたアプリケーションが行う処理であり、アプリケーション毎に異なる。ここでは、改ざん検出処理に関する処理を中心に記載している。従って、実際には、ここで記載した処理以外の処理も行われている。
<Application execution processing>
FIG. 12 is a flowchart showing processing for executing an application in MFP 2000. The process surrounded by the dotted line is a process performed by the activated application, and is different for each application. Here, the processing related to the falsification detection processing is mainly described. Therefore, actually, processing other than the processing described here is also performed.

ユーザは、MFP2000を使用するためにログインを行う。具体的には、ユーザが携帯するICカードを、MFP2000に備えられているICカードリーダ20iにかざす。   The user logs in to use MFP 2000. Specifically, the IC card carried by the user is held over the IC card reader 20 i provided in the MFP 2000.

かざされた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 operation unit 2500 passes the received user ID to the login information authentication unit 2600 to request authentication.

依頼されたログイン情報認証部2600は、渡されたユーザIDが、MFP2000を使用する権限を有するユーザを示すユーザIDとしてユーザ情報記憶部5000に記憶されているかを確認する。   The requested login information authentication unit 2600 confirms whether or not the passed user ID is stored in the user information storage unit 5000 as a user ID indicating a user having authority to use the MFP 2000.

記憶されている場合、ログイン情報認証部2600は肯定的に認証されたと判断し、記憶されていない場合、否定的に認証されたと判断し、その認証結果を操作部2500に返す。   If it is stored, the login information authentication unit 2600 determines that it has been authenticated positively. If it is not stored, it determines that it has been authenticated negatively and returns the authentication result to the operation unit 2500.

認証結果を受け取った操作部2500は、認証結果が否定的であった場合は処理を終了し、認証結果が肯定的であった場合はログインを受け付け、操作パネル20fに初期画面を表示する。   The operation unit 2500 that has received the authentication result ends the process if the authentication result is negative, accepts login if the authentication result is positive, and displays an initial screen on the operation panel 20f.

ここで、操作部2500は、ユーザが初期画面においてアプリケーション一覧を表示する操作を行ったことを検知した場合、アプリ選択部2700にユーザIDを渡して、アプリケーション一覧画面2520(図9参照)を表示するよう依頼する。   When the operation unit 2500 detects that the user has performed an operation for displaying an application list on the initial screen, the operation unit 2500 passes the user ID to the application selection unit 2700 and displays the application list screen 2520 (see FIG. 9). Ask to do it.

依頼を受けたアプリ選択部2700は、ユーザIDと対応付けて記憶してあるアプリケーションの名称等をユーザ情報記憶部5000から読み出して、アプリケーション一覧画面2520を操作パネル20fに表示する(ステップS310)。   Upon receiving the request, the application selection unit 2700 reads the application name stored in association with the user ID from the user information storage unit 5000, and displays the application list screen 2520 on the operation panel 20f (step S310).

ここで、ユーザは、実行したいアプリケーションを選択する。具体的には、実行したいアプリケーションの名称にカーソル2521を移動し、「OK」ボタンを押下する。   Here, the user selects an application to be executed. Specifically, the cursor 2521 is moved to the name of the application to be executed, and the “OK” button is pressed.

例えば、図9では、アプリケーションの名称が「AP−Scan」のアプリケーションが選択されている。   For example, in FIG. 9, an application whose application name is “AP-Scan” is selected.

アプリケーションが選択されたことを検出した操作部2500は、選択されたアプリケーションの名称をアプリ選択部2700に通知する(ステップS320)。   The operation unit 2500 that has detected that the application has been selected notifies the application selection unit 2700 of the name of the selected application (step S320).

通知を受けたアプリ選択部2700は、通知されたアプリケーションの名称が示すアプリケーション2400を起動する(ステップS330)。   Upon receiving the notification, the application selection unit 2700 activates the application 2400 indicated by the notified application name (step S330).

アプリケーション2400は、ユーザ端末1000側のアプリケーション1400を起動する等、必要に応じて初期処理を行う(ステップS340)。   The application 2400 performs initial processing as necessary, such as starting the application 1400 on the user terminal 1000 side (step S340).

初期処理を終えたアプリケーション2400は、ユーザ端末1000に要求する処理を示すXMLデータの生成を送信データ生成部2200に指示し、通信部2100を介してユーザ端末1000に送信する。   After completing the initial process, the application 2400 instructs the transmission data generation unit 2200 to generate XML data indicating the process requested to the user terminal 1000, and transmits it to the user terminal 1000 via the communication unit 2100.

ユーザ端末1000の受信データ解析部1300は、通信部1100を介して受信したXMLデータを解析し、解析内容に応じてアプリケーション1400に処理を依頼する。   The received data analysis unit 1300 of the user terminal 1000 analyzes the XML data received via the communication unit 1100 and requests the application 1400 to perform processing according to the analysis content.

アプリケーション1400は、処理に応じてMFP2000が公開するAPIを実行させるためのXMLデータの生成を送信データ生成部1200に指示し、通信部1100を介してMFP2000に送信する。   The application 1400 instructs the transmission data generation unit 1200 to generate XML data for executing the API published by the MFP 2000 according to the processing, and transmits the XML data to the MFP 2000 via the communication unit 1100.

MFP2000の通信部2100を介してXMLデータを受信した受信データ解析部2300は、XMLデータを解析し、呼び出されているAPIを検出する。   The received data analysis unit 2300 that has received the XML data via the communication unit 2100 of the MFP 2000 analyzes the XML data and detects a called API.

APIが呼び出されていない場合(ステップS350:No)、受信データ解析部2300は、XMLデータが示す指示をアプリケーション2400に指示する。   When the API has not been called (step S350: No), the reception data analysis unit 2300 instructs the application 2400 to indicate the instruction indicated by the XML data.

指示を受けたアプリケーション2400は、処理を行う。   Upon receiving the instruction, the application 2400 performs processing.

一方、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 data analysis unit 2300 confirms whether the name of the API is registered in the API list 5210. Specifically, it is confirmed whether the API name is set as the API name 5212 of the API list 5210 stored in the API list storage unit 5200 in association with the name of the application 2400. The reception data analysis unit 2300 determines that the API name is registered when the API name is set, and determines that it is not registered when the API name is not set.

その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 data analysis unit 2300 instructs the application 2400 to execute the API. Upon receiving the instruction, the application 2400 executes the API (step S370).

アプリケーション2400の処理が終わるまで(ステップS380:No)、ステップS350〜ステップS370の処理を繰り返し、処理が終了したら(ステップS380:Yes)、アプリケーション2400は終了処理を行い、アプリケーション2400を終了する(ステップS390)。   Until the processing of the application 2400 is completed (step S380: No), the processing of step S350 to step S370 is repeated, and when the processing is completed (step S380: Yes), the application 2400 performs termination processing and ends the application 2400 (step) S390).

一方、ステップ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 data analysis unit 2300 transmits an error message to the user terminal 1000. (Step S372), the application 2400 performs termination processing, and terminates the application 2400 (step S390).

例えば、図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 data analysis unit 2300 transmits an error message to the user terminal 1000 and ends the application “scan data storage application”.
<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 API list 5220. The API list 5220 is obtained by adding a first parameter 5223, a second parameter 5224, and a third parameter 5225 to the API list 5210.

第1パラメータ5223は、第1パラメータで指定可能なデータの範囲を示している。第2パラメータ5224及び第3パラメータ5225も、同様である。また、「−」は、パラメータが無い、又は、指定可能な範囲が課されていないパラメータであることを示している。   The first parameter 5223 indicates the range of data that can be specified by the first parameter. The same applies to the second parameter 5224 and the third parameter 5225. Further, “-” indicates that there is no parameter or a parameter for which a specifiable range is not imposed.

例えば、API名5212「API001」のレコードの第2パラメータ5224として「0/1/2」が設定されているので、「0」、「1」、「2」のうちのいずれかを設定することが可能である。従って、「3」が設定された場合は、そのAPIを呼び出すことができない。   For example, since “0/1/2” is set as the second parameter 5224 of the record of the API name 5212 “API001”, one of “0”, “1”, and “2” is set. Is possible. Therefore, when “3” is set, the API cannot be called.

このAPIリスト5220の第1パラメータ5223等として設定している値は、認証データ生成装置3000のAPI抽出部3100がソースコードからAPIの名称を抽出する際に、同時に抽出する。すなわち、検証時のアプリケーションプログラムにおいてAPIを呼び出す場合にどのような値をパラメータに設定しているかを抽出しておく。そして、実行時に、その値から外れた値をパラメータとして設定したAPIは実行されないようにする。   The value set as the first parameter 5223 or the like of the API list 5220 is extracted simultaneously when the API extraction unit 3100 of the authentication data generation device 3000 extracts the name of the API from the source code. That is, what value is set as a parameter when the API is called in the application program at the time of verification is extracted. Then, at the time of execution, an API in which a value deviating from the value is set as a parameter is prevented from being executed.

図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 user terminal 1000 and the MFP 2000 uses data in the XML format, but other data formats may be used. It is only necessary that the called API can be detected on the MFP 2000 side.
(3) In the embodiment, the authentication data 3210 including the API list 5210 is encrypted. However, the API list 5210 may be encrypted and the encrypted API list 5210 may be included in the authentication data 3210. Further, the authentication method of the authentication data 3210 is not limited to the example of the embodiment.
(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 list 5210 in which the identification code is set in the API name 5212 may be created.

また、実施形態では、実行時に呼び出すことができる個々の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 list 5210. However, APIs may be grouped and managed in units of groups. For example, any API that reads data can be called by any API.

また、ソースコードから抽出する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 falsification detection system 20h printing device 20f operation panel 100 falsification detection system 1000 1001 1002 user terminal 1010 authentication server 1020 print job storage server device 1100 2100 communication unit 1200 2200 transmission data generation unit 1300 2300 reception data analysis unit 1400 2400 application 1450 registration tool 1500 Application program storage unit 2500 Operation unit 2520 Application list screen 2521 Cursor 2600 Login information authentication unit 2700 Application selection unit 2800 Application registration unit 2810 Application authentication unit 3000 Authentication data generation device 3100 API extraction unit 3110 API extraction list 3200 Authentication data generation unit 3210 Authentication data 4000 Application development device 4010 4011 Application Application program storage unit 5100 application storage unit 5200 API list storage unit 5210 5220 API list 5300 API program storage unit

Claims (6)

アプリケーションプログラムが呼び出すことができる1又は複数のAPI(Application Program Interface)を公開している画像処理装置であって、
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情報は、前記認証情報を生成する際に、当該認証情報と対応付けられているアプリケーションプログラムから呼び出されている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情報によって示されていない場合、又は、前記検出手段で検出した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.
アプリケーションプログラムから呼び出すことができる1又は複数のAPIを公開している画像処理装置を含む改ざん検出システムであって、
アプリケーションプログラムから呼び出されている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.
アプリケーションプログラムが呼び出すことができる1又は複数のAPIを公開しており、1又は複数のアプリケーションプログラムそれぞれが呼び出すことを許可されているAPIを示すAPI情報を、アプリケーションプログラム毎に記憶しているAPI情報記憶手段を備える画像処理装置に、アプリケーションプログラムの改ざんを検出させる検出方法であって、
自装置の外部のアプリケーションプログラムから、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.
アプリケーションプログラムが呼び出すことができる1又は複数のAPIを公開しており、1又は複数のアプリケーションプログラムそれぞれが呼び出すことを許可されているAPIを示すAPI情報を、アプリケーションプログラム毎に記憶しているAPI情報記憶手段を備える画像処理装置に、アプリケーションプログラムの改ざんを検出させるコンピュータプログラムであって、
自装置の外部のアプリケーションプログラムから、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.
JP2010104530A 2010-04-28 2010-04-28 Image processing apparatus, alteration detection system and detection method Pending JP2011233049A (en)

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)

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