JP2010211818A - Storage medium, storage unit, information processing apparatus, information processing method, system, and information processing program - Google Patents

Storage medium, storage unit, information processing apparatus, information processing method, system, and information processing program Download PDF

Info

Publication number
JP2010211818A
JP2010211818A JP2010096199A JP2010096199A JP2010211818A JP 2010211818 A JP2010211818 A JP 2010211818A JP 2010096199 A JP2010096199 A JP 2010096199A JP 2010096199 A JP2010096199 A JP 2010096199A JP 2010211818 A JP2010211818 A JP 2010211818A
Authority
JP
Japan
Prior art keywords
file
pdid
information
identification information
information processing
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.)
Granted
Application number
JP2010096199A
Other languages
Japanese (ja)
Other versions
JP5058293B2 (en
Inventor
Koji Shimizu
浩二 清水
Kunihiro Akiyoshi
邦洋 秋吉
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2010096199A priority Critical patent/JP5058293B2/en
Publication of JP2010211818A publication Critical patent/JP2010211818A/en
Application granted granted Critical
Publication of JP5058293B2 publication Critical patent/JP5058293B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Facsimiles In General (AREA)
  • Control Or Security For Electrophotography (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To cope with a risk that a storage medium is illicitly copied and illicitly used so that a program may be illicitly inputted to an information processing apparatus when the program can be inputted to the information processing apparatus such as an image forming apparatus by using a storage medium such as a memory card. <P>SOLUTION: The storage medium is used for inputting a program for causing the information processing apparatus to perform information processing into an information processing apparatus, wherein the storage medium stores an ID file for storing the ID of the program by encrypting the ID by a key specific to the storage medium or specific to the information processing apparatus. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、メモリカード等の記憶媒体、ハードディスクドライブ等の記憶装置、主たる機能として情報処理機能を備える情報機器/従たる機能として情報処理機能を備える電気機器等の情報処理装置、情報処理方法、情報処理プログラム、システム及び記録媒体に関する。主たる機能として情報処理機能を備える情報機器の具体例としては、パーソナルコンピュータが挙げられる。従たる機能として情報処理機能を備える電気機器の具体例としては、近年、情報処理機能の高度化が目覚しいコピー/プリンタ/スキャナ/ファクシミリ/複合機/融合機等の画像形成装置が挙げられる。   The present invention relates to a storage medium such as a memory card, a storage device such as a hard disk drive, an information device having an information processing function as a main function / an information processing device such as an electric device having an information processing function as a subordinate function, an information processing method, The present invention relates to an information processing program, a system, and a recording medium. As a specific example of an information device having an information processing function as a main function, a personal computer can be cited. As a specific example of an electrical apparatus having an information processing function as a subordinate function, there is an image forming apparatus such as a copy / printer / scanner / facsimile / multifunction machine / multi-function machine, etc., whose information processing function has been advanced in recent years.

近年、コピー機能とプリンタ機能とスキャナ機能とファクシミリ機能を備える複合機や融合機が市販されるようになった。複合機や融合機は、コピーやプリンタとして機能する場合には、画像を印刷用紙に印刷することになり、コピーやスキャナとして機能する場合には、画像を読取原稿から読み取ることになり、ファクシミリとして機能する場合には、画像を電話回線を介して他の機器と授受することになる。   In recent years, multifunction peripherals and multifunction peripherals having a copy function, a printer function, a scanner function, and a facsimile function have come to be marketed. When a multifunction device or multifunction device functions as a copy or a printer, it prints an image on printing paper. When it functions as a copy or a scanner, it reads an image from a read original, and functions as a facsimile. In the case of functioning, images are exchanged with other devices via a telephone line.

複合機や融合機では、アプリケーションやプラットフォームと言った様々なプログラムによって様々な情報処理が実行される。これらのプログラムはこれらの機器に出荷前から実装されているのが普通だが、これらのプログラムをこれらの機器にメモリカードを使用して出荷後に入力できるようになっていたり、これらのプログラムをこれらの機器に装着されているハードディスクドライブに出荷後に追加できるようになっていたりすれば便利である。その一方で、メモリカードが不正にコピーされたり使用されたりして、複合機や融合機にプログラムが不正に入力されてしまう危険性や、ハードディスクドライブを一の機器から他の機器に付け替えると言ったハードディスクドライブに関する不正行為が実行されて、複合機や融合機にプログラムが不正に供給されてしまう危険性もある。   In a multi-function peripheral or a multi-function peripheral, various information processing is executed by various programs such as applications and platforms. These programs are usually installed in these devices before they are shipped, but these programs can be input after shipment using memory cards in these devices, or these programs can be It would be convenient if it could be added to the hard disk drive installed in the device after shipment. On the other hand, there is a risk that a memory card will be illegally copied or used, and the program will be illegally entered into a multifunction device or multi-function device, or that the hard disk drive will be replaced from one device to another. There is also a risk that a fraudulent act related to the hard disk drive is executed and the program is illegally supplied to the multifunction peripheral or the multi-function peripheral.

本発明は、画像形成装置等の情報処理装置にメモリカード等の記憶媒体を使用してプログラムを入力できるような場合において、記憶媒体が不正にコピーされたり使用されたりして、情報処理装置にプログラムが不正に入力されてしまう危険性に対処することを課題とする。   In the case where a program can be input to an information processing apparatus such as an image forming apparatus by using a storage medium such as a memory card, the present invention may cause the information processing apparatus to copy or use the storage medium illegally. The problem is to deal with the risk of unauthorized entry of programs.

本発明は、画像形成装置等の情報処理装置に装着されているハードディスクドライブ等の記憶装置にプログラムを追加できるような場合において、記憶装置に関する不正行為が実行されて、情報処理装置にプログラムが不正に供給されてしまう危険性に対処することを課題とする。   In the present invention, when a program can be added to a storage device such as a hard disk drive mounted on an information processing device such as an image forming device, an illegal act relating to the storage device is executed and the program is illegally processed on the information processing device. The challenge is to address the danger of being supplied to

この目的を達成するために、本願発明の記憶媒体は、情報処理装置に処理を実行させるためのプログラムを当該画像形成装置に入力するための記憶媒体であって、前記プログラムを格納する第一の格納ファイルを備え、前記第一の格納ファイルにはさらに、該プログラムを識別する第一の識別情報と該プログラムが所定の条件に従って作成されたプログラムであることを識別するための第二の識別情報識とが格納されるように構成することができる。   In order to achieve this object, a storage medium of the present invention is a storage medium for inputting a program for causing an information processing apparatus to execute processing to the image forming apparatus, and is a first storage medium for storing the program. A storage file, and the first storage file further includes first identification information for identifying the program and second identification information for identifying that the program is a program created according to a predetermined condition. Knowledge can be stored.

また、この目的を達成するために、本願発明の記憶装置は、情報処理装置に装着されて当該情報処理装置に情報処理を実行させるためのプログラムの記憶先として使用される記憶装置であって、前記プログラムを格納する第一の格納ファイルを備え、前記第一の格納ファイルにはさらに、該プログラムを識別する第一の識別情報と該プログラムが所定の条件に従って作成されたプログラムであることを識別するための第二の識別情報識とが格納されるように構成することができる。   In order to achieve this object, the storage device of the present invention is a storage device that is attached to an information processing device and used as a storage destination of a program for causing the information processing device to execute information processing, A first storage file for storing the program is provided, and the first storage file further includes first identification information for identifying the program and that the program is a program created according to a predetermined condition. It is possible to store the second identification information for storing.

また、この目的を達成するために、本願発明の情報処理装置は、記憶媒体のアプリケーションプログラムファイルに格納されたアプリケーションプログラムによる処理の実行制御を行う情報処理装置であって、前記アプリケーションプログラムファイルに格納される前記アプリケーションプログラムを識別するための識別情報を、該記憶媒体に固有の情報又は当該情報処理装置に固有の情報に基づいて暗号化する識別情報暗号化手段と、前記識別情報暗号化手段によって暗号化された暗号化識別情報を該記憶媒体に登録する登録手段と、前記暗号化識別情報を復号化するための復号鍵を作成する復号鍵作成手段と、前記復号鍵作成手段により作成された復号鍵を用いて、前記暗号化された暗号化識別情報を復号する復号化手段と、前記復号化手段により復号化された復号化識別情報と前記識別情報に基づいて前記アプリケーションプログラムの正当性を判断するアプリケーションプログラム正当性判断手段と、前記アプリケーションプログラムに格納されている、前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別するための識別コードに基づいて、前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別する識別手段と、を備えるように構成することができる。   In order to achieve this object, an information processing apparatus of the present invention is an information processing apparatus that controls execution of processing by an application program stored in an application program file on a storage medium, and is stored in the application program file. Identification information encryption means for encrypting identification information for identifying the application program to be executed based on information unique to the storage medium or information unique to the information processing apparatus, and the identification information encryption means Registered means for registering encrypted encrypted identification information in the storage medium, decryption key creating means for creating a decryption key for decrypting the encrypted identification information, and created by the decryption key creating means Decryption means for decrypting the encrypted encrypted identification information using a decryption key; and the decryption Decryption identification information decrypted by a stage, application program validity judgment means for judging the legitimacy of the application program based on the identification information, and the application program stored in the application program has a predetermined condition Identification means for identifying that the application program is a program file created according to a predetermined condition based on an identification code for identifying that the program file is created according to Can do.

また、この目的を達成するために、本願発明の情報処理方法は、記憶媒体が使用されて入力された前記アプリケーションプログラムにより情報処理を実行する情報処理装置、にて実行される情報処理方法であって、前記記憶媒体内の前記プログラムファイルに格納された前記アプリケーションプログラムのIDを、当該記憶媒体に固有の情報又は当該情報処理装置に固有の情報で暗号化して当該記憶媒体内の前記IDファイルに格納するID格納段階を備えるように構成することができる。   In order to achieve this object, the information processing method of the present invention is an information processing method executed by an information processing apparatus that executes information processing using the application program input using a storage medium. Then, the ID of the application program stored in the program file in the storage medium is encrypted with information specific to the storage medium or information specific to the information processing apparatus, and stored in the ID file in the storage medium. It may be configured to include an ID storage stage for storing.

また、この目的を達成するために、本願発明のシステムは、記憶媒体に格納されたアプリケーションプログラムによる処理の実行制御を行う情報処理装置と、該情報処理装置に装着されて当該情報処理装置に情報処理を実行させるためのプログラムの記憶先として使用される記憶装置とからなるシステムであって、前記情報処理装置は、前記アプリケーションプログラムファイルに格納される前記アプリケーションプログラムを識別するための識別情報を、該記憶媒体に固有の情報又は当該情報処理装置に固有の情報に基づいて暗号化する識別情報暗号化手段と、前記識別情報暗号化手段によって暗号化された暗号化識別情報を該記憶媒体に登録する登録手段と、前記暗号化識別情報を復号化するための復号鍵を作成する復号鍵作成手段と、前記復号鍵作成手段により作成された復号鍵を用いて、前記暗号化された暗号化識別情報を復号して得られた識別情報と、前記アプリケーションプログラムのファイルに格納されているアプリケーションプログラムを識別するための識別情報とを比較して、アプリケーションプログラムの正当性を判断するアプリケーションプログラム正当性判断手段と、前記記憶媒体に格納されている当該記憶媒体と、暗号化された識別情報を格納している暗号化識別情報登録ファイルとの整合性を確認するための整合性確認情報を暗号化識別情報登録ファイルから取得して、暗号化識別情報登録ファイルの整合性の確認を行う整合性確認手段と、前記記憶装置は、前記プログラムを格納する第一の格納ファイルを備え、前記第一の格納ファイルにはさらに、該プログラムを識別する第一の識別情報と該プログラムが所定の条件に従って作成されたプログラムであることを識別するための第二の識別情報識とが格納されるように構成することができる。   In order to achieve this object, the system of the present invention includes an information processing device that performs execution control of processing by an application program stored in a storage medium, and information that is attached to the information processing device and is stored in the information processing device. A storage device used as a storage destination of a program for executing processing, wherein the information processing device has identification information for identifying the application program stored in the application program file, Identification information encryption means for encrypting based on information unique to the storage medium or information unique to the information processing apparatus, and registration of encrypted identification information encrypted by the identification information encryption means in the storage medium Registering means, decryption key creating means for creating a decryption key for decrypting the encrypted identification information, Using the decryption key created by the decryption key creation means, the identification information obtained by decrypting the encrypted encrypted identification information and the application program stored in the application program file are identified. Application program validity determination means for comparing the identification information for determining the validity of the application program, the storage medium stored in the storage medium, and the encrypted identification information Consistency confirmation means for obtaining consistency confirmation information for confirming consistency with the encryption identification information registration file from the encryption identification information registration file and confirming consistency of the encryption identification information registration file; The storage device includes a first storage file for storing the program, and the first storage file further includes It may be configured such that the second identification information identifies for the first identification information and the program identifies the program to identify that it is a program created in accordance with a predetermined condition is stored.

本発明は、画像形成装置等の情報処理装置にメモリカード等の記憶媒体を使用してプログラムを入力できるような場合において、記憶媒体が不正にコピーされたり使用されたりして、情報処理装置にプログラムが不正に入力されてしまう危険性に対処することを可能にする。   In the case where a program can be input to an information processing apparatus such as an image forming apparatus by using a storage medium such as a memory card, the present invention may cause the information processing apparatus to copy or use the storage medium illegally. It makes it possible to deal with the danger of a program being entered incorrectly.

本発明は、画像形成装置等の情報処理装置に装着されているハードディスクドライブ等の記憶装置にプログラムを追加できるような場合において、記憶装置に関する不正行為が実行されて、情報処理装置にプログラムが不正に供給されてしまう危険性に対処することを可能にする。   In the present invention, when a program can be added to a storage device such as a hard disk drive mounted on an information processing device such as an image forming device, an illegal act relating to the storage device is executed and the program is illegally processed on the information processing device. It is possible to deal with the danger of being supplied to

本発明の実施例に該当する融合機を表す。1 shows a multi-function machine corresponding to an embodiment of the present invention. 図1の融合機に係るハードウェア構成図である。It is a hardware block diagram concerning the compound machine of Drawing 1. 図1の融合機に係る外観図である。It is an external view which concerns on the compound machine of FIG. オペレーションパネルを表す。Represents the operation panel. 融合機起動部を表す。Represents a fusion machine start-up unit. SDメモリカード用スロットとSDメモリカードに係るソフトウェアを表す。It represents the SD memory card slot and software related to the SD memory card. 第1具体例について説明するための図である。It is a figure for demonstrating a 1st specific example. VASにより実行される処理に係るフローチャートである。It is a flowchart which concerns on the process performed by VAS. VASにより実現される機能に係る機能ブロック図である。It is a functional block diagram which concerns on the function implement | achieved by VAS. PDID登録処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of PDID registration processing. アプリ正当性判断処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of an app validity judgment process. 第2具体例について説明するための図である。It is a figure for demonstrating a 2nd specific example. VASにより実行される処理に係るフローチャートである。It is a flowchart which concerns on the process performed by VAS. VASにより実現される機能に係る機能ブロック図である。It is a functional block diagram which concerns on the function implement | achieved by VAS. PDID登録処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of PDID registration processing. アプリ正当性判断処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of an app validity judgment process. 第3具体例について説明するための図である。It is a figure for demonstrating a 3rd example. VASにより実行される処理に係るフローチャートである。It is a flowchart which concerns on the process performed by VAS. VASにより実現される機能に係る機能ブロック図である。It is a functional block diagram which concerns on the function implement | achieved by VAS. PDID登録処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of PDID registration processing. アプリ正当性判断処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of an app validity judgment process. 第4具体例について説明するための図である。It is a figure for demonstrating a 4th example. VASにより実行される処理に係るフローチャートである。It is a flowchart which concerns on the process performed by VAS. VASにより実現される機能に係る機能ブロック図である。It is a functional block diagram which concerns on the function implement | achieved by VAS. PDID登録処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of PDID registration processing. PDID登録処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of PDID registration processing. アプリ正当性判断処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of an app validity judgment process. 第5具体例について説明するための図である。It is a figure for demonstrating the 5th example. VASにより実行される処理に係るフローチャートである。It is a flowchart which concerns on the process performed by VAS. VASにより実現される機能に係る機能ブロック図である。It is a functional block diagram which concerns on the function implement | achieved by VAS. PDID登録処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of PDID registration processing. アプリ正当性判断処理の詳細について説明するためのシーケンス図である。It is a sequence diagram for demonstrating the detail of an app validity judgment process. 画像形成処理用のパスワードについて説明するための図である。It is a figure for demonstrating the password for an image formation process. パスワード付加処理に係るフローチャートである。It is a flowchart which concerns on a password addition process. パスワード照合処理に係るフローチャートである。It is a flowchart which concerns on a password collation process. 画像形成処理用の鍵について説明するための図である。It is a figure for demonstrating the key for image formation processing. 暗号化処理に係るフローチャートである。It is a flowchart which concerns on an encryption process. 復号化処理に係るフローチャートである。It is a flowchart which concerns on a decoding process. 本発明の実施例に該当する情報処理装置を表す。1 represents an information processing apparatus corresponding to an embodiment of the present invention.

図39は、本発明の実施例に該当する情報処理装置11を表す。図39の情報処理装置11は、種々のハードウェア21と、種々のソフトウェア22と、起動部23により構成される。   FIG. 39 shows the information processing apparatus 11 corresponding to the embodiment of the present invention. The information processing apparatus 11 in FIG. 39 includes various hardware 21, various software 22, and an activation unit 23.

情報処理装置11のハードウェア21としては、CPUやROMやRAMやHDD等により構成される情報処理部、MODEMやNIC等により構成される通信部、キーボードやマウスやディスプレイ等により構成される操作表示部が存在する。   The hardware 21 of the information processing apparatus 11 includes an information processing unit composed of a CPU, ROM, RAM, HDD, etc., a communication unit composed of MODEM, NIC, etc., and an operation display composed of a keyboard, mouse, display, etc. Part exists.

情報処理装置11のソフトウェア22としては、種々のアプリケーション31、種々のプラットフォーム32が存在する。プラットフォーム32としては、情報処理部に関する制御を行うモジュール、通信部に関する制御を行うモジュール、操作表示部に関する制御を行うモジュール、認証処理に関する制御を行うモジュール、ユーザ情報の管理に関する制御を行うモジュール、システムの管理に関する制御を行うモジュールが存在する。これらのプログラムは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。   As software 22 of the information processing apparatus 11, there are various applications 31 and various platforms 32. As the platform 32, a module that performs control related to an information processing unit, a module that performs control related to a communication unit, a module that performs control related to an operation display unit, a module that performs control related to authentication processing, a module that performs control related to management of user information, and a system There is a module that performs control related to management. These programs are executed in parallel on a process basis by an OS (Operating System) such as UNIX (registered trademark).

起動部23は、情報処理装置11の電源投入時に最初に実行される。これにより、UNIX(登録商標)等のOSが起動され、アプリケーション31やプラットフォーム32が起動される。これらのプログラムは、HDDやメモリカードに蓄積されており、HDDやメモリカードから再生されて、RAMに起動されることになる。   The activation unit 23 is executed first when the information processing apparatus 11 is turned on. As a result, an OS such as UNIX (registered trademark) is started, and the application 31 and the platform 32 are started. These programs are stored in the HDD or the memory card, and are reproduced from the HDD or the memory card and activated in the RAM.

図39の情報処理装置11の具体例としては、主たる機能として情報処理機能を備える情報機器/従たる機能として情報処理機能を備える電気機器等が挙げられる。主たる機能として情報処理機能を備える情報機器の具体例としては、パーソナルコンピュータが挙げられる。従たる機能として情報処理機能を備える電気機器の具体例としては、近年情報処理機能の高度化が目覚しいコピー/プリンタ/スキャナ/ファクシミリ/複合機/融合機等の画像形成装置が挙げられる。以下、情報処理装置11の具体例である融合機101について説明する。   As a specific example of the information processing apparatus 11 in FIG. 39, there are an information device having an information processing function as a main function and an electric device having an information processing function as a subordinate function. As a specific example of an information device having an information processing function as a main function, a personal computer can be cited. As a specific example of an electric apparatus having an information processing function as a subordinate function, there is an image forming apparatus such as a copy / printer / scanner / facsimile / multifunction machine / multi-function apparatus, etc., whose information processing function has been advanced in recent years. Hereinafter, the multifunction peripheral 101 which is a specific example of the information processing apparatus 11 will be described.

図1は、本発明の実施例に該当する融合機101を表す。図1の融合機101は、種々のハードウェア111と、種々のソフトウェア112と、融合機起動部113により構成される。   FIG. 1 shows a compound machine 101 corresponding to an embodiment of the present invention. The compound machine 101 shown in FIG. 1 includes various hardware 111, various software 112, and a compound machine starting unit 113.

融合機101のハードウェア111としては、撮像部121と、印刷部122と、その他のハードウェア123が存在する。撮像部121は、読取原稿から画像(画像データ)を読み取るためのハードウェアである。印刷部122は、画像(画像データ)を印刷用紙に印刷するためのハードウェアである。   As the hardware 111 of the multi-function peripheral 101, there are an imaging unit 121, a printing unit 122, and other hardware 123. The imaging unit 121 is hardware for reading an image (image data) from a read original. The printing unit 122 is hardware for printing an image (image data) on printing paper.

融合機101のソフトウェア112としては、種々のアプリケーション131と、種々のプラットフォーム132が存在する。これらのプログラムは、UNIX(登録商標)等のOS(オペレーティングシステム)によりプロセス単位で並列的に実行される。   As the software 112 of the multi-function peripheral 101, there are various applications 131 and various platforms 132. These programs are executed in parallel on a process basis by an OS (Operating System) such as UNIX (registered trademark).

アプリケーション131としては、コピー用のアプリケーションであるコピーアプリ141、プリンタ用のアプリケーションであるプリンタアプリ142、スキャナ用のアプリケーションであるスキャナアプリ143、ファクシミリ用のアプリケーションであるファクシミリアプリ144、ネットワークファイル用のアプリケーションであるネットワークファイルアプリ145が存在する。   The application 131 includes a copy application 141 that is a copy application, a printer application 142 that is a printer application, a scanner application 143 that is a scanner application, a facsimile application 144 that is a facsimile application, and a network file application. There is a network file application 145.

アプリケーション131は、専用のSDK(ソフトウェア開発キット)を使用して開発することができる。SDKを使用して開発したアプリケーション131をSDKアプリと呼ぶ。SDKは、プラットフォーム132の実行形式ファイル、プラットフォーム132の専用関数ライブラリ、C言語の標準関数ライブラリ、アプリケーション131のソースファイルをコンパイルすることでアプリケーション131のオブジェクトファイルを生成するコンパイラ、アプリケーション131のオブジェクトファイルを専用関数ライブラリや標準関数ライブラリにリンクさせることでアプリケーション131の実行形式ファイルを生成するリンカで構成されている。   The application 131 can be developed using a dedicated SDK (software development kit). An application 131 developed using the SDK is called an SDK application. The SDK includes an executable file of the platform 132, a dedicated function library of the platform 132, a standard function library of C language, a compiler that generates an object file of the application 131 by compiling a source file of the application 131, and an object file of the application 131. It is composed of a linker that generates an executable file of the application 131 by linking to a dedicated function library or a standard function library.

プラットフォーム132としては、種々のコントロールサービス151、システムリソースマネージャ152、種々のハンドラ153が存在する。コントロールサービス151としては、ネットワークコントロールサービス(NCS)161、ファクシミリコントロールサービス(FCS)162、デリバリコントロールサービス(DCS)163、エンジンコントロールサービス(ECS)164、メモリコントロールサービス(MCS)165、オペレーションパネルコントロールサービス(OCS)166、サーティフィケーションコントロールサービス(CCS)167、ユーザディレクトリコントロールサービス(UCS)168、システムコントロールサービス(SCS)169が存在する。ハンドラ153としては、ファクシミリコントロールユニットハンドラ(FCUH)171、イメージメモリハンドラ(IMH)172が存在する。   The platform 132 includes various control services 151, a system resource manager 152, and various handlers 153. The control service 151 includes a network control service (NCS) 161, a facsimile control service (FCS) 162, a delivery control service (DCS) 163, an engine control service (ECS) 164, a memory control service (MCS) 165, and an operation panel control service. There are (OCS) 166, a certification control service (CCS) 167, a user directory control service (UCS) 168, and a system control service (SCS) 169. As the handler 153, there are a facsimile control unit handler (FCUH) 171 and an image memory handler (IMH) 172.

NCS161のプロセスは、ネットワーク通信の仲介を行う。FCS162のプロセスは、ファクシミリのAPIを提供する。DCS163のプロセスは、蓄積文書の配信処理に関する制御を行う。ECS164のプロセスは、撮像部121や印刷部122に関する制御を行う。MCS165のプロセスは、メモリやハードディスクドライブに関する制御を行う。OCS166のプロセスは、オペレーションパネルに関する制御を行う。CCS167のプロセスは、認証処理や課金処理に関する制御を行う。UCS168のプロセスは、ユーザ情報の管理に関する制御を行う。SCS169のプロセスは、システムの管理に関する制御を行う。   The process of the NCS 161 mediates network communication. The FCS 162 process provides a facsimile API. The process of the DCS 163 performs control related to the distribution processing of the stored document. The process of the ECS 164 performs control related to the imaging unit 121 and the printing unit 122. The process of the MCS 165 controls the memory and hard disk drive. The process of the OCS 166 performs control related to the operation panel. The process of the CCS 167 performs control related to authentication processing and billing processing. The process of the UCS 168 performs control related to management of user information. The process of the SCS 169 performs control related to system management.

アプリケーション131とプラットフォーム132の仲介を行うソフトウェア112として、仮想アプリケーションサービス(VAS)135が存在する。VAS135は、アプリケーション131をクライアントとするサーバプロセスとして動作すると共に、プラットフォーム132をサーバとするクライアントプロセスとして動作する。VAS135は、アプリケーション131から見てプラットフォーム132を隠蔽するラッピング機能を備え、プラットフォーム132のバージョンアップによるバージョン差を吸収する役割等を担う。   A virtual application service (VAS) 135 exists as software 112 that mediates between the application 131 and the platform 132. The VAS 135 operates as a server process using the application 131 as a client, and also operates as a client process using the platform 132 as a server. The VAS 135 has a wrapping function for concealing the platform 132 when viewed from the application 131, and plays a role of absorbing version differences due to version upgrades of the platform 132.

融合機起動部113は、融合機101の電源投入時に最初に実行される。これにより、UNIX(登録商標)等のOSが起動され、アプリケーション131やプラットフォーム132が起動される。これらのプログラムは、ハードディスクドライブやメモリカードに蓄積されており、ハードディスクドライブやメモリカードから再生されて、メモリに起動されることになる。   The MFP starter 113 is executed first when the MFP 101 is turned on. As a result, an OS such as UNIX (registered trademark) is activated, and the application 131 and the platform 132 are activated. These programs are stored in the hard disk drive or the memory card, and are reproduced from the hard disk drive or the memory card and activated in the memory.

図2は、図1の融合機101に係るハードウェア構成図である。融合機101のハードウェア111としては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。   FIG. 2 is a hardware configuration diagram according to the MFP 101 of FIG. The hardware 111 of the multi-function peripheral 101 includes a controller 201, an operation panel 202, a facsimile control unit (FCU) 203, an imaging unit 121, and a printing unit 122.

コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。   The controller 201 includes a CPU 211, ASIC 212, NB221, SB222, MEM-P231, MEM-C232, HDD (hard disk drive) 233, memory card slot 234, NIC (network interface controller) 241, USB device 242, IEEE 1394 device 243, and Centronics device. 244.

CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、融合機101のシステムメモリである。MEM−C232は、融合機101のローカルメモリである。HDD233は、融合機101のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。   The CPU 211 is an IC for various information processing. The ASIC 212 is an IC for various image processing. The NB 221 is a north bridge of the controller 201. The SB 222 is a south bridge of the controller 201. The MEM-P 231 is a system memory of the multifunction machine 101. The MEM-C 232 is a local memory of the multifunction machine 101. The HDD 233 is a storage of the multifunction machine 101. The memory card slot 234 is a slot for setting the memory card 235. The NIC 241 is a controller for network communication using a MAC address. The USB device 242 is a device for providing a USB standard connection terminal. The IEEE 1394 device 243 is a device for providing a connection terminal of the IEEE 1394 standard. The Centronics device 244 is a device for providing a Centronics specification connection terminal.

オペレーションパネル202は、オペレータが融合機101に入力を行うためのハードウェア(操作部)であると共に、オペレータが融合機101から出力を得るためのハードウェア(表示部)である。   The operation panel 202 is hardware (operation unit) for an operator to input to the multifunction machine 101 and hardware (display unit) for the operator to obtain an output from the multifunction machine 101.

図3は、図1の融合機101に係る外観図である。図3には、撮像部121の位置と、印刷部122の位置と、オペレーションパネル202の位置が図示されている。図3には更に、読取原稿のセット先となる原稿セット部301と、印刷用紙の給紙先となる給紙部302と、印刷用紙の排紙先となる排紙部303が図示されている。   FIG. 3 is an external view of the multi-function peripheral 101 of FIG. FIG. 3 shows the position of the imaging unit 121, the position of the printing unit 122, and the position of the operation panel 202. FIG. 3 further illustrates a document setting unit 301 that is a setting destination of a read document, a paper feeding unit 302 that is a printing paper feeding destination, and a paper discharging unit 303 that is a printing paper discharging destination. .

オペレーションパネル202は、図4のように、タッチパネル311と、テンキー312と、スタートボタン313と、リセットボタン314と、初期設定ボタン315により構成される。タッチパネル311は、タッチ操作で入力を行うためのハードウェア(タッチ操作部)であると共に、画面表示で出力を得るためのハードウェア(画面表示部)である。テンキー312は、キー操作で数字入力を行うためのハードウェアである。スタートボタン313は、ボタン操作でスタート操作を行うためのハードウェアである。リセットボタン314は、ボタン操作でリセット操作を行うためのハードウェアである。初期設定ボタン315は、ボタン操作で初期設定画面を表示させるためのハードウェアである。   As shown in FIG. 4, the operation panel 202 includes a touch panel 311, a numeric keypad 312, a start button 313, a reset button 314, and an initial setting button 315. The touch panel 311 is hardware (touch operation unit) for inputting by a touch operation and hardware (screen display unit) for obtaining an output by screen display. The numeric keypad 312 is hardware for inputting numbers by key operation. The start button 313 is hardware for performing a start operation by a button operation. The reset button 314 is hardware for performing a reset operation by a button operation. The initial setting button 315 is hardware for displaying an initial setting screen by button operation.

原稿セット部301は、ADF(自動原稿搬送装置)321と、フラットベッド322と、フラットベッドカバー323により構成される。給紙部302は、4個の給紙トレイにより構成される。排紙部303は、1個の排紙トレイにより構成される。   The document setting unit 301 includes an ADF (automatic document feeder) 321, a flat bed 322, and a flat bed cover 323. The paper feed unit 302 includes four paper feed trays. The paper discharge unit 303 includes a single paper discharge tray.

(融合機起動部)
図1の融合機起動部113について説明する。
(Fusion machine starting part)
A description will be given of the MFP starter 113 in FIG.

融合機起動部113は、図5のように、メモリモニタ部501と、プログラム起動部502により構成される。   As shown in FIG. 5, the multi-function apparatus starting unit 113 includes a memory monitor unit 501 and a program starting unit 502.

図1の融合機101の電源を投入すると、メモリモニタ部501を構成するBIOSとブートローダが起動されて、これにより、UNIX(登録商標)等のOSが起動される。続いて、プログラム起動部502を構成する起動処理用プログラムが起動されて、これにより、アプリケーション131やプラットフォーム132が適宜起動される。なお、UNIX(登録商標)が起動される場合には、UNIX(登録商標)のカーネルが起動され、ルートファイルシステムが展開され、アプリケーション131やプラットフォーム132に係るファイルシステムがルートファイルシステムにマウントされることになる。   When the power of the multi-function peripheral 101 in FIG. 1 is turned on, the BIOS and the boot loader constituting the memory monitor unit 501 are activated, and thereby an OS such as UNIX (registered trademark) is activated. Subsequently, the activation processing program constituting the program activation unit 502 is activated, and thereby the application 131 and the platform 132 are activated as appropriate. When UNIX (registered trademark) is activated, the UNIX (registered trademark) kernel is activated, the root file system is expanded, and the file systems related to the application 131 and the platform 132 are mounted on the root file system. It will be.

アプリケーション131やプラットフォーム132に係るマウント処理や起動処理の例を挙げておく。プログラム起動部502は、ルートファイルシステム内のetcのマスタ設定ファイル「init.conf」を読み込んで、マスタ設定ファイル内のコマンドに従ってマウント処理や起動処理を実行する。プログラム起動部502はさらに、マウントしたファイルシステム内の設定ファイル「init.conf」や「init.cnf」を読み込んで、設定ファイル内のコマンドに従ってマウント処理や起動処理を実行すると共に、マウントしたファイルシステム内の設定ディレクトリ「init.d」の設定ファイル「***.conf」や「***.cnf」を読み込んで、設定ディレクトリの設定ファイル内のコマンドに従ってマウント処理や起動処理を実行する。なお、設定ファイルの電子署名を書き込んだ認証ファイル「***.lic」を用意しておいて、プログラム起動部502が、設定ファイル内のコマンドに従ってマウント処理や起動処理を実行するのに先立って、設定ファイルの電子署名チェックを実行するようにしてもよい。   Examples of mount processing and activation processing related to the application 131 and the platform 132 will be given. The program activation unit 502 reads the master setting file “init.conf” of etc in the root file system, and executes mount processing and activation processing according to commands in the master setting file. The program activation unit 502 further reads the setting files “init.conf” and “init.cnf” in the mounted file system, executes mount processing and activation processing according to the commands in the setting file, and mounts the mounted file system. The setting file “***. Conf” or “***. Cnf” in the setting directory “init.d” is read, and mount processing and start-up processing are executed according to the command in the setting file in the setting directory. It should be noted that an authentication file “***. Lic” in which an electronic signature of the setting file is written is prepared, and the program activation unit 502 executes the mount process and the activation process according to the command in the setting file. The electronic signature check of the setting file may be executed.

(メモリカード)
図2のメモリカード用スロット234とメモリカード235について説明する。
(Memory card)
The memory card slot 234 and the memory card 235 in FIG. 2 will be described.

メモリカード用スロット234は、アプリケーション131やプラットフォーム132等のプログラムが記憶されたメモリカード235をセット(挿入)するためのスロットである。図1の融合機101においては、アプリケーション131やプラットフォーム132等のプログラムは、メモリカード用スロット234にセットされたメモリカード235等に蓄積されており、メモリカード用スロット234にセットされたメモリカード235等から再生されて、MEM−P231やMEM−C232に起動されることになる。   The memory card slot 234 is a slot for setting (inserting) a memory card 235 in which programs such as the application 131 and the platform 132 are stored. 1, programs such as the application 131 and the platform 132 are stored in the memory card 235 set in the memory card slot 234 and the memory card 235 set in the memory card slot 234. And the like are started up by the MEM-P 231 or the MEM-C 232.

メモリカード235には、アプリケーション131やプラットフォーム132等のプログラムを、拡張子をmodとするmodファイル「***.mod」として各モジュール毎に記憶させておくと共に、modファイルの電子署名を、拡張子をmacとするmacファイル「***.mac」として各モジュール毎に記憶させておく。   In the memory card 235, programs such as the application 131 and the platform 132 are stored for each module as a mod file “***. Mod” with an extension of mod, and the electronic signature of the mod file is expanded. Each module is stored as a mac file “***. Mac” with a child as mac.

メモリカード235には、設定ファイル(融合機起動部の欄参照)を、拡張子をcnfとするcnfファイル「***.cnf」として記憶させておくと共に、設定ファイルの電子署名を書き込んだ認証ファイル(融合機起動部の欄参照)を、拡張子をlicとするlicファイル「***.lic」として記憶させておく。   In the memory card 235, the setting file (see the column of the MFP starter) is stored as a cnf file “***. Cnf” with an extension of cnf, and an authentication in which an electronic signature of the setting file is written The file (refer to the column of the fusion machine starting section) is stored as a lic file “***. Lic” with an extension of lic.

各ファイルの電子署名はここでは、MD5やSHA1等のハッシュ関数によって各ファイルから作成したメッセージダイジェストを、秘密鍵によって暗号化したものである。例えば、modファイルやcnfファイルの電子署名は、modファイルやcnfファイルから作成したメッセージダイジェストを、秘密鍵によって暗号化したものである。   Here, the electronic signature of each file is obtained by encrypting a message digest created from each file with a hash function such as MD5 or SHA1 using a secret key. For example, an electronic signature of a mod file or a cnf file is obtained by encrypting a message digest created from a mod file or a cnf file with a secret key.

各ファイルの電子署名チェックはここでは、各ファイルからMD5やSHA1等のハッシュ関数によって作成したメッセージダイジェストと、各ファイルの電子署名を公開鍵によって復号化したメッセージダイジェストとの照合をもって実行可能である。例えば、modファイルやcnfファイルの電子署名チェックは、modファイルやcnfファイルから作成したメッセージダイジェストと、macファイルやlicファイルに書き込んだ電子署名を公開鍵によって復号化したメッセージダイジェストとの照合をもって実行可能である。各ファイルの電子署名チェックは例えば、マウント処理や起動処理の一環としてプログラム起動部502が実行するようにする。   Here, the electronic signature check of each file can be executed by comparing a message digest created from each file with a hash function such as MD5 or SHA1 and a message digest obtained by decrypting the electronic signature of each file with a public key. For example, a digital signature check of a mod file or a cnf file can be executed by comparing a message digest created from a mod file or a cnf file with a message digest obtained by decrypting a digital signature written in a mac file or lic file with a public key. It is. For example, the electronic signature check of each file is executed by the program activation unit 502 as part of the mounting process or the activation process.

なお、メモリカード235としてSDメモリカードを採用する場合、cnfファイルの電子署名は、cnfファイルとSDシリアルIDとから作成したメッセージダイジェストを、秘密鍵によって暗号化したものでもよい。各SDメモリカードのSDシリアルIDは各SDメモリカードに固有なID(識別情報)なので、各SDメモリカードに記憶させておくlicファイルが各SDメモリカードに固有なファイルになり、SDメモリカードのコピー防止に役立つ。この場合、cnfファイルの電子署名チェックは、cnfファイルとSDシリアルIDとから作成したメッセージダイジェストと、licファイルに書き込んだ電子署名を公開鍵によって復号化したメッセージダイジェストとの照合をもって実行可能である。各SDメモリカードのSDシリアルIDは各SDメモリカードに記憶されている。   When an SD memory card is employed as the memory card 235, the electronic signature of the cnf file may be a message digest created from the cnf file and the SD serial ID, encrypted with a secret key. Since the SD serial ID of each SD memory card is an ID (identification information) unique to each SD memory card, the lic file stored in each SD memory card becomes a file unique to each SD memory card. Useful for copy protection. In this case, the electronic signature check of the cnf file can be executed by comparing the message digest created from the cnf file and the SD serial ID with the message digest obtained by decrypting the electronic signature written in the lic file with the public key. The SD serial ID of each SD memory card is stored in each SD memory card.

メモリカード235としては、フラッシュメモリカードの一種であるSD(Secure Digital)メモリカードを採用することにする。SDメモリカードを採用することで例えば、大容量のメモリを安価で利用できるというメリットを享受できる。なお、メモリカード用スロット234としては、SDメモリカード用スロットが採用される。   As the memory card 235, an SD (Secure Digital) memory card, which is a kind of flash memory card, is adopted. By adopting the SD memory card, for example, it is possible to enjoy the merit that a large-capacity memory can be used at low cost. An SD memory card slot is employed as the memory card slot 234.

図1の融合機101には、図6のように、SDメモリカード用スロット601とSDメモリカード602(メモリカード用スロット234とメモリカード235に相当する)に係るソフトウェアとして、SDメモリカードアクセスドライバ(SDaccess)611と、SDメモリカードステータスドライバ(SDstates)612と、起動処理用プログラム613と、SDメモリカードチェックプログラム(SDcheck)614が存在する。   1 includes an SD memory card access driver as software relating to an SD memory card slot 601 and an SD memory card 602 (corresponding to the memory card slot 234 and the memory card 235), as shown in FIG. There are (SDaccess) 611, an SD memory card status driver (SDstates) 612, a startup processing program 613, and an SD memory card check program (SDcheck) 614.

SDaccess611は、SDメモリカード602の挿入・抜出を検知する等、SDメモリカード602に対するアクセス制御を実行するドライバである。SDstates612は、SDメモリカード602の挿入・抜出・マウント・アンマウントに関する情報を管理するドライバである。起動処理用プログラム613は、図5のプログラム起動部502を構成するプログラムである。SDcheck614は、SDメモリカード602のマウント・アンマウントを実行するプログラムである。   The SDaccess 611 is a driver that executes access control to the SD memory card 602, such as detecting insertion / extraction of the SD memory card 602. The SDstates 612 is a driver that manages information related to insertion / extraction / mounting / unmounting of the SD memory card 602. The activation processing program 613 is a program constituting the program activation unit 502 in FIG. The SDcheck 614 is a program that executes mounting / unmounting of the SD memory card 602.

SDメモリカード用スロット601にSDメモリカード602が挿入された場合、SDaccess611は、SDメモリカード602が挿入された事を検知(S1)すると共に、SDstates612にその事を通知(S2)する。これに応じて、SDstates612は、SDメモリカード602が挿入された旨の情報を管理することにすると共に、起動処理用プログラム613にその旨を通知(S3)する。これに応じて、起動処理用プログラム613は、SDメモリカード602のマウントを実行させるために、SDcheck614を起動(S4)させる。これに応じて、SDcheck614は、SDメモリカード602のマウントを実行(S5)すると共に、SDstates612にその事を通知(S6)する。これに応じて、SDstates612は、SDメモリカード602がマウントされた旨の情報を管理することにすると共に、起動処理用プログラム613等にその旨を通知(S7)する。   When the SD memory card 602 is inserted into the SD memory card slot 601, the SDaccess 611 detects that the SD memory card 602 has been inserted (S 1), and notifies the SD states 612 (S 2). In response to this, the SDstates 612 manages information indicating that the SD memory card 602 has been inserted, and notifies the activation processing program 613 accordingly (S3). In response to this, the activation processing program 613 activates the SD check 614 (S4) in order to cause the SD memory card 602 to be mounted. In response to this, the SDcheck 614 executes mounting of the SD memory card 602 (S5) and notifies the SDstates 612 of that fact (S6). In response to this, the SDstates 612 manages information indicating that the SD memory card 602 is mounted, and notifies the activation processing program 613 and the like (S7).

SDメモリカード用スロット601からSDメモリカード602が抜き出された場合、SDaccess611は、SDメモリカード602が抜き出された事を検知(S1)すると共に、SDstates612にその事を通知(S2)する。これに応じて、SDstates612は、SDメモリカード602が抜き出された旨の情報を管理することにすると共に、起動処理用プログラム613にその旨を通知(S3)する。これに応じて、起動処理用プログラム613は、SDメモリカード602のアンマウントを実行させるために、SDcheck614を起動(S4)させる。これに応じて、SDcheck614は、SDメモリカード602のアンマウントを実行(S5)すると共に、SDstates612にその事を通知(S6)する。これに応じて、SDstates612は、SDメモリカード602がアンマウントされた旨の情報を管理することにすると共に、起動処理用プログラム613等にその旨を通知(S7)する。   When the SD memory card 602 is extracted from the SD memory card slot 601, the SDaccess 611 detects that the SD memory card 602 has been extracted (S 1) and notifies the SD states 612 of that fact (S 2). In response to this, the SDstates 612 manages information indicating that the SD memory card 602 has been extracted, and notifies the activation processing program 613 (S3). In response to this, the activation processing program 613 activates the SD check 614 (S4) in order to cause the SD memory card 602 to be unmounted. In response to this, the SDcheck 614 executes unmounting of the SD memory card 602 (S5) and notifies the SDstates 612 of this (S6). In response to this, the SDstates 612 manages information indicating that the SD memory card 602 has been unmounted, and notifies the activation processing program 613 and the like (S7).

なお、SDメモリカードを採用することで、いわゆる活線挿抜が可能になるというメリットを享受できる。すなわち、SDメモリカード用スロット601にSDメモリカード602を挿入する操作と、SDメモリカード用スロット601からSDメモリカード602を抜き出す操作が、融合機101の起動後に実行可能になる。   By adopting an SD memory card, it is possible to enjoy the merit that so-called hot-plugging can be performed. In other words, the operation of inserting the SD memory card 602 into the SD memory card slot 601 and the operation of extracting the SD memory card 602 from the SD memory card slot 601 can be executed after the MFP 101 is activated.

(SDメモリカードとHDDの使用態様の具体例)
以上の説明を踏まえて、図6のSDメモリカード602(図2のメモリカード235に相当する)と図2のHDD233の使用態様の具体例について説明する。
(Specific example of usage mode of SD memory card and HDD)
Based on the above description, a specific example of usage of the SD memory card 602 in FIG. 6 (corresponding to the memory card 235 in FIG. 2) and the HDD 233 in FIG. 2 will be described.

(1)第1具体例
ここでは、図7により、SDKアプリ(図1の説明欄参照)を融合機101に入力するためのSDメモリカード602をメーカーからベンダーに配布し、ベンダーがSDKアプリを作成し、ユーザーがSDKアプリを融合機101にSDメモリカード602を使用して入力するようなビジネスモデルを具体例にして説明する。
(1) First Specific Example Here, referring to FIG. 7, the SD memory card 602 for inputting the SDK application (see the explanation column in FIG. 1) to the MFP 101 is distributed from the manufacturer to the vendor, and the vendor installs the SDK application. A business model in which a user creates and inputs an SDK application to the MFP 101 using the SD memory card 602 will be described as a specific example.

図7AのSDメモリカード602は、市販のSDメモリカードである。   The SD memory card 602 in FIG. 7A is a commercially available SD memory card.

図7BのSDメモリカード602は、融合機101のメーカーから融合機101のベンダーに提供されるSDメモリカードである。図7BのSDメモリカード602は、図7AのSDメモリカード602に、SDメモリカードサービスファイル(SDserviceファイル)701や、PDIDファイル703を記憶させたものである。   The SD memory card 602 in FIG. 7B is an SD memory card provided from the manufacturer of the multifunction machine 101 to the vendor of the multifunction machine 101. An SD memory card 602 in FIG. 7B is obtained by storing an SD memory card service file (SD service file) 701 and a PDID file 703 in the SD memory card 602 in FIG. 7A.

図7CのSDメモリカード602は、融合機101のベンダーから融合機101のユーザーに提供されるSDメモリカードである。図7CのSDメモリカード602は、図7BのSDメモリカード602に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)を記憶させたものである。   The SD memory card 602 in FIG. 7C is an SD memory card provided from the vendor of the multifunction machine 101 to the user of the multifunction machine 101. The SD memory card 602 in FIG. 7C stores two SDK application files 702 (first SDK application file A 702A and second SDK application file B 702B) in the SD memory card 602 in FIG. 7B. Is.

図7DのSDメモリカード602は、融合機101のユーザーの元でPDID登録処理が実行されたSDメモリカードである。図7DのSDメモリカード602は、図7CのSDメモリカード602内のPDIDファイル703に、SDKアプリのPDID等を登録したものである。   The SD memory card 602 in FIG. 7D is an SD memory card that has been subjected to PDID registration processing under the user of the multi-function peripheral 101. The SD memory card 602 in FIG. 7D is obtained by registering the PDID of the SDK application in the PDID file 703 in the SD memory card 602 in FIG. 7C.

SDserviceファイル701は、当該SDメモリカード602の正当性を、融合機101に確認させるためのファイルである。より詳細に言うと、当該SDメモリカード602が、融合機101にSDKアプリを入力するためのSDメモリカードとして正当であることを、融合機101に確認させるためのファイルである。SDserviceファイル701には、SDメモリカードサービスプログラム(SDservice)が格納されている。融合機101は、当該SDメモリカード602の正当性を、このSDserviceが正常に起動されることをもって確認する。SDserviceファイル701は、SDserviceの実行形式ファイルである。   The SD service file 701 is a file for allowing the multi-function peripheral 101 to confirm the validity of the SD memory card 602. More specifically, the SD memory card 602 is a file for allowing the multi-function peripheral 101 to confirm that the SD memory card 602 is valid as an SD memory card for inputting the SDK application to the multi-function apparatus 101. The SD service file 701 stores an SD memory card service program (SD service). The multi-function peripheral 101 confirms the validity of the SD memory card 602 when the SD service is normally activated. The SD service file 701 is an SD service execution format file.

SDserviceファイル701は、modファイルに該当する。よって、SDメモリカード602には、図7のように、SDserviceファイル701と共に、SDserviceファイル701の電子署名が格納されたmacファイル、SDserviceファイル701に関連するcnfファイル・licファイルが記憶されている。これにより、SDserviceファイル701の改竄が防止される。さらに、licファイルはここでは、上記したように、SDメモリカード602のSDシリアルIDが使用されて作成される。これにより、SDserviceファイル701のコピーが防止される。仮に、SDserviceファイル701をコピーしたSDメモリカードを使用しても、本来のSDメモリカードとSDシリアルIDが異なるため、licファイルに係る電子署名チェックで発見されるからである。   The SD service file 701 corresponds to a mod file. Therefore, as shown in FIG. 7, the SD memory card 602 stores a mac file storing the electronic signature of the SD service file 701 and a cnf file / lic file related to the SD service file 701 together with the SD service file 701. As a result, tampering of the SD service file 701 is prevented. Further, the lic file is created here using the SD serial ID of the SD memory card 602 as described above. Thereby, copying of the SD service file 701 is prevented. Even if an SD memory card to which the SD service file 701 is copied is used, the SD memory card and the SD serial ID are different from each other.

SDKアプリファイル702は、SDKアプリが格納されたファイルである。SDKアプリは、上記したように、専用のSDK(ソフトウェア開発キット)により作成されるアプリケーション131である。SDKアプリファイル702にはここでは、ベンダーにより作成されたSDKアプリが格納されている。SDメモリカード602には、ベンダーが自分でSDKアプリファイル702を書き込めるようにしておくものとする。SDKアプリファイル702は、SDKアプリの実行形式ファイルである。   The SDK application file 702 is a file in which an SDK application is stored. As described above, the SDK application is an application 131 created by a dedicated SDK (software development kit). Here, the SDK application file 702 stores an SDK application created by a vendor. It is assumed that the vendor can write the SDK application file 702 on the SD memory card 602 by himself / herself. The SDK application file 702 is an execution format file of the SDK application.

SDKアプリファイル702には、SDKアプリファイル702であることを、融合機101に識別させるための識別コードを格納させておく。識別コードは、SDKアプリファイル702の先頭の数バイト等、SDKアプリファイル702の特定エリアに格納させておく。融合機101は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。なお、SDKアプリファイル702に識別コードを格納するための専用のツールをメーカーからベンダーに提供しておくなどして、ベンダーが自分でSDKアプリファイル702に識別コードを書き込めるようにしておくものとする。   In the SDK application file 702, an identification code for identifying the MFP 101 to be the SDK application file 702 is stored. The identification code is stored in a specific area of the SDK application file 702, such as the first few bytes of the SDK application file 702. The multi-function peripheral 101 identifies that a certain file is the SDK application file 702 based on the fact that the identification code is stored in the file. It should be noted that a dedicated tool for storing the identification code in the SDK application file 702 is provided from the manufacturer to the vendor so that the vendor can write the identification code in the SDK application file 702 by himself / herself. .

PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDID(プロダクトID)を登録(格納)するためのファイルである。より詳細に言うと、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを登録するためのファイルである。融合機101は、SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する「PDID登録処理」を実行する。融合機101はまた、SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する「アプリ正当性判断処理」を実行する。融合機101はそして、アプリ正当性判断処理により正当であることが判断されたSDKアプリであることを、当該SDKアプリの起動処理や起動権設定処理を実行するための条件とする。なお、SDKアプリファイル702に格納されたSDKアプリのPDIDは、当該SDKアプリファイル702から取得できるようにしておく。   The PDID file 703 is a file for registering (storing) the SDK application PDID (product ID), which is the ID (identification information) of the SDK application. More specifically, it is a file for registering the PDID of the SDK application stored in the SDK application file 702 in the SD memory card 602. The multi-function peripheral 101 executes “PDID registration processing” in which the PDID of the SDK application stored in the SDK application file 702 in the SD memory card 602 is registered in the PDID file 703 in the SD memory card 602. The multi-function peripheral 101 also confirms the validity of the SDK application stored in the SDK application file 702 in the SD memory card 602, and that the PDID of the SDK application is registered in the PDID file 703 in the SD memory card 602. The “app validity determination process” is executed. Then, the MFP 101 determines that the SDK application is determined to be valid by the application validity determination process as a condition for executing the activation process and activation right setting process of the SDK application. Note that the PDID of the SDK application stored in the SDK application file 702 can be acquired from the SDK application file 702.

PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、SDKアプリのPDIDが当該SDメモリカード602に固有な鍵(シード)で暗号化されて登録されることになる。当該鍵(暗号化用データ)はここでは、当該SDメモリカード602内のいずれかのlicファイル(SDserviceファイル701に関連するlicファイル等)が使用されて作成される鍵(licファイルのチェックサム(8ビット)等)であり、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。このlicファイルは、上記したように、当該SDメモリカード602のSDシリアルIDが使用されて作成されるlicファイルとする。暗号化はここでは、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、当該SDメモリカード602に固有な鍵で暗号化されて登録されることで、PDIDファイル703のコピーが防止される。   In the PDID file 703, the PDID of the SDK application is not registered as it is, but the PDID of the SDK application is encrypted and registered with a key (seed) unique to the SD memory card 602. Here, the key (encryption data) is a key (licum file checksum) created by using any lic file in the SD memory card 602 (such as a lic file related to the SD service file 701). 8 bits), etc., and an encryption key / decryption key (encryption data / decryption data). This lic file is a lic file created using the SD serial ID of the SD memory card 602 as described above. Here, the encryption is executed by an EOR (exclusive OR) process with the key in byte units. In this way, the PDID of the SDK application is encrypted and registered with the key, so that the tampering of the PDID file 703 is prevented, and the PDID of the SDK application is encrypted with a key unique to the SD memory card 602. Thus, the copy of the PDID file 703 is prevented.

PDIDファイル703には、整合性確認用データ711、最大アプリ数712、登録アプリ数713、PDID714が格納される。   The PDID file 703 stores consistency confirmation data 711, the maximum number of applications 712, the number of registered applications 713, and the PDID 714.

整合性確認用データ711は、当該SDメモリカード602と当該PDIDファイル703の整合性を、融合機101に確認させるためのデータ(数バイト)である。整合性確認用データ711はここでは、当該SDメモリカード602内のいずれかのlicファイル(SDserviceファイル701に関連するlicファイル等)が使用されて作成されるデータ(licファイルのチェックサム等)である。   The consistency confirmation data 711 is data (several bytes) for causing the multi-function peripheral 101 to confirm the consistency between the SD memory card 602 and the PDID file 703. The consistency confirmation data 711 is data (such as a checksum of a lic file) created by using any lic file in the SD memory card 602 (lic file related to the SD service file 701). is there.

最大アプリ数712は、当該PDIDファイル703に登録可能なPDIDの個数の上限値(最大個数)である。すなわち、当該メモリカード602に正当に書き込み可能なSDKアプリ(SDKアプリファイル702)の個数の上限値(最大個数)である。最大アプリ数712はここでは、ベンダーにより書き込まれるSDKアプリ(SDKアプリファイル702)の個数を制限すべく、メーカーにより設定されるものとする。図7B,C,DのPDIDファイル703の最大アプリ数712としては「2個」が設定されている。最大アプリ数712は、上記のシード(鍵)で暗号化して格納しておく。   The maximum application number 712 is an upper limit value (maximum number) of the number of PDIDs that can be registered in the PDID file 703. That is, this is the upper limit (maximum number) of the number of SDK applications (SDK application files 702) that can be legally written to the memory card 602. Here, the maximum number of applications 712 is set by the manufacturer in order to limit the number of SDK applications (SDK application files 702) written by the vendor. “2” is set as the maximum number of applications 712 of the PDID file 703 in FIGS. 7B, 7C, and 7D. The maximum number of applications 712 is encrypted with the seed (key) and stored.

登録アプリ数713は、当該PDIDファイル703に登録されたPDIDの個数の値である。すなわち、当該メモリカード602に書き込まれた正当なSDKアプリ(SDKアプリファイル702)の個数の値である。融合機101は、上記したPDID登録処理の一環として、SDメモリカード602内のPDIDファイル703に登録されたPDIDの個数の値を、当該PDIDファイル703の登録アプリ数713として登録する。ベンダーにより書き込まれるSDKアプリ(SDKアプリファイル702)の個数を制限すべく、ベンダーにより書き込まれたSDKアプリ(SDKアプリファイル702)の個数を管理するのである。図7B,CのPDIDファイル703の登録アプリ数713としては「0個」が登録されており、図7DのPDIDファイル703の登録アプリ数713としては「2個」が登録されている。登録アプリ数713は、上記のシード(鍵)で暗号化されて登録される。なお、登録アプリ数713が「0個」の状態を「初期状態」と呼び、登録アプリ数713が「0個」以外の状態を「登録状態」と呼ぶことにする。   The registered application number 713 is a value of the number of PDIDs registered in the PDID file 703. That is, the number of valid SDK applications (SDK application files 702) written in the memory card 602. As part of the PDID registration process, the multi-function peripheral 101 registers the value of the number of PDIDs registered in the PDID file 703 in the SD memory card 602 as the number of registered applications 713 in the PDID file 703. In order to limit the number of SDK applications (SDK application files 702) written by the vendor, the number of SDK applications (SDK application files 702) written by the vendor is managed. “0” is registered as the number of registered applications 713 in the PDID file 703 in FIGS. 7B and 7C, and “2” is registered as the number of registered applications 713 in the PDID file 703 in FIG. 7D. The registered application number 713 is registered by being encrypted with the seed (key). A state where the number of registered applications 713 is “0” is referred to as an “initial state”, and a state where the number of registered applications 713 is other than “0” is referred to as a “registered state”.

PDID714は、SDKアプリのPDID(プロダクトID)を登録するための登録欄である。より詳細に言うと、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを登録するための登録欄である。図7B,CのPDIDファイル703のPDID714には、SDKアプリのPDIDがまだ登録されておらず、図7DのPDIDファイル703のPDID714には、SDKアプリのPDID(SDKアプリファイルA702Aに格納されたSDKアプリAのPDIDと、SDKアプリファイルB702Bに格納されたSDKアプリAのPDID)がすでに登録されている。図7B,CのPDIDファイル703のPDID714には、SDKアプリのPDIDの代わりにSDKアプリのPDIDと同じデータ量のデータ「ダミーID」が格納されている。PDIDファイル703にPDIDが格納される際には、PDID714にPDIDの代わりに格納されている「ダミーID」に替わりPDIDが格納される形で、PDIDファイル703にPDIDが格納される。こうしておけば、PDIDの格納前と格納後のPDIDファイル703のデータ量のずれが原因で、上記したPDID登録処理の存在が発覚してしまうような事態が抑制される。PDID714に登録されるPDIDは、すでに説明したとおり、シード(鍵)で暗号化されて登録される。   The PDID 714 is a registration field for registering the PDID (product ID) of the SDK application. More specifically, it is a registration field for registering the PDID of the SDK application stored in the SDK application file 702 in the SD memory card 602. The PDID of the SDK application has not yet been registered in the PDID 714 of the PDID file 703 in FIGS. 7B and 7C, and the PDID of the SDK application (the SDK stored in the SDK application file A 702A) The PDID of the application A and the PDID of the SDK application A stored in the SDK application file B702B) are already registered. In the PDID 714 of the PDID file 703 in FIGS. 7B and 7C, data “dummy ID” having the same data amount as the PDID of the SDK application is stored instead of the PDID of the SDK application. When the PDID is stored in the PDID file 703, the PDID is stored in the PDID file 703 in such a form that the PDID is stored in place of the “dummy ID” stored in the PDID 714 instead of the PDID. In this way, a situation in which the existence of the PDID registration process described above is detected due to a difference in data amount between the PDID file 703 before and after storing the PDID is suppressed. As already described, the PDID registered in the PDID 714 is registered after being encrypted with a seed (key).

以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。   Hereinafter, specific examples of the “PDID registration process” and the “app validity determination process” will be described.

これらの処理は、VAS135(図1の説明欄参照)により実行される。図8は、VAS135により実行される処理に係るフローチャートであり、図9は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図9のように、カード正当性確認部901と、シード作成部902と、PDIDファイル整合性確認部903と、PDID暗号化部911と、PDID登録部912と、PDID復号化部921と、アプリ正当性判断部922等の機能ブロックが存在する。   These processes are executed by the VAS 135 (see the explanation column in FIG. 1). FIG. 8 is a flowchart relating to processing executed by the VAS 135, and FIG. 9 is a functional block diagram relating to functions realized by the VAS 135. 1 includes a card validity checking unit 901, a seed creation unit 902, a PDID file consistency checking unit 903, a PDID encryption unit 911, and a PDID registration unit 912, as shown in FIG. , There are functional blocks such as a PDID decryption unit 921 and an application validity judgment unit 922.

融合機101のSDメモリカード用スロット601にSDメモリカード602が挿入された状態で、融合機101の電源が投入されると、VAS135により図8の処理が実行されることになる。   When the power of the multi-function peripheral 101 is turned on with the SD memory card 602 inserted into the SD memory card slot 601 of the multi-function peripheral 101, the processing of FIG.

まず最初に、カード正当性確認部901が、SDメモリカード602の正当性を確認(S11)する。より詳細に言うと、SDメモリカード602が、当該融合機101にSDKアプリを入力するためのSDメモリカードとして正当であることを、当該SDメモリカード602内のSDserviceファイル701に基づいて確認する。上記したように、SDserviceファイル701にはSDserviceが格納されており、カード正当性確認部901は、SDメモリカード602の正当性を、このSDserviceが正常に起動されることをもって確認する。正常に起動されたことの確認手法としては、SDserviceがVAS135に通知するようにしてもよいし、VAS135がSDserviceにアクセスするようにしてもよいし、SDserviceがHDD233等に書き込みをして、VAS135がこれを読み込むようにしてもよい。   First, the card validity confirmation unit 901 confirms the validity of the SD memory card 602 (S11). More specifically, it is confirmed based on the SD service file 701 in the SD memory card 602 that the SD memory card 602 is valid as an SD memory card for inputting the SDK application to the MFP 101. As described above, the SD service is stored in the SD service file 701, and the card validity checking unit 901 checks the validity of the SD memory card 602 when the SD service is normally activated. As a method for confirming normal activation, the SD service may notify the VAS 135, the VAS 135 may access the SD service, or the SD service may write to the HDD 233 and the VAS 135 You may make it read this.

続いて、S11にてSDメモリカード602が正当であると確認された場合、S13に移行(S12)して、S11にてSDメモリカード602が正当でないと確認された場合、PDID登録処理やアプリ正当性判断処理は実行されずに、VAS135による図8の全処理が終了する。   Subsequently, when it is confirmed that the SD memory card 602 is valid in S11, the process proceeds to S13 (S12), and when it is confirmed that the SD memory card 602 is not valid in S11, the PDID registration process or application The validity determination process is not executed, and the entire process of FIG.

続いて、シード作成部902が、当該SDメモリカード602に固有な鍵(シード)を作成(S13)する。当該鍵はここでは、当該SDメモリカード602内のいずれかのlicファイル(SDserviceファイル701に関連するlicファイル等)が使用されて作成される鍵(licファイルのチェックサム(8ビット)等)であり、暗号鍵兼復号鍵である。シード作成部902はここでは、当該鍵(シード)931を所定のlicファイル932を使用して作成するものとする。このlicファイル932は、当該SDメモリカード602のSDシリアルIDが使用されて作成されるlicファイルとする。   Subsequently, the seed creation unit 902 creates a key (seed) unique to the SD memory card 602 (S13). Here, the key is a key (such as a checksum (8 bits) of a lic file) created by using any lic file (lic file related to the SD service file 701) in the SD memory card 602. Yes, an encryption key and a decryption key. Here, the seed creation unit 902 creates the key (seed) 931 using a predetermined lic file 932. The lic file 932 is a lic file created using the SD serial ID of the SD memory card 602.

続いて、PDIDファイル整合性確認部903が、当該SDメモリカード602と当該SDメモリカード602内のPDIDファイル703の整合性を、当該PDIDファイル703の整合性確認用データ711に基づいて確認(S14)する。   Subsequently, the PDID file consistency confirmation unit 903 confirms the consistency between the SD memory card 602 and the PDID file 703 in the SD memory card 602 based on the consistency confirmation data 711 of the PDID file 703 (S14). )

続いて、S14にてSDメモリカード602とPDIDファイル703が整合すると確認された場合、S16に移行(S15)して、S14にてSDメモリカード602とPDIDファイル703が整合しないと確認された場合、PDID登録処理やアプリ正当性判断処理は実行されずに、VAS135による図8の全処理が終了する。   Subsequently, when it is confirmed that the SD memory card 602 and the PDID file 703 are matched in S14, the process proceeds to S16 (S15), and it is confirmed that the SD memory card 602 and the PDID file 703 are not matched in S14. The PDID registration process and the application validity determination process are not executed, and the entire process of FIG.

続いて、VAS135が、当該SDメモリカード602内のPDIDファイル703が初期状態か登録状態かを、当該PDIDファイル703の登録アプリ数713に基づいて確認(S16)する。初期状態であると確認された場合、PDID登録処理(S17)とアプリ正当性判断処理(S18)とがこの順番で実行されることになる。登録状態であると確認された場合、PDID登録処理(S17)は実行されず、アプリ正当性判断処理(S18)が実行されることになる。なお、初期状態か登録状態かで場合分けをする代わりに、登録アプリ数713が最大アプリ数712未満か否かで場合分けをしてもよい。   Subsequently, the VAS 135 checks whether the PDID file 703 in the SD memory card 602 is in an initial state or a registered state based on the number of registered applications 713 in the PDID file 703 (S16). When the initial state is confirmed, the PDID registration process (S17) and the application validity determination process (S18) are executed in this order. When the registration state is confirmed, the PDID registration process (S17) is not executed, and the application validity determination process (S18) is executed. In addition, instead of dividing the case according to the initial state or the registered state, the case may be divided according to whether the number of registered applications 713 is less than the maximum number of applications 712 or not.

PDID登録処理(S17)について説明する。S16に続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)931でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。   The PDID registration process (S17) will be described. Subsequent to S16, the PDID registration unit 912 registers the PDID of the SDK application stored in the SDK application file 702 in the SD memory card 602 in the PDID file 703 in the SD memory card 602. In the PDID file 703, the PDID of the SDK application stored in the SDK application file 702 is encrypted by the PDID encryption unit 911 with the seed (key) 931 created by the seed creation unit 902, and the PDID registration unit 912 is registered.

PDID登録処理(S17)では、PDID登録部912は、当該SDメモリカード602内のPDIDファイル703に登録されたPDIDの個数を、当該PDIDファイル703の登録アプリ数713として登録する。こうして、PDIDファイル703が初期状態から登録状態になると、S16の説明から明らかなように、次回の電源投入時には、当該SDメモリカード602についてはPDID登録処理(S17)は実行されないことになる。   In the PDID registration process (S17), the PDID registration unit 912 registers the number of PDIDs registered in the PDID file 703 in the SD memory card 602 as the registered application number 713 in the PDID file 703. Thus, when the PDID file 703 changes from the initial state to the registered state, as is apparent from the description of S16, the PDID registration process (S17) is not executed for the SD memory card 602 at the next power-on.

アプリ正当性判断処理(S18)について説明する。S16に続いて、アプリ正当性判断部922は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)931でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成されたシード(鍵)931でPDID復号化部921により復号化されることになる。   The application validity determination process (S18) will be described. Subsequent to S <b> 16, the application validity determination unit 922 indicates the validity of the SDK application stored in the SDK application file 702 in the SD memory card 602, and stores the validity of the SDK application in the PDID file 703 in the SD memory card 602. Judgment is made when the PDID is registered. In the PDID file 703, as described above, the PDID of the SDK application is registered by being encrypted by the PDID encryption unit 911 with the seed (key) 931 created by the seed creation unit 902. Is previously decrypted by the PDID decryption unit 921 with the seed (key) 931 created by the seed creation unit 902.

融合機101は、SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリについて、アプリ正当性判断処理(S18)により正当であることが判断されたSDKアプリであることを、当該SDKアプリの起動処理や起動権設定処理を実行するための条件とする。すなわち、アプリ正当性判断処理を経由していないSDKアプリや、アプリ正当性判断処理により正当でないことが判断されたSDKアプリは、MEM−P231やMEM−C232への起動が制限されることになる。このようにして、SDメモリカード602が不正にコピーされたり使用されたりして、融合機101にプログラムが不正に入力されてしまう危険性に対処しているのである。   The MFP 101 determines that the SDK application stored in the SDK application file 702 in the SD memory card 602 is the SDK application determined to be valid by the application validity determination process (S18). This is a condition for executing the activation process and activation right setting process. That is, an SDK application that has not passed through the app validity determination process or an SDK application that has been determined to be invalid by the application validity determination process is restricted from being activated to the MEM-P 231 or the MEM-C 232. . In this way, the risk that the SD memory card 602 is illegally copied or used and the program is illegally input to the multi-function peripheral 101 is dealt with.

なお、PDID登録処理とアプリ正当性判断処理を実行するメリットの具体例としては、SDメモリカード602内のSDKアプリファイル702の差し替え防止が挙げられる。例えば、低額なSDKアプリファイル702が記憶されたSDメモリカード602を購入したユーザーが、不正コピーにより、当該SDメモリカード602内のSDKアプリファイル702を低額なものから高額なものに差し替えた場合でも、当該SDメモリカード602についてすでにPDID登録処理が実行されて、当該SDメモリカード602内のPDIDファイル703がすでに初期状態から登録状態になっていれば、アプリ正当性判断処理を通過することができないからである。SDメモリカード602へのSDKアプリファイル702の追加についても、同様のことが言える。   A specific example of the merit of executing the PDID registration process and the application validity determination process is prevention of replacement of the SDK application file 702 in the SD memory card 602. For example, even when a user who has purchased an SD memory card 602 storing a low-priced SDK application file 702 replaces the SDK application file 702 in the SD memory card 602 from a low-priced one to a high-priced one by unauthorized copying. If the PDID registration process has already been executed for the SD memory card 602 and the PDID file 703 in the SD memory card 602 has already been registered from the initial state, the app validity determination process cannot be passed. Because. The same can be said for the addition of the SDK application file 702 to the SD memory card 602.

なお、上記のメリットは、PDIDファイル703の最大アプリ数712、すなわち、SDメモリカード602に書き込み可能なSDKアプリの個数の上限値が1個であっても2個以上であっても変わるところがない。よって例えば、1枚のSDメモリカード602へのSDKアプリの書き込みを2以上のベンダーに許すようなビジネスモデルを、上記のメリットを享受しつつ実現するようなことも可能である。例えば、ある1枚のSDメモリカード602について、ベンダーAには2個のSDKアプリの書き込みを許し、ベンダーBには1個のSDKアプリの書き込みを許すべく、その1枚のSDメモリカード602について、メーカーは最大アプリ数712を「3個」に設定するのである。   Note that the above merits do not change regardless of whether the maximum number of applications 712 of the PDID file 703, that is, the upper limit value of the number of SDK applications that can be written to the SD memory card 602 is one or two or more. . Thus, for example, it is possible to realize a business model that allows two or more vendors to write an SDK application to one SD memory card 602 while enjoying the above-described advantages. For example, regarding one SD memory card 602, in order to allow vendor A to write two SDK applications and allow vendor B to write one SDK application, one SD memory card 602 The manufacturer sets the maximum number of applications 712 to “3”.

なお、ここでは、SDメモリカード602を使用して、融合機101にSDメモリカード602内のSDKアプリを入力するような態様について説明したが、SDメモリカード602を使用して、融合機101にSDKアプリをネットワークを介してダウンロードするような態様でもよい。すなわち、SDメモリカード602を、ダウンロード許可用のキーとして販売するのである。この場合、SDメモリカード602には、SDKアプリファイル702を記憶させておく必要はなく、SDservice701やPDIDファイル703を記憶させておけばよい。   Here, an embodiment has been described in which the SD memory card 602 is used to input the SDK application in the SD memory card 602 to the multi-function peripheral 101. However, the SD memory card 602 is used to enter the multi-function peripheral 101. The SDK application may be downloaded via a network. That is, the SD memory card 602 is sold as a key for permitting download. In this case, it is not necessary to store the SDK application file 702 in the SD memory card 602, and it is sufficient to store the SD service 701 and the PDID file 703.

以下、PDID登録処理(S17)の詳細について、図10のシーケンス図により説明する。   Details of the PDID registration process (S17) will be described below with reference to the sequence diagram of FIG.

S11として説明したように、SDserviceファイル701に格納されたSDserviceが起動(S101)されると、SDserviceはVAS135に起動した旨を通知(S102)する。続いて、S13として説明したように、VAS135がシードを作成(S103)する。続いて、S14として説明したように、VAS135がSDメモリカード602とPDIDファイル703の整合性を確認(S104)する。S12,S15,S16の場合分け処理についても、それぞれ説明したように実行される。   As described in S11, when the SD service stored in the SD service file 701 is activated (S101), the SD service notifies the VAS 135 of the activation (S102). Subsequently, as described in S13, the VAS 135 creates a seed (S103). Subsequently, as described in S14, the VAS 135 confirms the consistency between the SD memory card 602 and the PDID file 703 (S104). The case division processing of S12, S15, and S16 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S105)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S105). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S106)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S107)する。続いて、S17として説明したように、VAS135は、そのPDIDをシードで暗号化(S108)して、そのPDIDをPDIDファイル703に登録(S109)する。そして、VAS135がSDKアプリの仮起動を終了(S110)させる。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S106). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S107). Subsequently, as described in S17, the VAS 135 encrypts the PDID with a seed (S108) and registers the PDID in the PDID file 703 (S109). Then, the VAS 135 ends the provisional activation of the SDK application (S110).

以下、アプリ正当性判断処理(S18)の詳細について、図11のシーケンス図により説明する。   Details of the application validity determination process (S18) will be described below with reference to the sequence diagram of FIG.

S11として説明したように、SDserviceファイル701に格納されたSDserviceが起動(S201)されると、SDserviceはVAS135に起動した旨を通知(S202)する。続いて、S13として説明したように、VAS135がシードを作成(S203)する。続いて、S14として説明したように、VAS135がSDメモリカード602とPDIDファイル703の整合性を確認(S204)する。S12,S15,S16の場合分け処理についても、それぞれ説明したように実行される。   As described in S11, when the SD service stored in the SD service file 701 is activated (S201), the SD service notifies the VAS 135 of the activation (S202). Subsequently, as described in S13, the VAS 135 creates a seed (S203). Subsequently, as described in S14, the VAS 135 confirms the consistency between the SD memory card 602 and the PDID file 703 (S204). The case division processing of S12, S15, and S16 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S205)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S205). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S206)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S207)する。続いて、S18として説明したように、VAS135は、PDIDファイル703に登録されたPDIDを復号化(S208)して、S207のPDIDとS208のPDIDとの照合をもってSDKアプリの正当性を判断(S209)する。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S206). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S207). Subsequently, as described in S18, the VAS 135 decrypts the PDID registered in the PDID file 703 (S208) and determines the validity of the SDK application by comparing the PDID in S207 with the PDID in S208 (S209). )

続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S210)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S211)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S212)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S213)する。融合機101は、SDメモリカード用スロット601に挿入されたSDメモリカード602内のSDKアプリについて、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、SDメモリカード602から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。   Subsequently, the VAS 135 acquires application information of the SDK application from the SDK application determined to be valid (S210). Here, the administrator of the multi-function peripheral 101 displays a selection screen for selecting an SDK application to be set as an activation right among the SDK applications determined to be valid on the operation panel 202 (S211). be able to. Then, the administrator of the multi-function peripheral 101 can select an SDK application to be set as an activation right among the SDK applications determined to be valid by operating the operation panel 202 (S212). The VAS 135 sets the activation right of the SDK application by registering the PDID of the SDK application selected as the activation right setting target in the HDD 233 or the like (which may be a non-volatile memory (flash memory or the like)). S213). When the activation right of a certain SDK application is set for the SDK application in the SD memory card 602 inserted in the SD memory card slot 601, the multi-function peripheral 101 appropriately reproduces the SDK application from the SD memory card 602. Thus, the MEM-P 231 and the MEM-C 232 have the authority to start appropriately.

(2)第2具体例
ここでは、図12により、SDKアプリ(図1の説明欄参照)を融合機101に入力するためのSDメモリカード602をメーカーからベンダーに配布し、ベンダーがSDKアプリを作成し、ユーザーがSDKアプリを融合機101にSDメモリカード602を使用して入力するようなビジネスモデルを具体例にして説明する。
(2) Second Specific Example Here, referring to FIG. 12, the SD memory card 602 for inputting the SDK application (see the explanation column in FIG. 1) to the MFP 101 is distributed from the manufacturer to the vendor, and the vendor installs the SDK application. A business model in which a user creates and inputs an SDK application to the MFP 101 using the SD memory card 602 will be described as a specific example.

図12AのSDメモリカード602は、市販のSDメモリカードである。   The SD memory card 602 in FIG. 12A is a commercially available SD memory card.

図12BのSDメモリカード602は、融合機101のメーカーから融合機101のベンダーに提供されるSDメモリカードである。図12BのSDメモリカード602は、図12AのSDメモリカード602に、SDメモリカードサービスファイル(SDserviceファイル)701や、PDIDファイル703を記憶させたものである。   The SD memory card 602 in FIG. 12B is an SD memory card provided from the manufacturer of the multifunction machine 101 to the vendor of the multifunction machine 101. An SD memory card 602 in FIG. 12B is obtained by storing an SD memory card service file (SD service file) 701 and a PDID file 703 in the SD memory card 602 in FIG. 12A.

図12CのSDメモリカード602は、融合機101のベンダーから融合機101のユーザーに提供されるSDメモリカードである。図12CのSDメモリカード602は、図12BのSDメモリカード602に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)を記憶させたものである。   The SD memory card 602 in FIG. 12C is an SD memory card provided from the vendor of the multifunction machine 101 to the user of the multifunction machine 101. The SD memory card 602 in FIG. 12C stores two SDK application files 702 (first SDK application file A 702A and second SDK application file B 702B) in the SD memory card 602 in FIG. 12B. Is.

図12DのSDメモリカード602は、融合機101のユーザーの元でPDID登録処理が実行されたSDメモリカードである。図12DのSDメモリカード602は、図12CのSDメモリカード602内のPDIDファイル703に、SDKアプリのPDID等を登録したものである。   The SD memory card 602 in FIG. 12D is an SD memory card that has undergone PDID registration processing under the user of the multi-function peripheral 101. The SD memory card 602 in FIG. 12D is obtained by registering the PDID of the SDK application in the PDID file 703 in the SD memory card 602 in FIG. 12C.

SDserviceファイル701は、当該SDメモリカード602の正当性を、融合機101に確認させるためのファイルである。第1具体例と同様である。   The SD service file 701 is a file for allowing the multi-function peripheral 101 to confirm the validity of the SD memory card 602. This is the same as the first specific example.

SDKアプリファイル702は、SDKアプリが格納されたファイルである。第1具体例と同様である。   The SDK application file 702 is a file in which an SDK application is stored. This is the same as the first specific example.

PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDIDを登録(格納)するためのファイルである。第1具体例と同様である。   The PDID file 703 is a file for registering (storing) the SDK application PDID, which is the ID (identification information) of the SDK application. This is the same as the first specific example.

PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、SDKアプリのPDIDが融合機101の各機体に固有な鍵(シード)で暗号化されて登録されることになる。当該鍵(暗号化用データ)はここでは、融合機101の各機体の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であり、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。融合機101の各機体の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。暗号化はここでは、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、融合機101の各機体に固有な鍵で暗号化されて登録されることで、当該SDメモリカード602を当該機体の同一機種や関連機種の他の機体等で使用することが制限される。融合機以外のコピー、プリンタ、スキャナ、ファクシミリ等の画像形成装置(情報処理装置)についても同様である。   In the PDID file 703, the PDID of the SDK application is not registered as it is, but the PDID of the SDK application is encrypted and registered with a key (seed) unique to each machine of the MFP 101. Here, the key (encryption data) is a key (such as a checksum (8 bits) of the machine number) created by using the machine number of each machine of the multi-function peripheral 101, and is an encryption key / decryption key ( Data for encryption and decryption). Machine specific information (MAC address or IP address) other than the machine number of each machine of the multifunction machine 101 may be used. Here, the encryption is executed by an EOR (exclusive OR) process with the key in byte units. In this way, the PDID of the SDK application is registered after being encrypted with the key, so that the PDID file 703 is prevented from being falsified, and the PDID of the SDK application is encrypted with a key unique to each machine of the MFP 101. By being registered, use of the SD memory card 602 on the same model of the machine or another machine of the related model is restricted. The same applies to image forming apparatuses (information processing apparatuses) such as copiers, printers, scanners, and facsimiles other than the multifunction peripheral.

PDIDファイル703には、整合性確認用データ711、最大アプリ数712、登録アプリ数713、PDID714が格納される。第1具体例と同様である。   The PDID file 703 stores consistency confirmation data 711, the maximum number of applications 712, the number of registered applications 713, and the PDID 714. This is the same as the first specific example.

以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。   Hereinafter, specific examples of the “PDID registration process” and the “app validity determination process” will be described.

これらの処理は、VAS135(図1の説明欄参照)により実行される。図13は、VAS135により実行される処理に係るフローチャートであり、図14は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図14のように、カード正当性確認部901と、シード作成部902と、PDIDファイル整合性確認部903と、PDID暗号化部911と、PDID登録部912と、PDID復号化部921と、アプリ正当性判断部922等の機能ブロックが存在する。   These processes are executed by the VAS 135 (see the explanation column in FIG. 1). FIG. 13 is a flowchart relating to processing executed by the VAS 135, and FIG. 14 is a functional block diagram relating to functions realized by the VAS 135. 1 includes a card validity checking unit 901, a seed creation unit 902, a PDID file consistency checking unit 903, a PDID encryption unit 911, and a PDID registration unit 912, as shown in FIG. , There are functional blocks such as a PDID decryption unit 921 and an application validity judgment unit 922.

融合機101のSDメモリカード用スロット601にSDメモリカード602が挿入された状態で、融合機101の電源が投入されると、VAS135により図13の処理が実行されることになる。   When the power of the multi-function peripheral 101 is turned on with the SD memory card 602 inserted into the SD memory card slot 601 of the multi-function peripheral 101, the processing of FIG.

まず最初に、カード正当性確認部901が、SDメモリカード602の正当性を確認(S11)する。第1具体例と同様である。   First, the card validity confirmation unit 901 confirms the validity of the SD memory card 602 (S11). This is the same as the first specific example.

続いて、S11にてSDメモリカード602が正当であると確認された場合、S13に移行(S12)する。第1具体例と同様である。   Subsequently, when it is confirmed in S11 that the SD memory card 602 is valid, the process proceeds to S13 (S12). This is the same as the first specific example.

続いて、シード作成部902が、当該融合機101に固有な鍵(シード)を作成(S13)する。当該鍵はここでは、当該融合機101の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であり、暗号鍵兼復号鍵である。当該融合機101の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。シード作成部902はここでは、当該鍵(シード)933を当該融合機101の機体番号934を使用して作成するものとする。   Subsequently, the seed creation unit 902 creates a key (seed) unique to the MFP 101 (S13). Here, the key is a key (such as a checksum (8 bits) of the machine number) created by using the machine number of the multifunction machine 101, and is an encryption key and a decryption key. Machine specific information (MAC address or IP address) other than the machine number of the multi-function machine 101 may be used. Here, it is assumed that the seed creation unit 902 creates the key (seed) 933 using the machine number 934 of the multi-function peripheral 101.

続いて、PDIDファイル整合性確認部903が、当該SDメモリカード602と当該SDメモリカード602内のPDIDファイル703の整合性を、当該PDIDファイル703の整合性確認用データ711に基づいて確認(S14)する。第1具体例と同様である。   Subsequently, the PDID file consistency confirmation unit 903 confirms the consistency between the SD memory card 602 and the PDID file 703 in the SD memory card 602 based on the consistency confirmation data 711 of the PDID file 703 (S14). ) This is the same as the first specific example.

続いて、S14にてSDメモリカード602とPDIDファイル703が整合すると確認された場合、S16に移行(S15)する。第1具体例と同様である。   Subsequently, when it is confirmed in S14 that the SD memory card 602 and the PDID file 703 are matched, the process proceeds to S16 (S15). This is the same as the first specific example.

続いて、VAS135が、当該SDメモリカード602内のPDIDファイル703が初期状態か登録状態かを、当該PDIDファイル703の登録アプリ数713に基づいて確認(S16)する。初期状態であると確認された場合、PDID登録処理(S17)とアプリ正当性判断処理(S18)とがこの順番で実行されることになる。登録状態であると確認された場合、PDID登録処理(S17)は実行されず、アプリ正当性判断処理(S18)が実行されることになる。第1具体例と同様である。   Subsequently, the VAS 135 checks whether the PDID file 703 in the SD memory card 602 is in an initial state or a registered state based on the number of registered applications 713 in the PDID file 703 (S16). When the initial state is confirmed, the PDID registration process (S17) and the application validity determination process (S18) are executed in this order. When the registration state is confirmed, the PDID registration process (S17) is not executed, and the application validity determination process (S18) is executed. This is the same as the first specific example.

PDID登録処理(S17)について説明する。S16に続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)933でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。第1具体例と同様である。   The PDID registration process (S17) will be described. Subsequent to S16, the PDID registration unit 912 registers the PDID of the SDK application stored in the SDK application file 702 in the SD memory card 602 in the PDID file 703 in the SD memory card 602. In the PDID file 703, the PDID of the SDK application stored in the SDK application file 702 is encrypted by the PDID encryption unit 911 with the seed (key) 933 created by the seed creation unit 902, and the PDID registration unit 912 is registered. This is the same as the first specific example.

アプリ正当性判断処理(S18)について説明する。S16に続いて、アプリ正当性判断部922は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)933でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成されたシード(鍵)933でPDID復号化部921により復号化されることになる。第1具体例と同様である。   The application validity determination process (S18) will be described. Subsequent to S <b> 16, the application validity determination unit 922 indicates the validity of the SDK application stored in the SDK application file 702 in the SD memory card 602, and stores the validity of the SDK application in the PDID file 703 in the SD memory card 602. Judgment is made when the PDID is registered. In the PDID file 703, as described above, the PDID of the SDK application is registered by being encrypted by the PDID encryption unit 911 with the seed (key) 933 created by the seed creation unit 902. Is previously decrypted by the PDID decryption unit 921 with the seed (key) 933 created by the seed creation unit 902. This is the same as the first specific example.

以下、PDID登録処理(S17)の詳細について、図15のシーケンス図により説明する。   Details of the PDID registration process (S17) will be described below with reference to the sequence diagram of FIG.

S11として説明したように、SDserviceファイル701に格納されたSDserviceが起動(S101)されると、SDserviceはVAS135に起動した旨を通知(S102)する。続いて、S13として説明したように、VAS135がシードを作成(S103)する。続いて、S14として説明したように、VAS135がSDメモリカード602とPDIDファイル703の整合性を確認(S104)する。S12,S15,S16の場合分け処理についても、それぞれ説明したように実行される。   As described in S11, when the SD service stored in the SD service file 701 is activated (S101), the SD service notifies the VAS 135 of the activation (S102). Subsequently, as described in S13, the VAS 135 creates a seed (S103). Subsequently, as described in S14, the VAS 135 confirms the consistency between the SD memory card 602 and the PDID file 703 (S104). The case division processing of S12, S15, and S16 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S105)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S105). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S106)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S107)する。続いて、S17として説明したように、VAS135は、そのPDIDをシードで暗号化(S108)して、そのPDIDをPDIDファイル703に登録(S109)する。そして、VAS135がSDKアプリの仮起動を終了(S110)させる。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S106). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S107). Subsequently, as described in S17, the VAS 135 encrypts the PDID with a seed (S108) and registers the PDID in the PDID file 703 (S109). Then, the VAS 135 ends the provisional activation of the SDK application (S110).

以下、アプリ正当性判断処理(S18)の詳細について、図16のシーケンス図により説明する。   Details of the application validity determination process (S18) will be described below with reference to the sequence diagram of FIG.

S11として説明したように、SDserviceファイル701に格納されたSDserviceが起動(S201)されると、SDserviceはVAS135に起動した旨を通知(S202)する。続いて、S13として説明したように、VAS135がシードを作成(S203)する。続いて、S14として説明したように、VAS135がSDメモリカード602とPDIDファイル703の整合性を確認(S204)する。S12,S15,S16の場合分け処理についても、それぞれ説明したように実行される。   As described in S11, when the SD service stored in the SD service file 701 is activated (S201), the SD service notifies the VAS 135 of the activation (S202). Subsequently, as described in S13, the VAS 135 creates a seed (S203). Subsequently, as described in S14, the VAS 135 confirms the consistency between the SD memory card 602 and the PDID file 703 (S204). The case division processing of S12, S15, and S16 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S205)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S205). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S206)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S207)する。続いて、S18として説明したように、VAS135は、PDIDファイル703に登録されたPDIDを復号化(S208)して、S207のPDIDとS208のPDIDとの照合をもってSDKアプリの正当性を判断(S209)する。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S206). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S207). Subsequently, as described in S18, the VAS 135 decrypts the PDID registered in the PDID file 703 (S208) and determines the validity of the SDK application by comparing the PDID in S207 with the PDID in S208 (S209). )

続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S210)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S211)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S212)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S213)する。融合機101は、SDメモリカード用スロット601に挿入されたSDメモリカード602内のSDKアプリについて、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、SDメモリカード602から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。   Subsequently, the VAS 135 acquires application information of the SDK application from the SDK application determined to be valid (S210). Here, the administrator of the multi-function peripheral 101 displays a selection screen for selecting an SDK application to be set as an activation right among the SDK applications determined to be valid on the operation panel 202 (S211). be able to. Then, the administrator of the multi-function peripheral 101 can select an SDK application to be set as an activation right among the SDK applications determined to be valid by operating the operation panel 202 (S212). The VAS 135 sets the activation right of the SDK application by registering the PDID of the SDK application selected as the activation right setting target in the HDD 233 or the like (which may be a non-volatile memory (flash memory or the like)). S213). When the activation right of a certain SDK application is set for the SDK application in the SD memory card 602 inserted in the SD memory card slot 601, the multi-function peripheral 101 appropriately reproduces the SDK application from the SD memory card 602. Thus, the MEM-P 231 and the MEM-C 232 have the authority to start appropriately.

(3)第3具体例
ここでは、図17により、SDKアプリ(図1の説明欄参照)をメーカーに代わってベンダーが作成し、SDKアプリを融合機101に入力するためのSDメモリカード602をベンダーからユーザーに配布し、SDKアプリを融合機101にユーザーがSDメモリカード602を使用して入力するようなビジネスモデルを具体例にして説明する。
(3) Third Specific Example Here, referring to FIG. 17, an SD memory card 602 for creating an SDK application (see the explanation column in FIG. 1) on behalf of the manufacturer by the vendor and inputting the SDK application to the MFP 101 is shown. A business model in which a vendor distributes to a user and the user inputs the SDK application to the multi-function peripheral 101 using the SD memory card 602 will be described as a specific example.

図17AのSDメモリカード602は、市販のSDメモリカードである。   The SD memory card 602 in FIG. 17A is a commercially available SD memory card.

図17B,CのSDメモリカード602は、融合機101のベンダーの元で、図17AのSDメモリカード602に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)と、PDIDファイル703とを記憶させたSDメモリカードである。ただし、図17BのSDメモリカード602は、PDID登録処理が未実行のSDメモリカードであり、図17CのSDメモリカード602は、PDID登録処理が実行済のSDメモリカードである。   The SD memory card 602 in FIGS. 17B and 17C is provided with two SDK application files 702 (the first SDK application file A 702A and the second one) on the SD memory card 602 in FIG. And an SD memory card in which a PDID file 703 is stored. However, the SD memory card 602 in FIG. 17B is an SD memory card that has not been subjected to PDID registration processing, and the SD memory card 602 in FIG. 17C is an SD memory card that has been subjected to PDID registration processing.

PDID登録処理は、後述するように、図1の融合機101に実行させることができる。PDID登録処理は、融合機101のベンダーの元にある融合機101に実行させてもよいし、融合機101のユーザーの元にある融合機101で実行させてもよいのだが、ここで具体例として説明するビジネスモデルでは、融合機101のベンダーの元にある融合機101で実行させることにする。よって、融合機101のベンダーから融合機101のユーザーに配布されるSDメモリカード602は、図17BのSDメモリカード602ではなく、図17CのSDメモリカード602である。   The PDID registration process can be executed by the MFP 101 of FIG. 1 as will be described later. The PDID registration process may be executed by the MFP 101 that is the vendor of the MFP 101, or may be executed by the MFP 101 that is the user of the MFP 101. In the business model described below, it is executed by the multi-function peripheral 101 under the vendor of the multi-function peripheral 101. Therefore, the SD memory card 602 distributed from the vendor of the MFP 101 to the user of the MFP 101 is not the SD memory card 602 of FIG. 17B but the SD memory card 602 of FIG. 17C.

なお、SDKアプリファイル702は、融合機101のベンダーにより作成されたものであり、PDIDファイル703は、図17Bのような状態で、融合機101のメーカーから融合機101のベンダーに提供されたものである。図17CのPDIDファイル703には、SDKアプリのPDID等が登録されている。   The SDK application file 702 is created by the MFP 101 vendor, and the PDID file 703 is provided from the MFP 101 manufacturer to the MFP 101 vendor in the state shown in FIG. 17B. It is. In the PDID file 703 in FIG. 17C, the PDID and the like of the SDK application are registered.

図17D1,D2のSDメモリカード602については後述する。   The SD memory card 602 in FIGS. 17D1 and D2 will be described later.

SDKアプリファイル702は、SDKアプリが格納されたファイルである。第1具体例と同様である。   The SDK application file 702 is a file in which an SDK application is stored. The same as the first specific example.

PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDIDを登録(格納)するためのファイルである。第1具体例と同様である。SDメモリカード602には、ベンダーが自分でPDIDファイル703(メーカーからベンダーに提供されたもの)を書き込めるようにしておくものとする。ちなみに、ここで具体例として説明中のビジネスモデルでは、PDID登録処理は、ベンダーの元にある融合機101で実行されることになっており、アプリ正当性判断処理は、ユーザーの元にある融合機101で実行されることになっている。   The PDID file 703 is a file for registering (storing) the SDK application PDID, which is the ID (identification information) of the SDK application. The same as the first specific example. It is assumed that the vendor can write the PDID file 703 (provided by the manufacturer to the vendor) on the SD memory card 602 by himself / herself. By the way, in the business model described here as a specific example, the PDID registration process is to be executed by the MFP 101 at the vendor, and the app validity determination process is at the fusion at the user. Is to be executed on the machine 101.

PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、SDKアプリのPDIDが当該SDメモリカード602に固有な鍵(シード)で暗号化されて登録されることになる。当該鍵(暗号化用データ)はここでは、当該SDメモリカード602のSDシリアルIDが使用されて作成される鍵(SDシリアルIDのチェックサム(8ビット)等)であって、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。暗号化はここでは、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、当該SDメモリカード602に固有な鍵で暗号化されて登録されることで、PDIDファイル703のコピーが防止される。   In the PDID file 703, the PDID of the SDK application is not registered as it is, but the PDID of the SDK application is encrypted and registered with a key (seed) unique to the SD memory card 602. Here, the key (encryption data) is a key (SD serial ID checksum (8 bits) or the like) created by using the SD serial ID of the SD memory card 602, and is also an encryption key and decryption It is a key (encryption data and decryption data). Here, the encryption is executed by an EOR (exclusive OR) process with the key in byte units. In this way, the PDID of the SDK application is encrypted and registered with the key, so that the tampering of the PDID file 703 is prevented, and the PDID of the SDK application is encrypted with a key unique to the SD memory card 602. Thus, the copy of the PDID file 703 is prevented.

例えば、図17D1のように、PDID登録処理が実行されたSDメモリカード602内の全てのファイルを他のSDメモリカード602にコピーした場合、元のSDメモリカード602とSDシリアルIDが異なり鍵が合わないため、当該他のSDメモリカード602はアプリ正当性判断処理で正当でないと判断されるので、結局、融合機101で当該他のSDメモリカード602を使用することは制限される。   For example, as shown in FIG. 17D1, when all files in the SD memory card 602 on which the PDID registration process has been executed are copied to another SD memory card 602, the SD serial ID is different from the original SD memory card 602, and the key is different. Accordingly, the other SD memory card 602 is determined not to be valid in the application validity determination process, and consequently, the use of the other SD memory card 602 in the multi-function peripheral 101 is limited.

例えば、図17D2のように、PDID登録処理が実行されたSDメモリカード602内のSDKアプリファイル702のみを他のSDメモリカード602にコピーした場合、当該他のSDメモリカード602内にはPDIDファイル703が存在しないため、当該他のSDメモリカード602についてアプリ正当性判断処理が実行されないので、結局、融合機101で当該他のSDメモリカード602を使用することは制限される。   For example, as shown in FIG. 17D2, when only the SDK application file 702 in the SD memory card 602 on which the PDID registration process has been executed is copied to another SD memory card 602, the PDID file is stored in the other SD memory card 602. Since the app validity determination process is not executed for the other SD memory card 602 because the 703 does not exist, the use of the other SD memory card 602 in the MFP 101 is eventually limited.

PDIDファイル703には、登録済確認用データ711、登録アプリ数713、PDID714が格納される。第1具体例と同様である。   The PDID file 703 stores registered confirmation data 711, the number of registered applications 713, and a PDID 714. This is the same as the first specific example.

登録済確認用データ711は、当該SDメモリカード602についての上記のPDID登録処理が未実行か実行済かを、融合機101に確認させるためのデータである。図17BのPDIDファイル703の登録済確認用データ711としては「未実行」が登録されており、図17CのPDIDファイル703の登録済確認用データ711としては「実行済」が登録されている。   Registered confirmation data 711 is data for causing the multi-function peripheral 101 to confirm whether the PDID registration process for the SD memory card 602 has not been executed or has been executed. “Unexecuted” is registered as registered confirmation data 711 in the PDID file 703 in FIG. 17B, and “executed” is registered as registered confirmation data 711 in the PDID file 703 in FIG. 17C.

以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。   Hereinafter, specific examples of the “PDID registration process” and the “app validity determination process” will be described.

これらの処理は、VAS135(図1の説明欄参照)により実行される。図18は、VAS135により実行される処理に係るフローチャートであり、図19は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図19のように、登録済確認部901と、シード作成部902と、登録済登録部903と、PDID暗号化部911と、PDID登録部912と、PDID復号化部921と、アプリ正当性判断部922等の機能ブロックが存在する。   These processes are executed by the VAS 135 (see the explanation column in FIG. 1). FIG. 18 is a flowchart relating to processing executed by the VAS 135, and FIG. 19 is a functional block diagram relating to functions realized by the VAS 135. As shown in FIG. 19, the MFP 101 of FIG. 1 includes a registered confirmation unit 901, a seed creation unit 902, a registered registration unit 903, a PDID encryption unit 911, a PDID registration unit 912, and a PDID decryption unit. There are functional blocks such as a conversion unit 921 and an application validity determination unit 922.

融合機101のSDメモリカード用スロット601にSDメモリカード602が挿入された状態で、融合機101の電源が投入されると、VAS135により図18の処理が実行されることになる。   When the power of the multi-function peripheral 101 is turned on with the SD memory card 602 inserted into the SD memory card slot 601 of the multi-function peripheral 101, the processing of FIG.

まず最初に、VAS135が、SDメモリカード602内にPDIDファイル703が存在するか否かをチェック(S11)する。SDメモリカード602内にPDIDファイル703が存在する(S11)場合、S12に移行して、SDメモリカード602内にPDIDファイル703が存在しない(S11)場合、PDID登録処理やアプリ正当性判断処理は実行されずに、VAS135による図18の全処理が終了する。   First, the VAS 135 checks whether or not the PDID file 703 exists in the SD memory card 602 (S11). If the PDID file 703 exists in the SD memory card 602 (S11), the process proceeds to S12, and if the PDID file 703 does not exist in the SD memory card 602 (S11), the PDID registration process and the application validity determination process are performed. The entire process of FIG. 18 by the VAS 135 ends without being executed.

続いて、登録済確認部901が、当該SDメモリカード602についてのPDID登録処理が未実行か実行済かを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711に基づいて確認(S12)する。PDID登録処理が未実行であると確認された(S13)場合、シード作成(S14)とPDID登録処理(S15)と登録済登録(S16)とがこの順番で実行されることになる。PDID登録処理が実行済であると確認された(S13)場合、シード作成(S14)とアプリ正当性判断処理(S17)とがこの順番で実行されることになる。ちなみに、ここで具体例として説明中のビジネスモデルでは、前者の処理(S14・S15・S16)は、ベンダーの元にある融合機101で実行されることになっており、後者の処理(S14・S17)は、ユーザーの元にある融合機101で実行されることになっている。   Subsequently, the registered confirmation unit 901 confirms whether the PDID registration process for the SD memory card 602 has not been executed or has been executed based on the registered confirmation data 711 in the PDID file 703 in the SD memory card 602. (S12). When it is confirmed that the PDID registration process is not executed (S13), the seed creation (S14), the PDID registration process (S15), and the registered registration (S16) are executed in this order. When it is confirmed that the PDID registration process has been executed (S13), the seed creation (S14) and the application validity determination process (S17) are executed in this order. Incidentally, in the business model being described here as a specific example, the former processing (S14, S15, S16) is executed by the MFP 101 at the vendor's base, and the latter processing (S14, S15, S16). S17) is to be executed by the multi-function peripheral 101 at the user.

シード作成(S14)について説明する。S13に続いて、シード作成部902は、当該SDメモリカード602に固有な鍵(シード)を作成する。当該鍵はここでは、当該SDメモリカード602のSDシリアルIDが使用されて作成される鍵(SDシリアルIDのチェックサム(8ビット)等)であって、暗号鍵兼復号鍵である。シード作成部902はここでは、当該鍵(シード)931をSDシリアルID932を使用して作成するものとする。   The seed creation (S14) will be described. Subsequent to S <b> 13, the seed creation unit 902 creates a key (seed) unique to the SD memory card 602. Here, the key is a key created by using the SD serial ID of the SD memory card 602 (such as an SD serial ID checksum (8 bits)), and is an encryption key and a decryption key. Here, the seed creation unit 902 creates the key (seed) 931 by using the SD serial ID 932.

PDID登録処理(S15)について説明する。S14に続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)931でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。   The PDID registration process (S15) will be described. Subsequent to S14, the PDID registration unit 912 registers the PDID of the SDK application stored in the SDK application file 702 in the SD memory card 602 in the PDID file 703 in the SD memory card 602. In the PDID file 703, the PDID of the SDK application stored in the SDK application file 702 is encrypted by the PDID encryption unit 911 with the seed (key) 931 created by the seed creation unit 902, and the PDID registration unit 912 is registered.

登録済登録(S16)について説明する。S15に続いて、登録済登録部903は、当該SDメモリカード602についてのPDID登録処理(S15)が実行済であることを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711として登録する。こうして、PDIDファイル703の登録済確認用データ711が未実行から実行済になると、S13の説明から明らかなように、次回の電源投入時には、当該SDメモリカード602についてはPDID登録処理(S15)は実行されないことになる。   The registered registration (S16) will be described. Subsequent to S15, the registered registration unit 903 confirms that the PDID registration processing (S15) for the SD memory card 602 has been executed, and the registered confirmation data 711 in the PDID file 703 in the SD memory card 602. Register as Thus, when the registered confirmation data 711 of the PDID file 703 has been executed since it has not been executed, the PDID registration processing (S15) for the SD memory card 602 is performed at the next power-on, as is apparent from the description of S13. It will not be executed.

アプリ正当性判断処理(S17)について説明する。S14に続いて、アプリ正当性判断部922は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)931でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成されたシード(鍵)931でPDID復号化部921により復号化されることになる。   The application validity determination process (S17) will be described. Subsequent to S14, the application validity determination unit 922 indicates the validity of the SDK application stored in the SDK application file 702 in the SD memory card 602, and stores the validity of the SDK application in the PDID file 703 in the SD memory card 602. Judgment is made when the PDID is registered. In the PDID file 703, as described above, the PDID of the SDK application is registered by being encrypted by the PDID encryption unit 911 with the seed (key) 931 created by the seed creation unit 902. Is previously decrypted by the PDID decryption unit 921 with the seed (key) 931 created by the seed creation unit 902.

以下、PDID登録処理(S15)の詳細について、図20のシーケンス図により説明する。   Details of the PDID registration process (S15) will be described below with reference to the sequence diagram of FIG.

S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135がPDID登録処理が未実行か実行済かを確認(S101)する。続いて、S14として説明したように、VAS135がシードを作成(S102)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。   As described in S12, when the PDID file 703 exists in the SD memory card 602, the VAS 135 checks whether the PDID registration process has not been executed or has been executed (S101). Subsequently, as described in S14, the VAS 135 creates a seed (S102). The case separation process of S11 and S13 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S103)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S103). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S104)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S105)する。続いて、S15として説明したように、VAS135は、そのPDIDをシードで暗号化(S106)して、そのPDIDをPDIDファイル703に登録(S107)する。続いて、S16として説明したように、VAS135は、PDID登録処理が実行済であることを、PDIDファイル703の登録済確認用データ711として登録(S108)する。そして、VAS135がSDKアプリの仮起動を終了(S109)させる。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S104). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S105). Subsequently, as described in S15, the VAS 135 encrypts the PDID with a seed (S106) and registers the PDID in the PDID file 703 (S107). Subsequently, as described in S <b> 16, the VAS 135 registers that the PDID registration processing has been executed as registered confirmation data 711 in the PDID file 703 (S <b> 108). Then, the VAS 135 ends the temporary activation of the SDK application (S109).

以下、アプリ正当性判断処理(S17)の詳細について、図21のシーケンス図により説明する。   Details of the application validity determination process (S17) will be described below with reference to the sequence diagram of FIG.

S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135はPDID登録処理が未実行か実行済かを確認(S201)する。続いて、S14として説明したように、VAS135がシードを作成(S202)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。   As described in S12, when the PDID file 703 exists in the SD memory card 602, the VAS 135 checks whether the PDID registration process has not been executed or has been executed (S201). Subsequently, as described in S14, the VAS 135 creates a seed (S202). The case separation process of S11 and S13 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S203)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S203). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S204)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S205)する。続いて、S17として説明したように、VAS135は、PDIDファイル703に登録されたPDIDを復号化(S206)して、S205のPDIDとS206のPDIDとの照合をもってSDKアプリの正当性を判断(S207)する。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S204). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S205). Subsequently, as described in S17, the VAS 135 decrypts the PDID registered in the PDID file 703 (S206), and determines the validity of the SDK application by comparing the PDID in S205 with the PDID in S206 (S207). )

続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S208)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S209)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S210)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S211)する。融合機101は、SDメモリカード用スロット601に挿入されたSDメモリカード602内のSDKアプリについて、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、SDメモリカード602から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。   Subsequently, the VAS 135 acquires application information of the SDK application from the SDK application determined to be valid (S208). Here, the administrator of the multi-function peripheral 101 displays a selection screen for selecting an SDK application to be set as an activation right among the SDK applications determined to be valid on the operation panel 202 (S209). be able to. Then, the administrator of the multi-function peripheral 101 can select an SDK application to be set as an activation right among the SDK applications determined to be valid by operating the operation panel 202 (S210). The VAS 135 sets the activation right of the SDK application by registering the PDID of the SDK application selected as the activation right setting target in the HDD 233 or the like (which may be a non-volatile memory (flash memory or the like)). S211). When the activation right of a certain SDK application is set for the SDK application in the SD memory card 602 inserted in the SD memory card slot 601, the multi-function peripheral 101 appropriately reproduces the SDK application from the SD memory card 602. Thus, the MEM-P 231 and the MEM-C 232 have the authority to start appropriately.

(4)第4具体例
ここでは、図22により、SDKアプリ(図1の説明欄参照)をメーカーに代わってベンダーが作成し、SDKアプリを融合機101に入力するためのSDメモリカード602をベンダーからユーザーに配布し、SDKアプリを融合機101にユーザーがSDメモリカード602を使用して入力するようなビジネスモデルを具体例にして説明する。
(4) Fourth Specific Example Here, referring to FIG. 22, a vendor creates an SDK application (see the explanation column in FIG. 1) on behalf of the manufacturer, and an SD memory card 602 for inputting the SDK application to the MFP 101 is shown. A business model in which a vendor distributes to a user and the user inputs the SDK application to the multi-function peripheral 101 using the SD memory card 602 will be described as a specific example.

図22AのSDメモリカード602は、市販のSDメモリカードである。   The SD memory card 602 in FIG. 22A is a commercially available SD memory card.

図22B,図22C,図22DのSDメモリカード602は、融合機101のベンダーの元で、図22AのSDメモリカード602に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)と、PDIDファイル703とを記憶させたSDメモリカードである。ただし、図22BのSDメモリカード602は、PDID登録処理が未実行のSDメモリカードであり、図22CのSDメモリカード602は、第1次のPDID登録処理(SDシードによるPDID登録処理)が実行済のSDメモリカードであり、図22DのSDメモリカード602は、第2次のPDID登録処理(機体シードによるPDID登録処理)が実行済のSDメモリカードである。   22B, 22C, and 22D, the SD memory card 602 in the MFP 101 is connected to two SD application files 702 (first SDK application file A 702A, This is an SD memory card that stores a second SDK application file B702B) and a PDID file 703. However, the SD memory card 602 in FIG. 22B is an SD memory card that has not been subjected to PDID registration processing, and the SD memory card 602 in FIG. 22C is subjected to the first PDID registration processing (PDID registration processing by SD seed). The SD memory card 602 in FIG. 22D is an SD memory card that has been subjected to the second PDID registration process (PDID registration process using the machine seed).

PDID登録処理は、後述するように、第1次のPDID登録処理と第2次のPDID登録処理とからなり、図1の融合機101に実行させることができる。PDID登録処理は、融合機101のベンダーの元にある融合機101に実行させてもよいし、融合機101のユーザーの元にある融合機101で実行させてもよいのだが、ここで具体例として説明するビジネスモデルでは、第1次のPDID登録処理については、融合機101のベンダーの元にある融合機101で実行させ、第2次のPDID登録処理については、融合機101のユーザーの元にある融合機101で実行させることにする。よって、融合機101のベンダーから融合機101のユーザーに配布されるSDメモリカード602は、図22CのSDメモリカード602である。   As will be described later, the PDID registration process includes a first PDID registration process and a second PDID registration process, and can be executed by the MFP 101 of FIG. The PDID registration process may be executed by the MFP 101 that is the vendor of the MFP 101, or may be executed by the MFP 101 that is the user of the MFP 101. In the business model described below, the first PDID registration process is executed by the MFP 101 at the MFP 101 vendor, and the second PDID registration process is performed by the user of the MFP 101 user. It will be executed by the multi-function machine 101 in FIG. Therefore, the SD memory card 602 distributed from the vendor of the MFP 101 to the user of the MFP 101 is the SD memory card 602 in FIG. 22C.

なお、SDKアプリファイル702は、融合機101のベンダーにより作成されたものであり、PDIDファイル703は、図22Bのような状態で、融合機101のメーカーから融合機101のベンダーに提供されたものである。図22C,図22DのPDIDファイル703には、SDKアプリのPDID等が登録されている。   The SDK application file 702 is created by the vendor of the MFP 101, and the PDID file 703 is provided from the manufacturer of the MFP 101 to the vendor of the MFP 101 in the state shown in FIG. 22B. It is. In the PDID file 703 of FIGS. 22C and 22D, the PDID of the SDK application is registered.

図22E1,図22E2のSDメモリカード602については後述する。   The SD memory card 602 shown in FIGS. 22E1 and 22E2 will be described later.

SDKアプリファイル702は、SDKアプリが格納されたファイルである。第1具体例と同様である。   The SDK application file 702 is a file in which an SDK application is stored. This is the same as the first specific example.

PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDIDを登録(格納)するためのファイルである。第1具体例と同様である。SDメモリカード602には、ベンダーが自分でPDIDファイル703(メーカーからベンダーに提供されたもの)を書き込めるようにしておくものとする。ちなみに、ここで具体例として説明中のビジネスモデルでは、第1次のPDID登録処理は、ベンダーの元にある融合機101で、第2次のPDID登録処理は、ユーザーの元にある融合機101で、アプリ正当性判断処理は、ユーザーの元にある融合機101で実行されることになっている。   The PDID file 703 is a file for registering (storing) the SDK application PDID, which is the ID (identification information) of the SDK application. The same as the first specific example. It is assumed that the vendor can write the PDID file 703 (provided by the manufacturer to the vendor) on the SD memory card 602 by himself / herself. Incidentally, in the business model described as a specific example here, the first PDID registration process is performed by the MFP 101 at the vendor, and the second PDID registration process is performed by the MFP 101 at the user. Thus, the app validity determination process is to be executed by the multi-function peripheral 101 at the user.

PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、第1次のPDID登録処理では、SDKアプリのPDIDが当該SDメモリカード602に固有な鍵(シード)で暗号化されて登録されることになり、第2次のPDID登録処理では、SDKアプリのPDIDが融合機101の各機体に固有な鍵(シード)で暗号化されて登録されることになる。以下、SDメモリカード602に固有なシードを「SDシード」と呼び、SDメモリカード602に固有なシードを「機体シード」と呼ぶことにする。当該SDシード(暗号化用データ)はここでは、当該SDメモリカード602のSDシリアルIDが使用されて作成される鍵(SDシリアルIDのチェックサム(8ビット)等)であって、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。当該機体シード(暗号化用データ)はここでは、融合機101の各機体の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であって、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。融合機101の各機体の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。暗号化はここではいずれも、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、当該SDメモリカード602に固有な鍵で暗号化されて登録されることで、PDIDファイル703のコピーが防止され、SDKアプリのPDIDが、融合機101の各機体に固有の鍵で暗号化されて登録されることで、当該SDメモリカード602を当該機体の同一機種や関連機種の他の機体等で使用することが制限される。融合機以外のコピー、プリンタ、スキャナ、ファクシミリ等の画像形成装置(情報処理装置)についても同様である。   In the PDID file 703, the PDID of the SDK application is not registered as it is. In the first PDID registration process, the PDID of the SDK application is encrypted with a key (seed) unique to the SD memory card 602. In the second PDID registration process, the PDID of the SDK application is encrypted and registered with a key (seed) unique to each machine of the MFP 101. Hereinafter, the seed unique to the SD memory card 602 will be referred to as “SD seed”, and the seed unique to the SD memory card 602 will be referred to as “aircraft seed”. Here, the SD seed (encryption data) is a key (SD serial ID checksum (8 bits) or the like) created by using the SD serial ID of the SD memory card 602, and also serves as an encryption key. This is a decryption key (encryption data and decryption data). Here, the machine seed (encryption data) is a key (such as a checksum (8 bits) of the machine number) created by using the machine number of each machine of the fusion machine 101, and is an encryption key and decryption key. It is a key (encryption data and decryption data). Machine specific information (MAC address or IP address) other than the machine number of each machine of the multifunction machine 101 may be used. In this case, encryption is performed by EOR (exclusive OR) processing with the key in byte units. In this way, the PDID of the SDK application is encrypted and registered with the key, so that the tampering of the PDID file 703 is prevented, and the PDID of the SDK application is encrypted with a key unique to the SD memory card 602. Registration, the copy of the PDID file 703 is prevented, and the PDID of the SDK application is encrypted and registered with a key unique to each unit of the MFP 101, so that the SD memory card 602 is registered. Use with other models of the same model or related models is restricted. The same applies to image forming apparatuses (information processing apparatuses) such as copiers, printers, scanners, and facsimiles other than the multifunction peripheral.

例えば、図22E1のように、PDID登録処理が実行されたSDメモリカード602内の全てのファイルを他のSDメモリカード602にコピーした場合、鍵が合わないと、当該他のSDメモリカード602はアプリ正当性判断処理で正当でないと判断されるので、結局、融合機101で当該他のSDメモリカード602を使用することは制限される。   For example, as shown in FIG. 22E1, when all files in the SD memory card 602 for which the PDID registration process has been executed are copied to another SD memory card 602, if the keys do not match, the other SD memory card 602 Since it is determined that the application validity determination process is not valid, eventually, the use of the other SD memory card 602 in the multi-function peripheral 101 is restricted.

例えば、図22E2のように、PDID登録処理が実行されたSDメモリカード602内のSDKアプリファイル702のみを他のSDメモリカード602にコピーした場合、当該他のSDメモリカード602内にはPDIDファイル703が存在しないため、当該他のSDメモリカード602についてアプリ正当性判断処理が実行されないので、結局、融合機101で当該他のSDメモリカード602を使用することは制限される。   For example, as shown in FIG. 22E2, when only the SDK application file 702 in the SD memory card 602 on which the PDID registration process has been executed is copied to another SD memory card 602, the PDID file is stored in the other SD memory card 602. Since the app validity determination process is not executed for the other SD memory card 602 because the 703 does not exist, the use of the other SD memory card 602 in the MFP 101 is eventually limited.

PDIDファイル703には、登録済確認用データ711、登録アプリ数713、PDID714が格納される。第1具体例と同様である。   The PDID file 703 stores registered confirmation data 711, the number of registered applications 713, and a PDID 714. This is the same as the first specific example.

登録済確認用データ711は、当該SDメモリカード602についての上記のPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを、融合機101に確認させるためのデータである。図22BのPDIDファイル703の登録済確認用データ711としては「未実行」が登録されており、図22CのPDIDファイル703の登録済確認用データ711としては「実行済(第1次)」が登録されており、図22DのPDIDファイル703の登録済確認用データ711としては「実行済(第2次)」が登録されている。   Registered confirmation data 711 is data for causing the multi-function peripheral 101 to confirm whether the PDID registration processing for the SD memory card 602 has not been executed, has been executed up to the first order, or has been executed up to the second order. is there. “Unexecuted” is registered as registered confirmation data 711 in the PDID file 703 in FIG. 22B, and “executed (primary)” is registered as registered confirmation data 711 in the PDID file 703 in FIG. 22C. “Executed (secondary)” is registered as the registered confirmation data 711 of the PDID file 703 in FIG. 22D.

以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。   Hereinafter, specific examples of the “PDID registration process” and the “app validity determination process” will be described.

これらの処理は、VAS135(図1の説明欄参照)により実行される。図23は、VAS135により実行される処理に係るフローチャートであり、図24は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図24のように、登録済確認部901と、シード作成部902と、登録済登録部903と、PDID暗号化部911と、PDID登録部912と、PDID復号化部921と、アプリ正当性判断部922等の機能ブロックが存在する。   These processes are executed by the VAS 135 (see the explanation column in FIG. 1). FIG. 23 is a flowchart relating to processing executed by the VAS 135, and FIG. 24 is a functional block diagram relating to functions realized by the VAS 135. 1 includes a registered confirmation unit 901, a seed creation unit 902, a registered registration unit 903, a PDID encryption unit 911, a PDID registration unit 912, and a PDID decryption unit as illustrated in FIG. There are functional blocks such as a conversion unit 921 and an application validity determination unit 922.

融合機101のSDメモリカード用スロット601にSDメモリカード602が挿入された状態で、融合機101の電源が投入されると、VAS135により図23の処理が実行されることになる。   When the power of the multi-function peripheral 101 is turned on with the SD memory card 602 inserted into the SD memory card slot 601 of the multi-function peripheral 101, the processing of FIG.

まず最初に、VAS135が、SDメモリカード602内にPDIDファイル703が存在するか否かをチェック(S11)する。SDメモリカード602内にPDIDファイル703が存在する(S11)場合、S12に移行して、SDメモリカード602内にPDIDファイル703が存在しない(S11)場合、PDID登録処理やアプリ正当性判断処理は実行されずに、VAS135による図23の全処理が終了する。   First, the VAS 135 checks whether or not the PDID file 703 exists in the SD memory card 602 (S11). If the PDID file 703 exists in the SD memory card 602 (S11), the process proceeds to S12, and if the PDID file 703 does not exist in the SD memory card 602 (S11), the PDID registration process and the application validity determination process are performed. The entire process of FIG. 23 by the VAS 135 ends without being executed.

続いて、登録済確認部901が、当該SDメモリカード602についてのPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711に基づいて確認(S12)する。PDID登録処理が未実行であると確認された(S13)場合、SDシード作成(S14A)と第1次のPDID登録処理(S15A)と第1次の登録済登録(S16A)とがこの順番で実行されることになる。PDID登録処理が第1次まで実行済であると確認された(S13)場合、SDシード作成(S14A)と機体シード作成(S14B)と第2次のPDID登録処理(S15B)と第2次の登録済登録(S16B)とがこの順番で実行されることになる。PDID登録処理が第2次まで実行済であると確認された(S13)場合、機体シード作成(S14B)とアプリ正当性判断処理(S17)とがこの順番で実行されることになる。ちなみに、ここで具体例として説明中のビジネスモデルでは、1番目の処理(S14A・S15A・S16A)は、ベンダーの元にある融合機101で、2番目の処理(S14A・S14B・S15B・S16B)は、ユーザーの元にある融合機101で、3番目の処理(S14B・S17)は、ユーザーの元にある融合機101で実行されることになっている。   Subsequently, the PDID file 703 in the SD memory card 602 indicates whether the registration confirmation unit 901 has not performed PDID registration processing for the SD memory card 602, has been executed up to the primary, or has been executed up to the secondary. Confirmation based on the registered confirmation data 711 (S12). When it is confirmed that the PDID registration process has not been executed (S13), the SD seed creation (S14A), the first PDID registration process (S15A), and the first registered registration (S16A) are performed in this order. Will be executed. When it is confirmed that the PDID registration process has been executed up to the first order (S13), the SD seed creation (S14A), the aircraft seed creation (S14B), the second PDID registration process (S15B), and the second order Registered registration (S16B) is executed in this order. When it is confirmed that the PDID registration process has been executed up to the second order (S13), the aircraft seed creation (S14B) and the application validity determination process (S17) are executed in this order. By the way, in the business model being described here as a specific example, the first process (S14A / S15A / S16A) is the second machine (S14A / S14B / S15B / S16B) in the MFP 101 at the vendor. Is the MFP 101 at the user's source, and the third process (S14B / S17) is to be executed by the MFP 101 at the user's source.

SDシード作成(S14A)について説明する。S13に続いて、シード作成部902は、当該SDメモリカード602に固有な鍵(SDシード)を作成する。当該SDシードはここでは、当該SDメモリカード602のSDシリアルIDが使用されて作成される鍵(SDシリアルIDのチェックサム(8ビット)等)であって、暗号鍵兼復号鍵である。シード作成部902はここでは、当該SDシード931をSDシリアルID932を使用して作成するものとする。   SD seed creation (S14A) will be described. Subsequent to S <b> 13, the seed creation unit 902 creates a key (SD seed) unique to the SD memory card 602. Here, the SD seed is a key (such as an SD serial ID checksum (8 bits)) created by using the SD serial ID of the SD memory card 602, and is an encryption key and a decryption key. Here, the seed creation unit 902 creates the SD seed 931 by using the SD serial ID 932.

機体シード作成(S14B)について説明する。S13に続いて、シード作成部902は、当該融合機101に固有な鍵(機体シード)を作成する。当該機体シードはここでは、当該融合機101の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であって、暗号鍵兼復号鍵である。当該融合機101の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。シード作成部902はここでは、当該機体シード933を機体番号934を使用して作成するものとする。   Aircraft seed creation (S14B) will be described. Subsequent to S <b> 13, the seed creation unit 902 creates a key (aircraft seed) unique to the compound machine 101. Here, the machine seed is a key (such as a checksum (8 bits) of the machine number) created by using the machine number of the multifunction machine 101, and is an encryption key and a decryption key. Machine specific information (MAC address or IP address) other than the machine number of the multi-function machine 101 may be used. Here, the seed creation unit 902 creates the body seed 933 using the body number 934.

第1次のPDID登録処理(S15A)について説明する。S14Aに続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたSDシード931でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。   The first PDID registration process (S15A) will be described. Subsequent to S14A, the PDID registration unit 912 registers the PDID of the SDK application stored in the SDK application file 702 in the SD memory card 602 in the PDID file 703 in the SD memory card 602. In the PDID file 703, the PDID of the SDK application stored in the SDK application file 702 is encrypted by the PDID encryption unit 911 with the SD seed 931 created by the seed creation unit 902, and the PDID registration unit 912 be registered.

第2次のPDID登録処理(S15B)について説明する。S14AとS14Bに続いて、PDID登録部912は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該SDメモリカード602内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成された機体シード933でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。   The second PDID registration process (S15B) will be described. Subsequent to S14A and S14B, the PDID registration unit 912 registers the PDID of the SDK application stored in the SDK application file 702 in the SD memory card 602 in the PDID file 703 in the SD memory card 602. In the PDID file 703, the PDID of the SDK application stored in the SDK application file 702 is encrypted by the PDID encryption unit 911 with the machine seed 933 created by the seed creation unit 902, and then the PDID registration unit 912 be registered.

第1次の登録済登録(S16A)について説明する。S15Aに続いて、登録済登録部903は、当該SDメモリカード602についての第1次のPDID登録処理(S15A)が実行済であることを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711として登録する。こうして、PDIDファイル703の登録済確認用データ711が未実行から第1次まで実行済になると、S13の説明から明らかなように、次回の電源投入時には、当該SDメモリカード602については、第1次のPDID登録処理(S15A)は実行されず、第2次のPDID登録処理(S15B)が実行されることになる。   The first registered registration (S16A) will be described. Subsequent to S15A, the registered registration unit 903 indicates that the first PDID registration process (S15A) for the SD memory card 602 has been executed, and that the PDID file 703 in the SD memory card 602 has been registered. Register as confirmation data 711. Thus, when the registered confirmation data 711 in the PDID file 703 has been executed from the unexecuted state to the primary state, as will be apparent from the description of S13, the first time the power is turned on, the SD memory card 602 is in the first state. The next PDID registration process (S15A) is not executed, and the second PDID registration process (S15B) is executed.

第2次の登録済登録(S16B)について説明する。S15Bに続いて、登録済登録部903は、当該SDメモリカード602についての第2次のPDID登録処理(S15B)が実行済であることを、当該SDメモリカード602内のPDIDファイル703の登録済確認用データ711として登録する。こうして、PDIDファイル703の登録済確認用データ711が第1次まで実行済から第2次まで実行済になると、S13の説明から明らかなように、次回の電源投入時には、当該SDメモリカード602については、第1次のPDID登録処理(S15A)も第2次のPDID登録処理(S15B)も実行されないことになる。   The second registered registration (S16B) will be described. Subsequent to S15B, the registered registration unit 903 indicates that the second PDID registration process (S15B) for the SD memory card 602 has been executed, and that the PDID file 703 in the SD memory card 602 has been registered. Register as confirmation data 711. Thus, when the registered confirmation data 711 of the PDID file 703 has been executed from the first execution to the second execution, as is apparent from the description of S13, the SD memory card 602 is inspected when the power is turned on next time. In this case, neither the primary PDID registration process (S15A) nor the secondary PDID registration process (S15B) is executed.

アプリ正当性判断処理(S17)について説明する。S14Bに続いて、アプリ正当性判断部922は、当該SDメモリカード602内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該SDメモリカード602内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成された機体シード933でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成された機体シード933でPDID復号化部921により復号化されることになる。   The application validity determination process (S17) will be described. Following S14B, the application validity determination unit 922 indicates the validity of the SDK application stored in the SDK application file 702 in the SD memory card 602, and stores the validity of the SDK application in the PDID file 703 in the SD memory card 602. Judgment is made when the PDID is registered. In the PDID file 703, as described above, the PDID of the SDK application is registered by being encrypted by the PDID encryption unit 911 with the machine seed 933 created by the seed creation unit 902. The PDID decryption unit 921 uses the machine seed 933 created by the seed creation unit 902 in advance.

以下、第1次のPDID登録処理(S15A)の詳細について、図25のシーケンス図により説明する。   Details of the first PDID registration process (S15A) will be described below with reference to the sequence diagram of FIG.

S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135がPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを確認(S101)する。続いて、S14Aとして説明したように、VAS135がSDシードを作成(S102)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。   As described in S12, when the PDID file 703 exists in the SD memory card 602, the VAS 135 confirms whether the PDID registration process has not been executed, has been executed up to the primary, or has been executed up to the secondary (S101). . Subsequently, as described in S14A, the VAS 135 creates an SD seed (S102). The case separation process of S11 and S13 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S103)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S103). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S104)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S105)する。続いて、S15Aとして説明したように、VAS135は、そのPDIDをSDシードで暗号化(S106)して、そのPDIDをPDIDファイル703に登録(S107)する。続いて、S16Aとして説明したように、VAS135は、第1次のPDID登録処理が実行済であることを、PDIDファイル703の登録済確認用データ711として登録(S108)する。そして、VAS135がSDKアプリの仮起動を終了(S109)させる。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S104). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S105). Subsequently, as described as S15A, the VAS 135 encrypts the PDID with the SD seed (S106), and registers the PDID in the PDID file 703 (S107). Subsequently, as described in S <b> 16 </ b> A, the VAS 135 registers that the first PDID registration process has been performed as registered confirmation data 711 in the PDID file 703 (S <b> 108). Then, the VAS 135 ends the temporary activation of the SDK application (S109).

以下、第2次のPDID登録処理(S15B)の詳細について、図26のシーケンス図により説明する。   Details of the second PDID registration process (S15B) will be described below with reference to the sequence diagram of FIG.

S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135がPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを確認(S201)する。続いて、S14Aとして説明したように、VAS135がSDシードを作成(S202)する。続いて、S14Bとして説明したように、VAS135が機体シードを作成(S203)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。   As described in S12, when the PDID file 703 exists in the SD memory card 602, the VAS 135 checks whether the PDID registration processing has not been executed, has been executed up to the primary, or has been executed up to the secondary (S201). . Subsequently, as described in S14A, the VAS 135 creates an SD seed (S202). Subsequently, as described in S14B, the VAS 135 creates a body seed (S203). The case separation process of S11 and S13 is also executed as described above.

続いて、VAS135(PDID復号化部921)は、SDシードで暗号化されてPDIDファイル703に登録されたPDIDを、SDシードで復号化(S204)する。これにより、VAS135は、SDKアプリファイル703に格納されたSDKアプリのPDIDを取得する。続いて、S15Bとして説明したように、VAS135(PDID暗号化部921・PDID登録部922)は、そのPDIDを機体シードで暗号化(S205)して、そのPDIDをPDIDファイル703に登録(S206)する。続いて、S16Bとして説明したように、VAS135(登録済登録部903)は、第2次のPDID登録処理が実行済であることを、PDIDファイル703の登録済確認用データ711として登録(S207)する。   Subsequently, the VAS 135 (PDID decrypting unit 921) decrypts the PDID encrypted with the SD seed and registered in the PDID file 703 with the SD seed (S204). Thereby, the VAS 135 acquires the PDID of the SDK application stored in the SDK application file 703. Subsequently, as described in S15B, the VAS 135 (PDID encryption unit 921 and PDID registration unit 922) encrypts the PDID with the machine seed (S205) and registers the PDID in the PDID file 703 (S206). To do. Subsequently, as described in S16B, the VAS 135 (registered registration unit 903) registers that the second PDID registration process has been performed as registered confirmation data 711 in the PDID file 703 (S207). To do.

以下、アプリ正当性判断処理(S17)の詳細について、図27のシーケンス図により説明する。   The details of the application validity determination process (S17) will be described below with reference to the sequence diagram of FIG.

S12として説明したように、SDメモリカード602内にPDIDファイル703が存在する場合、VAS135はPDID登録処理が未実行か第1次まで実行済か第2次まで実行済かを確認(S301)する。続いて、S14Bとして説明したように、VAS135が機体シードを作成(S302)する。S11,S13の場合分け処理についても、それぞれ説明したように実行される。   As described in S12, when the PDID file 703 exists in the SD memory card 602, the VAS 135 confirms whether the PDID registration process has not been executed, has been executed up to the primary level, or has been executed up to the secondary level (S301). . Subsequently, as described as S14B, the VAS 135 creates an aircraft seed (S302). The case separation process of S11 and S13 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S303)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S303). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S304)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S305)する。続いて、S17として説明したように、VAS135は、機体シードで暗号化されてPDIDファイル703に登録されたPDIDを、機体シードで復号化(S306)して、S305のPDIDとS306のPDIDとの照合をもってSDKアプリの正当性を判断(S307)する。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S304). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S305). Subsequently, as described in S17, the VAS 135 decrypts the PDID encrypted with the aircraft seed and registered in the PDID file 703 with the aircraft seed (S306), and the PDID of S305 and the PDID of S306 are The validity of the SDK application is determined by collation (S307).

続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S308)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S309)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S310)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S311)する。融合機101は、SDメモリカード用スロット601に挿入されたSDメモリカード602内のSDKアプリについて、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、SDメモリカード602から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。   Subsequently, the VAS 135 acquires application information of the SDK application from the SDK application determined to be valid (S308). Here, the administrator of the multi-function peripheral 101 displays a selection screen for selecting an SDK application to be set as an activation right among the SDK applications determined to be valid on the operation panel 202 (S309). be able to. Then, the administrator of the multi-function peripheral 101 can select the SDK application to be set as the activation right among the SDK applications determined to be valid by operating the operation panel 202 (S310). The VAS 135 sets the activation right of the SDK application by registering the PDID of the SDK application selected as the activation right setting target in the HDD 233 or the like (which may be a non-volatile memory (flash memory or the like)). S311). When the activation right of a certain SDK application is set for the SDK application in the SD memory card 602 inserted in the SD memory card slot 601, the multi-function peripheral 101 appropriately reproduces the SDK application from the SD memory card 602. Thus, the MEM-P 231 and the MEM-C 232 have the authority to start appropriately.

(5)第5具体例
ここでは、図28により、融合機101に装着されたHDD233にSDKアプリ(図1の説明欄参照)が追加(記憶)されるような使用態様、すなわち、融合機101に装着されたHDD233がSDKアプリ(図1の説明欄参照)の追加先(記憶先)として使用されるような使用態様について説明する。
(5) Fifth Specific Example Here, referring to FIG. 28, a usage mode in which an SDK application (see the description column in FIG. 1) is added (stored) to the HDD 233 mounted on the multifunction machine 101, that is, the multifunction machine 101. A usage mode will be described in which the HDD 233 attached to the device is used as an addition destination (storage destination) of the SDK application (see the explanation column in FIG. 1).

図28AのHDD233は、SDKアプリ追加前のHDD233である。図28AのHDD233には、PDIDファイル703が記憶されている。   The HDD 233 in FIG. 28A is the HDD 233 before the SDK application is added. A PDID file 703 is stored in the HDD 233 of FIG. 28A.

図28BのHDD233は、SDKアプリ追加後のHDD233である。図28BのHDD233は、図28AのHDD233に、2個のSDKアプリファイル702(1個目をSDKアプリファイルA702A、2個目をSDKアプリファイルB702Bとする)を追加したものである。図28BのHDD233には、2個のSDKアプリファイル702と、PDIDファイル703とが記憶されている。   The HDD 233 in FIG. 28B is the HDD 233 after the SDK application is added. The HDD 233 in FIG. 28B is obtained by adding two SDK application files 702 (the first SDK application file A 702A and the second SDK application file B 702B) to the HDD 233 in FIG. 28A. In the HDD 233 of FIG. 28B, two SDK application files 702 and a PDID file 703 are stored.

図28CのHDD233は、融合機101によりPDID登録処理が実行されたHDD233である。図28CのHDD233は、図28BのHDD233内のPDIDファイル703に、SDKアプリのPDID等を登録したものである。   The HDD 233 in FIG. 28C is the HDD 233 that has undergone the PDID registration process by the multi-function peripheral 101. The HDD 233 in FIG. 28C is obtained by registering the PDID of the SDK application in the PDID file 703 in the HDD 233 in FIG. 28B.

SDKアプリファイル702は、SDKアプリが格納されたファイルである。SDKアプリは、上記したように、専用のSDK(ソフトウェア開発キット)により作成されるアプリケーション131である。SDKアプリファイル702は例えば、SDKアプリファイル702が記憶されたSDメモリカード等のメモリカード235が使用(SDメモリカード用スロット等のメモリカード用スロット234に挿入)されて、当該HDD233に追加される。SDKアプリファイル702は、SDKアプリの実行形式ファイルである。   The SDK application file 702 is a file in which an SDK application is stored. As described above, the SDK application is an application 131 created by a dedicated SDK (software development kit). The SDK application file 702 is added to the HDD 233 by using a memory card 235 such as an SD memory card in which the SDK application file 702 is stored (inserted into a memory card slot 234 such as an SD memory card slot). . The SDK application file 702 is an execution format file of the SDK application.

SDKアプリファイル702には、SDKアプリファイル702であることを、融合機101に識別させるための識別コードを格納させておく。識別コードは、SDKアプリファイル702の先頭の数バイト等、SDKアプリファイル702の特定エリアに格納させておく。融合機101は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。   In the SDK application file 702, an identification code for identifying the MFP 101 to be the SDK application file 702 is stored. The identification code is stored in a specific area of the SDK application file 702, such as the first few bytes of the SDK application file 702. The multi-function peripheral 101 identifies that a certain file is the SDK application file 702 based on the fact that the identification code is stored in the file.

PDIDファイル703は、SDKアプリのID(識別情報)である、SDKアプリのPDID(プロダクトID)を登録(格納)するためのファイルである。より詳細に言うと、当該HDD233内のSDKアプリファイル702に格納されたSDKアプリのPDIDを登録するためのファイルである。融合機101は、HDD233内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該HDD233内のPDIDファイル703に登録する「PDID登録処理」を実行する。融合機101はまた、HDD233内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該HDD233内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する「アプリ正当性判断処理」を実行する。融合機101はそして、アプリ正当性判断処理により正当であることが判断されたSDKアプリであることを、当該SDKアプリの起動処理や起動権設定処理を実行するための条件とする。なお、SDKアプリファイル702に格納されたSDKアプリのPDIDは、当該SDKアプリファイル702から取得できるようにしておく。   The PDID file 703 is a file for registering (storing) the SDK application PDID (product ID), which is the ID (identification information) of the SDK application. More specifically, it is a file for registering the PDID of the SDK application stored in the SDK application file 702 in the HDD 233. The multi-function peripheral 101 executes “PDID registration processing” in which the PDID of the SDK application stored in the SDK application file 702 in the HDD 233 is registered in the PDID file 703 in the HDD 233. The MFP 101 also determines the validity of the SDK application stored in the SDK application file 702 in the HDD 233 based on the fact that the PDID of the SDK application is registered in the PDID file 703 in the HDD 233. Execute “determination process”. Then, the MFP 101 determines that the SDK application is determined to be valid by the application validity determination process as a condition for executing the activation process and activation right setting process of the SDK application. Note that the PDID of the SDK application stored in the SDK application file 702 can be acquired from the SDK application file 702.

PDIDファイル703には、SDKアプリのPDIDがそのまま登録されるのではなく、SDKアプリのPDIDが融合機101の各機体に固有な鍵(シード)で暗号化されて登録されることになる。当該鍵(暗号化用データ)はここでは、融合機101の各機体の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であり、暗号鍵兼復号鍵(暗号化用データ兼復号化用データ)である。融合機101の各機体の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。暗号化はここでは、バイト単位での鍵とのEOR(排他的論理和)処理により実行される。このように、SDKアプリのPDIDが、鍵で暗号化されて登録されることで、PDIDファイル703の改竄が防止され、SDKアプリのPDIDが、融合機101の各機体に固有な鍵で暗号化されて登録されることで、当該HDD233を当該機体の同一機種や関連機種の他の機体等に付け替えて使用することが制限される。融合機以外のコピー、プリンタ、スキャナ、ファクシミリ等の画像形成装置(情報処理装置)についても同様である。第1具体例や第3具体例と同様に、PDIDファイル703には、SDKアプリのPDIDが当該HDD233に固有な鍵(シード)で暗号化されて登録されるようにしてもよい。   In the PDID file 703, the PDID of the SDK application is not registered as it is, but the PDID of the SDK application is encrypted and registered with a key (seed) unique to each machine of the MFP 101. Here, the key (encryption data) is a key (such as a checksum (8 bits) of the machine number) created by using the machine number of each machine of the multi-function peripheral 101, and is an encryption key / decryption key ( Data for encryption and decryption). Machine specific information (MAC address or IP address) other than the machine number of each machine of the multifunction machine 101 may be used. Here, the encryption is executed by an EOR (exclusive OR) process with the key in byte units. In this way, the PDID of the SDK application is registered after being encrypted with the key, so that the PDID file 703 is prevented from being falsified, and the PDID of the SDK application is encrypted with a key unique to each machine of the MFP 101. By being registered, it is restricted that the HDD 233 is used by being replaced with another model of the same model or a related model of the model. The same applies to image forming apparatuses (information processing apparatuses) such as copiers, printers, scanners, and facsimiles other than the multifunction peripheral. Similar to the first specific example and the third specific example, the PDID of the SDK application may be registered in the PDID file 703 after being encrypted with a key (seed) unique to the HDD 233.

PDIDファイル703には、最大アプリ数712、登録アプリ数713、PDID714が格納される。   The PDID file 703 stores the maximum number of applications 712, the number of registered applications 713, and the PDID 714.

最大アプリ数712は、当該PDIDファイル703に登録可能なPDIDの個数の上限値(最大個数)である。すなわち、当該HDD233に正当に追加可能なSDKアプリ(SDKアプリファイル702)の個数の上限値(最大個数)である。図28A,B,CのPDIDファイル703の最大アプリ数712としては「2個」が設定されている。最大アプリ数712は、上記のシード(鍵)で暗号化して格納しておく。   The maximum application number 712 is an upper limit value (maximum number) of the number of PDIDs that can be registered in the PDID file 703. That is, this is the upper limit (maximum number) of the number of SDK applications (SDK application files 702) that can be legitimately added to the HDD 233. “2” is set as the maximum number of applications 712 of the PDID file 703 in FIGS. The maximum number of applications 712 is encrypted with the seed (key) and stored.

登録アプリ数713は、当該PDIDファイル703に登録されたPDIDの個数の値である。すなわち、当該HDD233に追加された正当なSDKアプリ(SDKアプリファイル702)の個数の値である。融合機101は、PDID登録処理の一環として、HDD233内のPDIDファイル703に登録されたPDIDの個数の値を、当該PDIDファイル703の登録アプリ数713として登録する。図28A,BのPDIDファイル703の登録アプリ数713としては「0個」が登録されており、図28CのPDIDファイル703の登録アプリ数713としては「2個」が登録されている。登録アプリ数713は、上記のシード(鍵)で暗号化されて登録される。なお、登録アプリ数713が「0個」の状態を「初期状態」と呼び、登録アプリ数713が「0個」以外の状態を「登録状態」と呼ぶことにする。   The registered application number 713 is a value of the number of PDIDs registered in the PDID file 703. That is, it is the value of the number of valid SDK applications (SDK application files 702) added to the HDD 233. As part of the PDID registration process, the multi-function peripheral 101 registers the value of the number of PDIDs registered in the PDID file 703 in the HDD 233 as the number of registered applications 713 in the PDID file 703. “0” is registered as the number of registered applications 713 in the PDID file 703 in FIGS. 28A and 28B, and “2” is registered as the number of registered applications 713 in the PDID file 703 in FIG. 28C. The registered application number 713 is registered by being encrypted with the seed (key). A state where the number of registered applications 713 is “0” is referred to as an “initial state”, and a state where the number of registered applications 713 is other than “0” is referred to as a “registered state”.

PDID714は、SDKアプリのPDID(プロダクトID)を登録するための登録欄である。より詳細に言うと、当該HDD233内のSDKアプリファイル702に格納されたSDKアプリのPDIDを登録するための登録欄である。図28A,BのPDIDファイル703のPDID714には、SDKアプリのPDIDがまだ登録されておらず、図28CのPDIDファイル703のPDID714には、SDKアプリのPDID(SDKアプリファイルA702Aに格納されたSDKアプリAのPDIDと、SDKアプリファイルB702Bに格納されたSDKアプリAのPDID)がすでに登録されている。図28A,BのPDIDファイル703のPDID714には、SDKアプリのPDIDの代わりにSDKアプリのPDIDと同じデータ量のデータ「ダミーID」が格納されている。PDIDファイル703にPDIDが格納される際には、PDID714にPDIDの代わりに格納されている「ダミーID」に替わりPDIDが格納される形で、PDIDファイル703にPDIDが格納される。こうしておけば、PDIDの格納前と格納後のPDIDファイル703のデータ量のずれが原因で、PDID登録処理の存在が発覚してしまうような事態が抑制される。PDID714に登録されるPDIDは、すでに説明したとおり、シード(鍵)で暗号化されて登録される。   The PDID 714 is a registration field for registering the PDID (product ID) of the SDK application. More specifically, it is a registration field for registering the PDID of the SDK application stored in the SDK application file 702 in the HDD 233. The PDID 714 of the SDK application has not yet been registered in the PDID 714 of the PDID file 703 in FIGS. 28A and 28B, and the PDID 714 of the SDK application in FIG. 28C (the SDK ID stored in the SDK application file A 702A) The PDID of the application A and the PDID of the SDK application A stored in the SDK application file B702B) are already registered. In the PDID 714 of the PDID file 703 in FIGS. 28A and 28B, data “dummy ID” having the same data amount as the PDID of the SDK application is stored instead of the PDID of the SDK application. When the PDID is stored in the PDID file 703, the PDID is stored in the PDID file 703 in such a form that the PDID is stored in place of the “dummy ID” stored in the PDID 714 instead of the PDID. In this way, the situation where the existence of the PDID registration process is detected due to the difference in the data amount of the PDID file 703 before and after storing the PDID is suppressed. As already described, the PDID registered in the PDID 714 is registered after being encrypted with a seed (key).

以下、上記した「PDID登録処理」と「アプリ正当性判断処理」の具体例について説明する。   Hereinafter, specific examples of the “PDID registration process” and the “app validity determination process” will be described.

これらの処理は、VAS135(図1の説明欄参照)により実行される。図29は、VAS135により実行される処理に係るフローチャートであり、図30は、VAS135により実現される機能に係る機能ブロック図である。図1の融合機101には、図30のように、シード作成部902、PDID暗号化部911、PDID登録部912、PDID復号化部921、アプリ正当性判断部922等の機能ブロックが存在する。   These processes are executed by the VAS 135 (see the explanation column in FIG. 1). FIG. 29 is a flowchart relating to processing executed by the VAS 135, and FIG. 30 is a functional block diagram relating to functions realized by the VAS 135. 1 includes functional blocks such as a seed creation unit 902, a PDID encryption unit 911, a PDID registration unit 912, a PDID decryption unit 921, and an app validity determination unit 922, as shown in FIG. .

融合機101に装着されたHDD233にSDKアプリファイル702が追加された状態で、融合機101の電源が投入されると、VAS135により図29の処理が実行されることになる。   When the MFP 101 is turned on with the SDK application file 702 added to the HDD 233 attached to the multi-function peripheral 101, the processing of FIG. 29 is executed by the VAS 135.

まず最初に、シード作成部902が、当該融合機101に固有な鍵(シード)を作成(S11)する。当該鍵はここでは、当該融合機101の機体番号が使用されて作成される鍵(機体番号のチェックサム(8ビット)等)であり、暗号鍵兼復号鍵である。当該融合機101の機体番号以外の機体固有情報(MACアドレスやIPアドレス)を使用してもよい。シード作成部902はここでは、当該鍵(シード)933を当該融合機101の機体番号934を使用して作成するものとする。   First, the seed creation unit 902 creates a key (seed) unique to the MFP 101 (S11). Here, the key is a key (such as a checksum (8 bits) of the machine number) created by using the machine number of the multifunction machine 101, and is an encryption key and a decryption key. Machine specific information (MAC address or IP address) other than the machine number of the multi-function machine 101 may be used. Here, it is assumed that the seed creation unit 902 creates the key (seed) 933 using the machine number 934 of the multi-function peripheral 101.

続いて、VAS135が、当該HDD233内のPDIDファイル703が初期状態か登録状態かを、当該PDIDファイル703の登録アプリ数713に基づいて確認(S12)する。初期状態であると確認された場合、PDID登録処理(S13)とアプリ正当性判断処理(S14)とがこの順番で実行されることになる。登録状態であると確認された場合、PDID登録処理(S13)は実行されず、アプリ正当性判断処理(S14)が実行されることになる。なお、初期状態か登録状態かで場合分けをする代わりに、登録アプリ数713が最大アプリ数712未満か否かで場合分けをしてもよい。   Subsequently, the VAS 135 checks whether the PDID file 703 in the HDD 233 is in an initial state or a registered state based on the number of registered applications 713 in the PDID file 703 (S12). When the initial state is confirmed, the PDID registration process (S13) and the application validity determination process (S14) are executed in this order. If the registration state is confirmed, the PDID registration process (S13) is not executed, and the app validity determination process (S14) is executed. In addition, instead of dividing the case according to the initial state or the registered state, the case may be divided according to whether the number of registered applications 713 is less than the maximum number of applications 712 or not.

PDID登録処理(S13)について説明する。S12に続いて、PDID登録部912は、当該HDD233内のSDKアプリファイル702に格納されたSDKアプリのPDIDを、当該HDD233内のPDIDファイル703に登録する。当該PDIDファイル703には、当該SDKアプリファイル702に格納されたSDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)933でPDID暗号化部911により暗号化されて、PDID登録部912により登録される。   The PDID registration process (S13) will be described. Subsequent to S 12, the PDID registration unit 912 registers the PDID of the SDK application stored in the SDK application file 702 in the HDD 233 in the PDID file 703 in the HDD 233. In the PDID file 703, the PDID of the SDK application stored in the SDK application file 702 is encrypted by the PDID encryption unit 911 with the seed (key) 933 created by the seed creation unit 902, and the PDID registration unit 912 is registered.

PDID登録処理(S13)では、PDID登録部912は、当該HDD233内のPDIDファイル703に登録されたPDIDの個数を、当該PDIDファイル703の登録アプリ数713として登録する。こうして、PDIDファイル703が初期状態から登録状態になると、S12の説明から明らかなように、次回の電源投入時には、当該HDD233についてPDID登録処理(S13)は実行されないことになる。   In the PDID registration process (S 13), the PDID registration unit 912 registers the number of PDIDs registered in the PDID file 703 in the HDD 233 as the registered application number 713 in the PDID file 703. Thus, when the PDID file 703 is changed from the initial state to the registered state, the PDID registration process (S13) is not executed for the HDD 233 when the power is turned on next time, as is apparent from the description of S12.

アプリ正当性判断処理(S14)について説明する。S12に続いて、アプリ正当性判断部922は、当該HDD233内のSDKアプリファイル702に格納されたSDKアプリの正当性を、当該HDD233内のPDIDファイル703に当該SDKアプリのPDIDが登録されていることをもって判断する。当該PDIDファイル703には、上記したように、SDKアプリのPDIDが、シード作成部902により作成されたシード(鍵)933でPDID暗号化部911により暗号化されて登録されているため、当該PDIDは、前もって、シード作成部902により作成されたシード(鍵)933でPDID復号化部921により復号化されることになる。   The app validity determination process (S14) will be described. Subsequent to S 12, the application validity determination unit 922 registers the validity of the SDK application stored in the SDK application file 702 in the HDD 233 and the PDID of the SDK application in the PDID file 703 in the HDD 233. Judge with things. In the PDID file 703, as described above, the PDID of the SDK application is registered by being encrypted by the PDID encryption unit 911 with the seed (key) 933 created by the seed creation unit 902. Is previously decrypted by the PDID decryption unit 921 with the seed (key) 933 created by the seed creation unit 902.

融合機101は、HDD233内のSDKアプリファイル702に格納されたSDKアプリについて、アプリ正当性判断処理(S14)により正当であることが判断されたSDKアプリであることを、当該SDKアプリの起動処理や起動権設定処理を実行するための条件とする。すなわち、アプリ正当性判断処理を経由していないSDKアプリや、アプリ正当性判断処理により正当でないことが判断されたSDKアプリは、MEM−P231やMEM−C232への起動が制限されることになる。このようにして、HDD233に係る不正行為が実行されて、融合機101にプログラムが不正に供給されてしまう危険性に対処しているのである。   The MFP 101 determines that the SDK application stored in the SDK application file 702 in the HDD 233 is the SDK application determined to be valid by the application validity determination process (S14). And a condition for executing the activation right setting process. That is, an SDK application that has not passed through the app validity determination process or an SDK application that has been determined to be invalid by the application validity determination process is restricted from being activated to the MEM-P 231 or the MEM-C 232. . In this way, the risk of an illegal act relating to the HDD 233 being executed and the program being illegally supplied to the multi-function peripheral 101 is dealt with.

なお、PDID登録処理とアプリ正当性判断処理を実行するメリットの具体例としては、HDD233内のSDKアプリファイル702の差し替え防止が挙げられる。例えば、低額なSDKアプリファイル702(SDKアプリ)を購入してHDD233に追加したユーザーが、不正コピーにより、当該HDD233内のSDKアプリファイル702を低額なものから高額なものに差し替えた場合でも、当該HDD233についてすでにPDID登録処理が実行されて、当該HDD233内のPDIDファイル703がすでに初期状態から登録状態になっていれば、アプリ正当性判断処理を通過することができないからである。上記のメリットは、PDIDファイル703の最大アプリ数712、すなわち、HDD233に追加可能なSDKアプリの個数の上限値が1個であっても2個以上であっても変わるところがない。   A specific example of the merit of executing the PDID registration process and the application validity determination process is prevention of replacement of the SDK application file 702 in the HDD 233. For example, even when a user who purchases a low-priced SDK application file 702 (SDK application) and adds it to the HDD 233 replaces the SDK application file 702 in the HDD 233 from a low-priced one to a high-priced one by illegal copying, This is because if the PDID registration process has already been executed for the HDD 233 and the PDID file 703 in the HDD 233 has already been registered from the initial state, the application validity determination process cannot be passed. The above merits are the same regardless of whether the maximum number of applications 712 of the PDID file 703, that is, the upper limit of the number of SDK applications that can be added to the HDD 233 is one or two or more.

以下、PDID登録処理(S13)の詳細について、図31のシーケンス図により説明する。   Details of the PDID registration process (S13) will be described below with reference to the sequence diagram of FIG.

まず最初に、S11として説明したように、VAS135がシードを作成(S101)する。S12の場合分け処理についても、説明したように実行される。   First, as described in S11, the VAS 135 creates a seed (S101). The case division process in S12 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S102)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S102). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S103)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S104)する。続いて、S13として説明したように、VAS135は、そのPDIDをシードで暗号化(S105)して、そのPDIDをPDIDファイル703に登録(S106)する。そして、VAS135がSDKアプリの仮起動を終了(S107)させる。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S103). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S104). Subsequently, as described in S13, the VAS 135 encrypts the PDID with a seed (S105) and registers the PDID in the PDID file 703 (S106). Then, the VAS 135 ends the provisional activation of the SDK application (S107).

以下、アプリ正当性判断処理(S14)の詳細について、図32のシーケンス図により説明する。   Details of the application validity determination process (S14) will be described below with reference to the sequence diagram of FIG.

まず最初に、S11として説明したように、VAS135がシードを作成(S201)する。S12の場合分け処理についても、説明したように実行される。   First, as described in S11, the VAS 135 creates a seed (S201). The case division process in S12 is also executed as described above.

続いて、VAS135がSDKアプリファイル702に格納された識別コードをチェック(S202)する。VAS135は、あるファイルがSDKアプリファイル702であることを、そのファイルに識別コードが格納されていることをもって識別する。識別コードが格納されていないファイルについては、PDID登録処理やアプリ正当性判断処理は実行されない。   Subsequently, the VAS 135 checks the identification code stored in the SDK application file 702 (S202). The VAS 135 identifies that a certain file is the SDK application file 702 by storing an identification code in the file. PDID registration processing and app validity determination processing are not executed for files in which no identification code is stored.

続いて、VAS135がSDKアプリファイル702に格納されたSDKアプリを仮起動(S203)させる。これにより、VAS135はSDKアプリから当該SDKアプリのPDIDを取得(S204)する。続いて、S14として説明したように、VAS135は、PDIDファイル703に登録されたPDIDを復号化(S205)して、S204のPDIDとS205のPDIDとの照合をもってSDKアプリの正当性を判断(S206)する。   Subsequently, the VAS 135 temporarily activates the SDK application stored in the SDK application file 702 (S203). As a result, the VAS 135 acquires the PDID of the SDK application from the SDK application (S204). Subsequently, as described in S14, the VAS 135 decrypts the PDID registered in the PDID file 703 (S205), and determines the validity of the SDK application by comparing the PDID in S204 with the PDID in S205 (S206). )

続いて、VAS135は、正当であることが判断されたSDKアプリから当該SDKアプリのアプリ情報を取得(S207)する。ここで、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを選択するための選択画面を、オペレーションパネル202に表示(S208)させることができる。そして、融合機101の管理者は、正当であることが判断されたSDKアプリの内、起動権設定対象とするSDKアプリを、オペレーションパネル202を操作して選択(S209)することができる。そして、VAS135は、起動権設定対象として選択されたSDKアプリのPDIDを、HDD233等(不揮発性メモリ(フラッシュメモリ等)であればよい)に登録することで、当該SDKアプリの起動権を設定(S210)する。融合機101は、HDD233内のSDKアプリにつき、あるSDKアプリの起動権が設定されている場合、そのSDKアプリを、HDD233から適宜再生させて、MEM−P231やMEM−C232に適宜起動させる権限を有することになる。   Subsequently, the VAS 135 acquires application information of the SDK application from the SDK application determined to be valid (S207). Here, the administrator of the multi-function peripheral 101 displays a selection screen for selecting an SDK application to be set as an activation right among the SDK applications determined to be valid on the operation panel 202 (S208). be able to. Then, the administrator of the multi-function peripheral 101 can select an SDK application to be set as an activation right among the SDK applications determined to be valid by operating the operation panel 202 (S209). The VAS 135 sets the activation right of the SDK application by registering the PDID of the SDK application selected as the activation right setting target in the HDD 233 or the like (which may be a non-volatile memory (flash memory or the like)). S210). When the activation right of a certain SDK application is set for the SDK application in the HDD 233, the multi-function peripheral 101 has the authority to appropriately reproduce the SDK application from the HDD 233 and activate the MEM-P 231 or the MEM-C 232 as appropriate. Will have.

(6)画像形成処理
第1,第2,第3,第4,第5具体例に関連して、図1の融合機101にて実行される画像形成処理について説明する。
(6) Image Forming Process With reference to the first, second, third, fourth, and fifth specific examples, the image forming process executed by the multi-function peripheral 101 of FIG. 1 will be described.

図33は、VAS135により作成される画像形成処理用のパスワード941について説明するための図である。   FIG. 33 is a diagram for explaining a password 941 for image formation processing created by the VAS 135.

ここでは、スキャナアプリ143は、融合機101に蓄積される画像データを読取原稿から読み取る場合、VAS135により作成されたパスワード941を当該画像データに付加し、当該画像データに「パスワードロック」を掛ける。同様に、ファクシミリアプリ144やネットワークファイルアプリ145は、融合機101に蓄積される画像データをネットワークから受信する場合、VAS135により作成されたパスワード941を当該画像データに付加し、当該画像データに「パスワードロック」を掛ける。   Here, when reading the image data stored in the multifunction peripheral 101 from the read document, the scanner application 143 adds the password 941 created by the VAS 135 to the image data, and applies “password lock” to the image data. Similarly, when the facsimile application 144 or the network file application 145 receives image data stored in the multifunction peripheral 101 from the network, the facsimile application 144 or the network file application 145 adds the password 941 created by the VAS 135 to the image data, and adds “password” to the image data. "Lock".

ここでは、プリンタアプリ142は、融合機101に蓄積された上記画像データを印刷用紙に印刷する場合、VAS135により作成されたパスワード941と当該画像データに付加されたパスワード941とを照合して、当該画像データの「パスワードチェック」を行なう。同様に、ファクシミリアプリ144やネットワークファイルアプリ145は、融合機101に蓄積された上記画像データをネットワークに送信する場合、VAS135により作成されたパスワード941と当該画像データに付加されたパスワード941とを照合して、当該画像データの「パスワードチェック」を行なう。   Here, when printing the image data stored in the MFP 101 on the printing paper, the printer application 142 collates the password 941 created by the VAS 135 with the password 941 added to the image data, and Perform a “password check” on the image data. Similarly, when the facsimile application 144 or the network file application 145 transmits the image data stored in the multifunction peripheral 101 to the network, the password 941 created by the VAS 135 and the password 941 added to the image data are collated. Then, “password check” of the image data is performed.

上記パスワード941は例えば、当該融合機101のSDメモリカードスロット601にセットされているSDメモリカード602に固有なデータとする。この場合には、ある画像データの読取処理や受信処理の終了から印刷処理や送信処理の開始までにSDメモリカード602を差し替えると、その画像データの印刷処理や送信処理が実行不可能になるので、SDメモリカード602の差し替え防止になる。SDメモリカード602に関する不正が存在するおそれがある場合には、画像形成処理までが制限されることになるので、上記具体例のメリットがより効果的になるのである。上記パスワード941の作成方法は上記具体例の鍵931の作成方法と同様であり、SDシリアルID932等が使用されて作成される。以上の事柄は、HDD233の付け替え防止についても適用可能である。   The password 941 is, for example, data unique to the SD memory card 602 set in the SD memory card slot 601 of the multi-function peripheral 101. In this case, if the SD memory card 602 is replaced from the end of the reading process or receiving process of certain image data to the start of the printing process or transmitting process, the printing process or transmitting process of the image data cannot be executed. This prevents the SD memory card 602 from being replaced. If there is a possibility that the SD memory card 602 is fraudulent, the process up to the image forming process is limited, so that the merit of the above specific example becomes more effective. The method of creating the password 941 is the same as the method of creating the key 931 in the above specific example, and is created using the SD serial ID 932 or the like. The above matters can also be applied to prevent replacement of the HDD 233.

上記パスワード941は例えば、当該融合機101の機体に固有なデータとする。この場合には、画像データが蓄積されているHDD233を他の機体から当該融合機101に付け替えても、当該融合機101ではその画像データの印刷処理や送信処理は実行不可能なので、画像データが蓄積されているHDD233の付け替え防止になる。画像データの蓄積先となるHDD233に関する不正が存在するおそれがある場合には、画像形成処理までが制限されることになるので、上記具体例のメリットがより効果的になるのである。上記パスワード941の作成方法は上記具体例の鍵933の作成方法と同様であり、機体番号934等が使用されて作成される。以上の事柄は、画像データが蓄積されているSDメモリカード602の差し替え防止についても適用可能である。   The password 941 is, for example, data unique to the machine of the MFP 101. In this case, even if the HDD 233 storing the image data is changed from another machine to the multi-function peripheral 101, the multi-function peripheral 101 cannot execute the printing process or the transmission process of the image data. This prevents the accumulated HDD 233 from being replaced. In the case where there is a possibility that there is an injustice regarding the HDD 233 that is the storage destination of image data, the image forming process is limited, so the merit of the above specific example becomes more effective. The method for creating the password 941 is the same as the method for creating the key 933 in the above specific example, and is created using the machine number 934 and the like. The above matters can also be applied to prevent replacement of the SD memory card 602 in which image data is stored.

図34は、上記のパスワード付加処理に係るフローチャートである。   FIG. 34 is a flowchart relating to the above password addition processing.

プリンタアプリ142等が、融合機101に蓄積すべき画像データを読取原稿から読み取る又はネットワークから受信する(S101)と、VAS135が、パスワード941を作成(S102)する。続いて、プリンタアプリ142等が、VAS135により作成されたパスワード941を当該画像データに付加(S103)する事で、当該画像データにパスワードロックを掛ける。続いて、融合機101に当該画像データが蓄積される。   When the printer application 142 or the like reads image data to be stored in the multifunction peripheral 101 from the read original or receives it from the network (S101), the VAS 135 creates a password 941 (S102). Subsequently, the printer application 142 or the like adds a password 941 created by the VAS 135 to the image data (S103), thereby locking the image data with a password. Subsequently, the image data is stored in the compound machine 101.

図35は、上記のパスワード照合処理に係るフローチャートである。   FIG. 35 is a flowchart relating to the password verification process described above.

融合機101に蓄積されている画像データから印刷用紙に印刷すべき又はネットワークに送信すべき画像データが指定されると、VAS135が、パスワード941を作成(S111)する。続いて、プリンタアプリ142等が、VAS135により作成されたパスワード941と当該画像データに付加されたパスワード941とを照合(S112)する事で、当該画像データのパスワードチェックを行なう。続いて、プリンタアプリ142等が、当該画像データのパスワード照合結果が「正」であることを条件に、当該画像データを印刷用紙に印刷する又はネットワークに送信する(S113)のである。   When image data to be printed on printing paper or transmitted to the network is specified from the image data stored in the multifunction peripheral 101, the VAS 135 creates a password 941 (S111). Next, the printer application 142 or the like checks the password of the image data by collating the password 941 created by the VAS 135 with the password 941 added to the image data (S112). Subsequently, the printer application 142 or the like prints the image data on a print sheet or transmits it to the network on the condition that the password verification result of the image data is “correct” (S113).

図36は、VAS135により作成される画像形成処理用の鍵942について説明するための図である。   FIG. 36 is a diagram for explaining the key 942 for image forming processing created by the VAS 135.

ここでは、スキャナアプリ143は、融合機101に蓄積される画像データを読取原稿から読み取る場合、VAS135により作成された鍵942で当該画像データを「オリジナル画像データ」から「スクランブル画像データ」に暗号化する。同様に、ファクシミリアプリ144やネットワークファイルアプリ145は、融合機101に蓄積される画像データをネットワークから受信する場合、VAS135により作成された鍵942で当該画像データを「オリジナル画像データ」から「スクランブル画像データ」に暗号化する。   Here, the scanner application 143 encrypts the image data from “original image data” to “scrambled image data” with the key 942 created by the VAS 135 when reading the image data stored in the MFP 101 from the read original. To do. Similarly, when the facsimile application 144 and the network file application 145 receive the image data stored in the multifunction peripheral 101 from the network, the image data is converted from the “original image data” to the “scrambled image” with the key 942 created by the VAS 135. Encrypt data.

ここでは、プリンタアプリ142は、融合機101に蓄積された上記画像データを印刷用紙に印刷する場合、VAS135により作成された鍵941で当該画像データを「スクランブル画像データ」から「オリジナル画像データ」に復号化する。同様にして、ファクシミリアプリ144やネットワークファイルアプリ145は、融合機101に蓄積された上記画像データをネットワークに送信する場合、VAS135により作成された鍵941で当該画像データを「スクランブル画像データ」から「オリジナル画像データ」に復号化する。   Here, when printing the image data stored in the multifunction peripheral 101 on a print sheet, the printer application 142 changes the image data from “scrambled image data” to “original image data” with the key 941 created by the VAS 135. Decrypt. Similarly, when the facsimile application 144 and the network file application 145 transmit the image data stored in the multifunction peripheral 101 to the network, the image data is transferred from the “scrambled image data” to “ Decode into “original image data”.

上記鍵942は例えば、当該融合機101のSDメモリカードスロット601にセットされているSDメモリカード602に固有な暗号化用データとする。この場合には、ある画像データの読取処理や受信処理の終了から印刷処理や送信処理の開始までにSDメモリカード602を差し替えると、その画像データの印刷処理や送信処理が実行不可能になるので、SDメモリカード602の差し替え防止になる。SDメモリカード602に関する不正が存在するおそれがある場合には、画像形成処理までが制限されることになるので、上記具体例のメリットがより効果的になるのである。上記鍵942の作成方法は上記具体例の鍵931の作成方法と同様で、SDシリアルID932等が使用されて作成される。以上の事柄は、HDD233の付け替え防止についても適用可能である。   For example, the key 942 is encryption data unique to the SD memory card 602 set in the SD memory card slot 601 of the multi-function peripheral 101. In this case, if the SD memory card 602 is replaced from the end of the reading process or receiving process of certain image data to the start of the printing process or transmitting process, the printing process or transmitting process of the image data cannot be executed. This prevents the SD memory card 602 from being replaced. If there is a possibility that the SD memory card 602 is fraudulent, the process up to the image forming process is limited, so that the merit of the above specific example becomes more effective. The method for creating the key 942 is the same as the method for creating the key 931 in the specific example, and is created using the SD serial ID 932 or the like. The above matters can also be applied to prevent replacement of the HDD 233.

上記鍵942は例えば、当該融合機101の機体に固有な暗号化用データとする。この場合には、画像データが蓄積されているHDD233を他の機体から当該融合機101に付け替えても、当該融合機101ではその画像データの印刷処理や送信処理は実行不可能なので、画像データが蓄積されているHDD233の付け替え防止になる。画像データの蓄積先となるHDD233に関する不正が存在するおそれがある場合には、画像形成処理までが制限されることになるので、上記具体例のメリットがより効果的になるのである。上記鍵942の作成方法は上記具体例の鍵933の作成方法と同様で、機体番号934等が使用されて作成される。以上の事柄は、画像データが蓄積されているSDメモリカード602の差し替え防止についても適用可能である。   The key 942 is, for example, encryption data unique to the machine of the MFP 101. In this case, even if the HDD 233 storing the image data is changed from another machine to the multi-function peripheral 101, the multi-function peripheral 101 cannot execute the printing process or the transmission process of the image data. This prevents the accumulated HDD 233 from being replaced. In the case where there is a possibility that there is an injustice regarding the HDD 233 that is the storage destination of image data, the image forming process is limited, so the merit of the above specific example becomes more effective. The method for creating the key 942 is the same as the method for creating the key 933 in the specific example, and is created using the machine number 934 and the like. The above matters can also be applied to prevent replacement of the SD memory card 602 in which image data is stored.

図37は、上記の暗号化処理に係るフローチャートである。   FIG. 37 is a flowchart relating to the above encryption processing.

プリンタアプリ142等が、融合機101に蓄積すべき画像データを読取原稿から読み取るまたはネットワークから受信する(S201)と、VAS135が、鍵942を作成(S202)する。続いて、プリンタアプリ142等が、VAS135により作成された鍵942で当該画像データを暗号化(S203)する。続いて、融合機101に当該画像データが蓄積される。   When the printer application 142 or the like reads image data to be stored in the multifunction peripheral 101 from the read original or receives it from the network (S201), the VAS 135 creates a key 942 (S202). Subsequently, the printer application 142 or the like encrypts the image data with the key 942 created by the VAS 135 (S203). Subsequently, the image data is stored in the compound machine 101.

図38は、上記の復号化処理に係るフローチャートである。   FIG. 38 is a flowchart relating to the above decoding process.

融合機101に蓄積されている画像データから印刷用紙に印刷すべき又はネットワークに送信すべき画像データが指定されると、VAS135が、鍵942を作成(S211)する。続いて、プリンタアプリ142等が、VAS135により作成された鍵942で当該画像データを復号化(S212)する。続いて、プリンタアプリ142等が、当該画像データの復号化処理が「成功」したことを条件に、当該画像データを印刷用紙に印刷する又はネットワークに送信する(S213)のである。   When image data to be printed on printing paper or transmitted to the network is specified from the image data stored in the multi-function peripheral 101, the VAS 135 creates a key 942 (S211). Subsequently, the printer application 142 or the like decrypts the image data with the key 942 created by the VAS 135 (S212). Subsequently, the printer application 142 or the like prints the image data on a print sheet or transmits it to the network on the condition that the decoding process of the image data is “successful” (S213).

なお、上記の画像形成処理において、同一の画像データについてパスワード941と鍵942を併用するようにしてもよい。また、上記の画像形成処理において、1台の融合機101に2枚以上のSDメモリカード602がセットされている場合、パスワード941や鍵942を特定のSDメモリカード602に固有のデータとするようにしてもよい。   In the image forming process described above, the password 941 and the key 942 may be used together for the same image data. Further, in the image forming process described above, when two or more SD memory cards 602 are set in one multi-function peripheral 101, the password 941 and the key 942 are set to data unique to the specific SD memory card 602. It may be.

(変形例)
図1の融合機101は、本発明「情報処理装置」の実施例に該当するものであり、図1の融合機101にて実行される情報処理は、本発明「情報処理方法」の実施例に該当するものである。図1のVAS135は、本発明「情報処理プログラム」の実施例に該当するものであり、図1のVAS135が記録されたSDメモリカードは、本発明「記録媒体」の実施例に該当するものである。
(Modification)
1 corresponds to the embodiment of the “information processing apparatus” of the present invention, and the information processing executed in the MFP 101 of FIG. 1 is the embodiment of the “information processing method” of the present invention. It corresponds to. 1 corresponds to the embodiment of the “information processing program” of the present invention, and the SD memory card on which the VAS 135 of FIG. 1 is recorded corresponds to the embodiment of the “recording medium” of the present invention. is there.

11 情報処理装置
21 ハードウェア
22 ソフトウェア
23 起動部
31 アプリケーション
32 プラットフォーム
101 融合機
111 ハードウェア
112 ソフトウェア
113 融合機起動部
121 撮像部
122 印刷部
123 その他のハードウェア
131 アプリケーション
132 プラットフォーム
133 アプリケーションプログラムインタフェース
134 エンジンインタフェース
135 仮想アプリケーションサービス
141 コピーアプリ
142 プリンタアプリ
143 スキャナアプリ
144 ファクシミリアプリ
145 ネットワークファイルアプリ
151 コントロールサービス
152 システムリソースマネージャ
153 ハンドラ
161 ネットワークコントロールサービス
162 ファクシミリコントロールサービス
163 デリバリコントロールサービス
164 エンジンコントロールサービス
165 メモリコントロールサービス
166 オペレーションパネルコントロールサービス
167 サーティフィケーションコントロールサービス
168 ユーザディレクトリコントロールサービス
169 システムコントロールサービス
171 ファクシミリコントロールユニットハンドラ
172 イメージメモリハンドラ
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
211 CPU
212 ASIC
221 NB
222 SB
231 MEM−P
232 MEM−C
233 HDD
234 メモリカード用スロット
235 メモリカード
241 NIC
242 USBデバイス
243 IEEE1394デバイス
244 セントロニクスデバイス
301 原稿セット部
302 給紙部
303 排紙部
311 タッチパネル
312 テンキー
313 スタートボタン
314 リセットボタン
315 初期設定ボタン
321 ADF
322 フラットベッド
323 フラットベッドカバー
501 メモリモニタ部
502 プログラム起動部
601 SDメモリカード用スロット
602 SDメモリカード
611 SDメモリカードアクセスドライバ
612 SDメモリカードステータスドライバ
613 起動処理用プログラム
614 SDメモリカードチェックプログラム
701 SDメモリカードサービスファイル
702 SDKアプリファイル
703 PDIDファイル
711 整合性確認用データ、登録済確認用データ
712 最大アプリ数
713 登録アプリ数
714 PDID
901 カード正当性確認部、登録済確認部
902 シード作成部
903 PDIDファイル整合性確認部、登録済登録部
911 PDID暗号化部
912 PDID登録部
921 PDID復号化部
922 アプリ正当性判断部
931 鍵(シード、SDシード)
932 licファイル、SDシリアルID
933 鍵(シード、機体シード)
934 機体番号
941 パスワード
942 鍵
DESCRIPTION OF SYMBOLS 11 Information processing apparatus 21 Hardware 22 Software 23 Starting part 31 Application 32 Platform 101 Fusion machine 111 Hardware 112 Software 113 Fusion machine starting part 121 Imaging part 122 Printing part 123 Other hardware 131 Application 132 Platform 133 Application program interface 134 Engine Interface 135 Virtual application service 141 Copy application 142 Printer application 143 Scanner application 144 Facsimile application 145 Network file application 151 Control service 152 System resource manager 153 Handler 161 Network control service 162 Facsimile control service 63 Delivery control service 164 Engine control service 165 Memory control service 166 Operation panel control service 167 Certification control service 168 User directory control service 169 System control service 171 Facsimile control unit handler 172 Image memory handler 201 Controller 202 Operation panel 203 Facsimile control unit 211 CPU
212 ASIC
221 NB
222 SB
231 MEM-P
232 MEM-C
233 HDD
234 Memory card slot 235 Memory card 241 NIC
242 USB device 243 IEEE 1394 device 244 Centronics device 301 Document setting unit 302 Paper feed unit 303 Paper discharge unit 311 Touch panel 312 Numeric keypad 313 Start button 314 Reset button 315 Initial setting button 321 ADF
322 Flatbed 323 Flatbed cover 501 Memory monitor unit 502 Program start unit 601 SD memory card slot 602 SD memory card 611 SD memory card access driver 612 SD memory card status driver 613 Start processing program 614 SD memory card check program 701 SD Memory card service file 702 SDK application file 703 PDID file 711 Consistency confirmation data, registered confirmation data 712 Maximum number of applications 713 Number of registered applications 714 PDID
901 Card validity confirmation part, registered confirmation part 902 seed creation part 903 PDID file consistency confirmation part, registered registration part 911 PDID encryption part 912 PDID registration part 921 PDID decryption part 922 application validity judgment part 931 key ( Seed, SD seed)
932 lic file, SD serial ID
933 key (seed, aircraft seed)
934 Aircraft number 941 Password 942 Key

特開2002−84383号公報JP 2002-84383 A

Claims (32)

情報処理装置に処理を実行させるためのプログラムを当該画像形成装置に入力するための記憶媒体であって、
前記プログラムを格納する第一の格納ファイルを備え、
前記第一の格納ファイルにはさらに、該プログラムを識別する第一の識別情報と該プログラムが所定の条件に従って作成されたプログラムであることを識別するための第二の識別情報識とが格納されることを特徴とする記憶媒体。
A storage medium for inputting to the image forming apparatus a program for causing the information processing apparatus to execute processing,
A first storage file for storing the program;
The first storage file further stores first identification information for identifying the program and second identification information for identifying that the program is a program created according to a predetermined condition. A storage medium characterized by that.
当該記憶媒体が前記情報処理装置に入力するプログラムを格納する記憶媒体として正当であることを確認するための確認プログラムを格納する第二の格納ファイルを備えることを特徴とする請求項1記載の記憶媒体。   The storage according to claim 1, further comprising a second storage file that stores a confirmation program for confirming that the storage medium is valid as a storage medium for storing a program input to the information processing apparatus. Medium. 前記情報処理装置に搭載されて起動されたとき、前記情報処理装置からの前記確認プログラムの起動要求に応じて、前記確認プログラムは、前記情報処理装置に応答ことを特徴とする請求項2記載の記憶媒体。   The said confirmation program responds to the said information processing apparatus according to the starting request | requirement of the said confirmation program from the said information processing apparatus when mounted and activated by the said information processing apparatus. Storage medium. 前記情報処理装置において前記記憶媒体に固有の情報又は前記情報処理装置に固有の情報を用いて前記第一の識別情報が暗号化され、該情報処理装置によって暗号化された前記第一の識別情報の暗号化識別情報を登録するための第三の格納ファイルを備えることを特徴とする請求項1乃至3のいずれか一項に記載の記憶媒体。   In the information processing apparatus, the first identification information is encrypted using the information specific to the storage medium or the information specific to the information processing apparatus, and encrypted by the information processing apparatus. The storage medium according to any one of claims 1 to 3, further comprising a third storage file for registering the encryption identification information. 前記第三の格納ファイルには、
前記記憶媒体と、該記憶媒体の暗号化識別情報格納ファイルとの整合性を確認するための前記整合性確認情報が格納されることを特徴とする請求項4記載の記憶媒体。
In the third storage file,
5. The storage medium according to claim 4, wherein the consistency confirmation information for confirming consistency between the storage medium and an encrypted identification information storage file of the storage medium is stored.
前記第三の格納ファイルには、
格納可能な前記識別情報の個数の上限値が設定されていると共に、当該第二の格納ファイルに格納されている前記識別情報の個数の値が格納されていることを特徴とする請求項4又は5に記載の記憶媒体。
In the third storage file,
5. The upper limit value of the number of pieces of identification information that can be stored is set, and the value of the number of pieces of identification information stored in the second storage file is stored. 5. The storage medium according to 5.
前記第三の格納ファイルに前記識別情報が格納される際には、前記識別情報を格納するための格納領域に前記識別情報の代わりに格納されている格納情報に替わり前記識別情報が格納される形で、前記第三の格納ファイルに前記識別情報が格納されることを特徴とする請求項4乃至6のいずれか1項に記載の記憶媒体。   When the identification information is stored in the third storage file, the identification information is stored instead of the storage information stored in place of the identification information in a storage area for storing the identification information. The storage medium according to claim 4, wherein the identification information is stored in the third storage file. 当該記憶媒体に固有の情報は、当該記憶媒体のシリアルID、または当該記憶媒体のシリアルIDと、前記確認プログラムの設定ファイルの電子署名を書き込んだ認証ファイルとから生成したメッセージダイジェストであることを特徴とする請求項4乃至7のいずれか1項に記載の記憶媒体。   The information unique to the storage medium is a message digest generated from the serial ID of the storage medium or the serial ID of the storage medium and an authentication file in which the electronic signature of the setting file of the confirmation program is written. The storage medium according to any one of claims 4 to 7. 前記第三の格納ファイルには
前記情報処理装置の前記登録手段による前記アプリケーションプログラムの前記暗号化識別情報の登録処理が実行済か未実行かを確認するための登録済確認用データが格納されることを特徴とする請求項4乃至8のいずれか1項記載の記憶媒体。
The third storage file stores registered confirmation data for confirming whether the registration processing of the encryption identification information of the application program by the registration unit of the information processing apparatus has been executed or not executed. The storage medium according to claim 4, wherein the storage medium is a storage medium.
情報処理装置に装着されて当該情報処理装置に情報処理を実行させるためのプログラムの記憶先として使用される記憶装置であって、
前記プログラムを格納する第一の格納ファイルを備え、
前記第一の格納ファイルにはさらに、該プログラムを識別する第一の識別情報と該プログラムが所定の条件に従って作成されたプログラムであることを識別するための第二の識別情報識とが格納されることを特徴とする記憶装置。
A storage device that is attached to an information processing device and used as a storage destination of a program for causing the information processing device to execute information processing,
A first storage file for storing the program;
The first storage file further stores first identification information for identifying the program and second identification information for identifying that the program is a program created according to a predetermined condition. A storage device.
前記情報処理装置において前記記憶媒体に固有の情報又は前記情報処理装置に固有の情報を用いて前記第一の識別情報が暗号化され、該情報処理装置によって暗号化された前記第一の識別情報の暗号化識別情報を登録するための第二の格納ファイルを備えることを特徴とする請求項10に記載の記憶装置。   In the information processing apparatus, the first identification information is encrypted using the information specific to the storage medium or the information specific to the information processing apparatus, and encrypted by the information processing apparatus. The storage device according to claim 10, further comprising a second storage file for registering the encrypted identification information. 前記第二の格納ファイルに前記識別情報が格納される際には、前記識別情報を格納するための格納領域に前記識別情報の代わりに格納されている格納情報に替わり前記識別情報が格納される形で、前記第二の格納ファイルに前記識別情報が格納されることを特徴とする請求項10又は12に記載の記憶装置。   When the identification information is stored in the second storage file, the identification information is stored in place of the storage information stored in place of the identification information in a storage area for storing the identification information. The storage device according to claim 10 or 12, wherein the identification information is stored in the second storage file. 前記第二の格納ファイルには
前記情報処理装置の前記登録手段による前記アプリケーションプログラムの前記暗号化識別情報の登録処理が実行済か未実行かを確認するための登録済確認用データが格納されることを特徴とする請求項10乃至12のいずれか1項記載の記憶装置。
The second storage file stores registered confirmation data for confirming whether the registration processing of the encryption identification information of the application program by the registration unit of the information processing apparatus has been executed or not executed. The storage device according to claim 10, wherein the storage device is a storage device.
記憶媒体のアプリケーションプログラムファイルに格納されたアプリケーションプログラムによる処理の実行制御を行う情報処理装置であって、
前記アプリケーションプログラムファイルに格納される前記アプリケーションプログラムを識別するための識別情報を、該記憶媒体に固有の情報又は当該情報処理装置に固有の情報に基づいて暗号化する識別情報暗号化手段と、
前記識別情報暗号化手段によって暗号化された暗号化識別情報を該記憶媒体に登録する登録手段と、
前記暗号化識別情報を復号化するための復号鍵を作成する復号鍵作成手段と、
前記復号鍵作成手段により作成された復号鍵を用いて、前記暗号化された暗号化識別情報を復号する復号化手段と、前記復号化手段により復号化された復号化識別情報と前記識別情報に基づいて前記アプリケーションプログラムの正当性を判断するアプリケーションプログラム正当性判断手段と、
前記アプリケーションプログラムに格納されている、前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別するための識別コードに基づいて、前記アプリケーションプログラムが所定の条件に従って作成されたプログラムファイルであることを識別する識別手段と、
を備えることを特徴とする情報処理装置。
An information processing apparatus that performs execution control of processing by an application program stored in an application program file of a storage medium,
Identification information encryption means for encrypting identification information for identifying the application program stored in the application program file based on information specific to the storage medium or information specific to the information processing apparatus;
Registration means for registering the encrypted identification information encrypted by the identification information encryption means in the storage medium;
Decryption key creating means for creating a decryption key for decrypting the encrypted identification information;
The decryption means for decrypting the encrypted encrypted identification information using the decryption key created by the decryption key creation means, the decryption identification information decrypted by the decryption means, and the identification information Application program validity judgment means for judging the validity of the application program based on;
A program file created according to a predetermined condition based on an identification code stored in the application program for identifying that the application program is a program file created according to a predetermined condition. An identification means for identifying something,
An information processing apparatus comprising:
前記登録手段による前記暗号化識別情報に基づいて前記アプリケーションプログラムの実行を制御する実行制御手段を備えることを特徴とする請求項14記載の情報処理装置。   The information processing apparatus according to claim 14, further comprising an execution control unit that controls execution of the application program based on the encryption identification information by the registration unit. 前記実行制御手段は、
前記アプリケーションプログラム正当性判断手段により、正当であると判断された場合に実行を制御することを特徴とする請求項15記載の情報処理装置。
The execution control means includes
The information processing apparatus according to claim 15, wherein execution is controlled when the application program validity determining unit determines that the application program is valid.
前記実行制御手段によって制御されるのは、前記アプリケーションプログラムの起動または起動権の設定であることを特徴とする請求項15または16情報処理装置。   17. The information processing apparatus according to claim 15, wherein the execution control means controls activation of the application program or setting of an activation right. 前記識別手段による識別処理は、前記登録手段による登録処理よりも前に実行され、
前記識別手段は、
前記識別コードが前記記憶媒体に格納されているか否かを識別し、
該識別コードが格納されていない場合には、前記登録手段による登録処理を行わないことを特徴とする請求項14乃至17のいずれか一項に記載の情報処理装置。
The identification process by the identification unit is executed before the registration process by the registration unit,
The identification means includes
Identifying whether the identification code is stored in the storage medium;
18. The information processing apparatus according to claim 14, wherein when the identification code is not stored, registration processing by the registration unit is not performed.
前記識別手段は、
前記識別コードが前記記憶媒体に格納されているか否かを識別し、
該識別コードが格納されていない場合には、前記アプリケーションプログラム正当性判断手段による正当性判断処理を行わないことを特徴とする請求項14乃至18のいずれか一項に記載の情報処理装置。
The identification means includes
Identifying whether the identification code is stored in the storage medium;
The information processing apparatus according to any one of claims 14 to 18, wherein when the identification code is not stored, the validity determination process by the application program validity determination unit is not performed.
前記記憶媒体と、前記暗号化識別情報が格納されている暗号化識別情報格納ファイルと、の整合性を確認するための情報であって、暗号化識別情報格納ファイルに格納されている整合性確認情報基づいて、前記記憶媒体と該記憶媒体の前記暗号化識別情報格納ファイルとの整合性を確認する整合性確認手段と、
前記整合性確認手段によって前記記憶媒体と、該記憶媒体の前記暗号化識別情報格納ファイルとが整合しないと確認された場合に、前記登録処理または前記アプリケーションプログラム正当性判断手段による正当性判断処理を行わずに処理を終了する第二の終了手段を備え、
前記整合性確認情報は、前記記憶媒体に固有の情報に基づいて作成されていることを特徴とする請求項14乃至19のいずれか一項に記載の情報処理装置。
Information for confirming the consistency between the storage medium and the encrypted identification information storage file storing the encrypted identification information, and the consistency confirmation stored in the encrypted identification information storage file Consistency checking means for checking the consistency between the storage medium and the encrypted identification information storage file of the storage medium based on the information;
When the consistency confirmation unit confirms that the storage medium and the encrypted identification information storage file of the storage medium do not match, the registration process or the validity judgment process by the application program validity judgment unit is performed. A second ending unit for ending the process without performing the process;
20. The information processing apparatus according to claim 14, wherein the consistency confirmation information is created based on information unique to the storage medium.
前記記憶媒体に格納可能な前記アプリケーションプログラムの個数の上限値の情報であって、暗号化識別情報格納ファイルに格納されている上限値まで、前記登録手段は、暗号化された暗号化識別情報を該記憶媒体に登録することを特徴とする請求項14乃至20のいずれか一項に記載の情報処理装置。   Up to the upper limit value of the number of application programs that can be stored in the storage medium, up to the upper limit value stored in the encrypted identification information storage file, the registration means stores the encrypted encrypted identification information. 21. The information processing apparatus according to claim 14, wherein the information processing apparatus is registered in the storage medium. 前記登録手段は、前記アプリケーションプログラムの識別情報を登録するための暗号化識別情報格納ファイルに設けられた登録欄に、格納されたダミー情報に代えて、前記暗号化識別情報を登録することを特徴とする請求項14乃至21のいずれか一項に記載の情報処理装置。   The registration means registers the encrypted identification information in place of the stored dummy information in a registration field provided in an encrypted identification information storage file for registering identification information of the application program. The information processing apparatus according to any one of claims 14 to 21. 当該記憶媒体に固有の情報は、当該記憶媒体のシリアルID、または当該記憶媒体のシリアルIDと、当該記憶媒体の正当性を確認するためのプログラムの設定ファイルの電子署名を書き込んだ認証ファイルとから生成したメッセージダイジェストであることを特徴とする請求項14乃至22のいずれか一項に記載の情報処理装置。   The information unique to the storage medium includes the serial ID of the storage medium or the serial ID of the storage medium and the authentication file in which the electronic signature of the program setting file for confirming the validity of the storage medium is written. The information processing apparatus according to any one of claims 14 to 22, wherein the information digest is a generated message digest. 前記識別手段によって前記アプリケーションが所定の条件に従って作成されたプログラムファイルであることが識別されると、
前記アプリケーションプログラムを仮起動させる仮起動手段を備えることを特徴とする請求項14乃至23のいずれか1項に記載の情報処理装置。
When the identification means identifies that the application is a program file created according to a predetermined condition,
24. The information processing apparatus according to claim 14, further comprising provisional activation means for provisionally activating the application program.
前記登録手段による前記アプリケーションプログラムの前記暗号化識別情報の登録処理が実行済か未実行かを確認するための登録済確認用データに基づいて、該暗号化識別情報が登録されているか否かを確認する確認手段を備え、
前記確認手段によって前記登録処理が未実行と確認された場合に、前記識別情報暗号化手段により暗号化された前記暗号化識別情報を前記登録手段により登録し、前記復号鍵作成手段により前記暗号化識別情報の復号鍵を作成し、
前記登録手段による登録処理が実行されると、前記登録済確認用データに前記暗号化識別情報の登録済を登録する登録済登録手段をさらに備えることを特徴とする請求項14乃至24のいずれか1項に記載の情報処理装置。
Whether or not the encryption identification information is registered based on the registered confirmation data for confirming whether the registration processing of the encryption identification information of the application program by the registration means has been executed or not executed. With confirmation means to confirm,
When the confirmation unit confirms that the registration processing has not been executed, the encryption identification information encrypted by the identification information encryption unit is registered by the registration unit, and the encryption is performed by the decryption key generation unit. Create a decryption key for the identification information,
The registered registration means for registering the registration of the encrypted identification information in the registered confirmation data when registration processing by the registration means is executed. The information processing apparatus according to item 1.
前記確認手段により前記登録処理が実行済と確認された場合に、前記暗号化識別情報の復号鍵を前記復号鍵作成手段より作成し、前記アプリケーションプログラムの正当性を判断することを特徴とする請求項25記載の情報処理装置。   When the confirmation unit confirms that the registration process has been executed, a decryption key for the encryption identification information is created by the decryption key creation unit, and the validity of the application program is determined. 26. An information processing apparatus according to item 25. 前記登録手段は、
前記記憶媒体に固有の情報に基づいて暗号化された第一の暗号化識別情報を登録する第一の登録手段と、
当該情報処理装置に固有の情報に基づいて暗号化された第二の暗号化識別情報を登録する第二の登録手段とから成り、
前記確認手段は前記登録済確認用データに基づいて前記登録手段による登録処理が未実行か、第一の登録手段による登録までが登録済か、第二の登録手段による登録までが登録済かを確認し、
前記復号鍵作成手段は、
前記第一の登録手段による登録処理を行うときに、前記第一の暗号化識別情報を復号化するための前記記憶媒体に固有の情報に基づく復号鍵を作成する第一の作成手段と、
前記第二の登録手段による登録処理を行うときに、前記第二の暗号化識別情報を復号化するための当該情報処理装置に固有の情報に基づく復号鍵を作成する第二の作成手段とから成り、
前記実行制御手段による実行制御は、前記第二の暗号化識別情報を用いて行われることを特徴とする請求項15乃至26のいずれか1項記載の情報処理装置。
The registration means includes
First registration means for registering first encrypted identification information encrypted based on information unique to the storage medium;
A second registration means for registering the second encrypted identification information encrypted based on information unique to the information processing apparatus;
The confirmation means determines whether the registration process by the registration means has not been executed based on the registered confirmation data, whether the registration by the first registration means has been completed, or until the registration by the second registration means has been completed. Confirmed,
The decryption key creation means includes
First creation means for creating a decryption key based on information unique to the storage medium for decrypting the first encrypted identification information when performing registration processing by the first registration means;
From the second creation means for creating a decryption key based on information unique to the information processing apparatus for decrypting the second encrypted identification information when performing the registration process by the second registration means Consisting of
27. The information processing apparatus according to claim 15, wherein execution control by the execution control means is performed using the second encrypted identification information.
前記情報処理装置は画像形成装置であることを特徴とする請求項14乃至27記載の情報処理装置。   28. The information processing apparatus according to claim 14, wherein the information processing apparatus is an image forming apparatus. アプリケーションプログラムを記憶する記憶装置を設け、
前記実行制御手段は、正当性が判断されたアプリケーションプログラムを、前記記憶装置の記憶することを特徴とする請求項14乃至28記載の情報処理装置。
A storage device for storing the application program is provided,
29. The information processing apparatus according to claim 14, wherein the execution control unit stores an application program whose validity is determined in the storage device.
請求項1〜9に記載の記憶媒体が使用されて入力された前記アプリケーションプログラムにより情報処理を実行する情報処理装置、にて実行される情報処理方法であって、
前記記憶媒体内の前記プログラムファイルに格納された前記アプリケーションプログラムのIDを、当該記憶媒体に固有の情報又は当該情報処理装置に固有の情報で暗号化して当該記憶媒体内の前記IDファイルに格納するID格納段階を備えることを特徴とする情報処理方法。
An information processing method that is executed by an information processing apparatus that executes information processing using the application program input using the storage medium according to claim 1,
The ID of the application program stored in the program file in the storage medium is encrypted with information specific to the storage medium or information specific to the information processing apparatus and stored in the ID file in the storage medium An information processing method comprising an ID storage stage.
記憶媒体に格納されたアプリケーションプログラムによる処理の実行制御を行う情報処理装置と、該情報処理装置に装着されて当該情報処理装置に情報処理を実行させるためのプログラムの記憶先として使用される記憶装置とからなるシステムであって、
前記情報処理装置は、
前記アプリケーションプログラムファイルに格納される前記アプリケーションプログラムを識別するための識別情報を、該記憶媒体に固有の情報又は当該情報処理装置に固有の情報に基づいて暗号化する識別情報暗号化手段と、
前記識別情報暗号化手段によって暗号化された暗号化識別情報を該記憶媒体に登録する登録手段と、
前記暗号化識別情報を復号化するための復号鍵を作成する復号鍵作成手段と、
前記復号鍵作成手段により作成された復号鍵を用いて、前記暗号化された暗号化識別情報を復号して得られた識別情報と、前記アプリケーションプログラムのファイルに格納されているアプリケーションプログラムを識別するための識別情報とを比較して、アプリケーションプログラムの正当性を判断するアプリケーションプログラム正当性判断手段と、
前記記憶媒体に格納されている当該記憶媒体と、暗号化された識別情報を格納している暗号化識別情報登録ファイルとの整合性を確認するための整合性確認情報を暗号化識別情報登録ファイルから取得して、暗号化識別情報登録ファイルの整合性の確認を行う整合性確認手段と、
前記記憶装置は、
前記プログラムを格納する第一の格納ファイルを備え、
前記第一の格納ファイルにはさらに、該プログラムを識別する第一の識別情報と該プログラムが所定の条件に従って作成されたプログラムであることを識別するための第二の識別情報識とが格納されることを特徴とする記憶装置。
ことを特徴とするシステム。
An information processing apparatus that performs execution control of processing by an application program stored in a storage medium, and a storage apparatus that is attached to the information processing apparatus and used as a storage destination of a program for causing the information processing apparatus to execute information processing A system consisting of
The information processing apparatus includes:
Identification information encryption means for encrypting identification information for identifying the application program stored in the application program file based on information specific to the storage medium or information specific to the information processing apparatus;
Registration means for registering the encrypted identification information encrypted by the identification information encryption means in the storage medium;
Decryption key creating means for creating a decryption key for decrypting the encrypted identification information;
Using the decryption key created by the decryption key creation means, the identification information obtained by decrypting the encrypted encrypted identification information and the application program stored in the application program file are identified. Application program validity determination means for comparing the identification information for determining the validity of the application program,
Consistency confirmation information for confirming consistency between the storage medium stored in the storage medium and the encrypted identification information registration file storing the encrypted identification information. Consistency confirmation means for confirming the consistency of the encrypted identification information registration file obtained from
The storage device
A first storage file for storing the program;
The first storage file further stores first identification information for identifying the program and second identification information for identifying that the program is a program created according to a predetermined condition. A storage device.
A system characterized by that.
請求項30に記載の情報処理方法をコンピュータに実行させる情報処理プログラム。   An information processing program for causing a computer to execute the information processing method according to claim 30.
JP2010096199A 2003-08-12 2010-04-19 Storage medium, storage device, information processing device, information processing method, system, and information processing program Expired - Lifetime JP5058293B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010096199A JP5058293B2 (en) 2003-08-12 2010-04-19 Storage medium, storage device, information processing device, information processing method, system, and information processing program

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
JP2003292016 2003-08-12
JP2003292016 2003-08-12
JP2003292012 2003-08-12
JP2003292014 2003-08-12
JP2003292015 2003-08-12
JP2003292013 2003-08-12
JP2003292012 2003-08-12
JP2003292014 2003-08-12
JP2003292013 2003-08-12
JP2003292015 2003-08-12
JP2004081476 2004-03-19
JP2004081476 2004-03-19
JP2010096199A JP5058293B2 (en) 2003-08-12 2010-04-19 Storage medium, storage device, information processing device, information processing method, system, and information processing program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004230106A Division JP4728611B2 (en) 2003-08-12 2004-08-06 Storage medium, storage apparatus, information processing apparatus, information processing method, information processing program, and recording medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012055091A Division JP5387706B2 (en) 2003-08-12 2012-03-12 Information processing apparatus, information processing method, and recording medium

Publications (2)

Publication Number Publication Date
JP2010211818A true JP2010211818A (en) 2010-09-24
JP5058293B2 JP5058293B2 (en) 2012-10-24

Family

ID=42971832

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2010096199A Expired - Lifetime JP5058293B2 (en) 2003-08-12 2010-04-19 Storage medium, storage device, information processing device, information processing method, system, and information processing program
JP2010179656A Expired - Lifetime JP5058309B2 (en) 2003-08-12 2010-08-10 Information processing apparatus, information processing method, program, and recording medium
JP2012055091A Expired - Lifetime JP5387706B2 (en) 2003-08-12 2012-03-12 Information processing apparatus, information processing method, and recording medium
JP2012109016A Expired - Lifetime JP5403104B2 (en) 2003-08-12 2012-05-11 Information processing apparatus, information processing system, information processing method, and information processing program
JP2013186018A Expired - Lifetime JP5776741B2 (en) 2003-08-12 2013-09-09 Information processing apparatus, information processing system, information processing method, and information processing program

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP2010179656A Expired - Lifetime JP5058309B2 (en) 2003-08-12 2010-08-10 Information processing apparatus, information processing method, program, and recording medium
JP2012055091A Expired - Lifetime JP5387706B2 (en) 2003-08-12 2012-03-12 Information processing apparatus, information processing method, and recording medium
JP2012109016A Expired - Lifetime JP5403104B2 (en) 2003-08-12 2012-05-11 Information processing apparatus, information processing system, information processing method, and information processing program
JP2013186018A Expired - Lifetime JP5776741B2 (en) 2003-08-12 2013-09-09 Information processing apparatus, information processing system, information processing method, and information processing program

Country Status (1)

Country Link
JP (5) JP5058293B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045201A (en) * 2011-08-23 2013-03-04 Mega Chips Corp Memory system, memory device, and memory device operation method
JP2015125721A (en) * 2013-12-27 2015-07-06 京セラドキュメントソリューションズ株式会社 Image processing system and log recording method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016159499A (en) * 2015-02-27 2016-09-05 京セラドキュメントソリューションズ株式会社 Function providing system and function relay program
JP7286381B2 (en) * 2019-04-01 2023-06-05 キヤノン株式会社 Information processing device and its control method

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257816A (en) * 1992-03-16 1993-10-08 Fujitsu Ltd Electronic data protection system
JPH07244584A (en) * 1994-03-02 1995-09-19 Matsushita Electric Ind Co Ltd Software protection system
JPH07287655A (en) * 1994-04-18 1995-10-31 Ricoh Co Ltd Information processor
JP2000322254A (en) * 1999-05-07 2000-11-24 Sega Enterp Ltd Electronic device and security check method
JP2001203686A (en) * 2000-01-21 2001-07-27 Sony Corp Data processing unit, data processing method and method for providing data verification value, and program service medium
JP2001229018A (en) * 2000-02-16 2001-08-24 Ricoh Co Ltd Program execution control apparatus
JP2003005859A (en) * 2001-04-16 2003-01-08 Yuichi Sumiya Method for managing program and data, and computer
JP2003039770A (en) * 2001-07-27 2003-02-13 Canon Inc Image processor and its controlling method
JP2003076433A (en) * 2001-08-30 2003-03-14 Anritsu Corp Measuring device
JP2003087239A (en) * 2001-09-06 2003-03-20 Sony Corp Communication system, communication device and method, recording medium, and program
JP2003179707A (en) * 2001-12-11 2003-06-27 Minolta Co Ltd Image reader, image reading method and image reading system
JP2003195758A (en) * 2001-12-25 2003-07-09 Kenwood Corp Data processor, interface board and data concealing method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793521A (en) * 1993-09-22 1995-04-07 Toshiba Corp Security protection system for picture filing device
JPH11327911A (en) * 1998-05-08 1999-11-30 Ricoh Co Ltd Image forming device
JPH11355545A (en) * 1998-06-03 1999-12-24 Ricoh Co Ltd Data output device
JP2000112824A (en) * 1998-10-05 2000-04-21 Toshiba Corp Memory system
JP2002016591A (en) * 2000-06-29 2002-01-18 Bandai Co Ltd Distribution system and its method, information processing terminal, illegal processing prevention method and recording medium
JP2002199089A (en) * 2000-12-27 2002-07-12 Kenwood Corp Mobile telephone set
JP4137388B2 (en) * 2001-01-22 2008-08-20 株式会社リコー Printing system, printer device usage management method, printing restriction server, ticket issuing method, program, and recording medium
JP2004194236A (en) * 2002-12-13 2004-07-08 Mitsubishi Electric Corp Contents management apparatus

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05257816A (en) * 1992-03-16 1993-10-08 Fujitsu Ltd Electronic data protection system
JPH07244584A (en) * 1994-03-02 1995-09-19 Matsushita Electric Ind Co Ltd Software protection system
JPH07287655A (en) * 1994-04-18 1995-10-31 Ricoh Co Ltd Information processor
JP2000322254A (en) * 1999-05-07 2000-11-24 Sega Enterp Ltd Electronic device and security check method
JP2001203686A (en) * 2000-01-21 2001-07-27 Sony Corp Data processing unit, data processing method and method for providing data verification value, and program service medium
JP2001229018A (en) * 2000-02-16 2001-08-24 Ricoh Co Ltd Program execution control apparatus
JP2003005859A (en) * 2001-04-16 2003-01-08 Yuichi Sumiya Method for managing program and data, and computer
JP2003039770A (en) * 2001-07-27 2003-02-13 Canon Inc Image processor and its controlling method
JP2003076433A (en) * 2001-08-30 2003-03-14 Anritsu Corp Measuring device
JP2003087239A (en) * 2001-09-06 2003-03-20 Sony Corp Communication system, communication device and method, recording medium, and program
JP2003179707A (en) * 2001-12-11 2003-06-27 Minolta Co Ltd Image reader, image reading method and image reading system
JP2003195758A (en) * 2001-12-25 2003-07-09 Kenwood Corp Data processor, interface board and data concealing method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013045201A (en) * 2011-08-23 2013-03-04 Mega Chips Corp Memory system, memory device, and memory device operation method
JP2015125721A (en) * 2013-12-27 2015-07-06 京セラドキュメントソリューションズ株式会社 Image processing system and log recording method

Also Published As

Publication number Publication date
JP2010272136A (en) 2010-12-02
JP2012164322A (en) 2012-08-30
JP2012164354A (en) 2012-08-30
JP5403104B2 (en) 2014-01-29
JP2014028521A (en) 2014-02-13
JP5058293B2 (en) 2012-10-24
JP5776741B2 (en) 2015-09-09
JP5058309B2 (en) 2012-10-24
JP5387706B2 (en) 2014-01-15

Similar Documents

Publication Publication Date Title
JP5090790B2 (en) Device, License Management Method, License Management Program, and License Management System
JP4676724B2 (en) Information processing apparatus, information processing method, information processing program, and recording medium
JP4728611B2 (en) Storage medium, storage apparatus, information processing apparatus, information processing method, information processing program, and recording medium
US8601280B2 (en) Application executing apparatus and application execution method
US20080046720A1 (en) Image processing system, image processing apparatus, and program management method
JP5527380B2 (en) Device, License Management System, License Management Method, and License Management Program
JP4575860B2 (en) Image forming apparatus, installation method, installation program, and recording medium
JP5387706B2 (en) Information processing apparatus, information processing method, and recording medium
US20090132833A1 (en) Storage device, terminal device using the storage device, and method thereof
JP4485785B2 (en) Electronic data processing system and electronic data processing method
JP2004303209A (en) Image forming apparatus, program updating method, and storage medium for update
JP2009199236A (en) Image processor, authentication package installation method, authentication package installation program, and recording medium
JP2008171041A (en) Image forming device, start up method of image forming device, control device, and start up method of extension unit
JP4409992B2 (en) Image forming apparatus, program update method, and update storage medium
JP4631303B2 (en) Data utilization system, storage device, data utilization method, and computer program
JP2006338551A (en) Content reproduction device and content reproduction method
JP4444641B2 (en) Information processing apparatus, image forming apparatus, and electronic data transfer method
JP4803601B2 (en) Image processing apparatus and image forming apparatus
JP2007174314A (en) Electronic certificate managing method and image processor
JP2006146748A (en) Computer built-in apparatus and data delivery method
JP2004287839A (en) Information processor, image forming device, and program addition method
JP2010067085A (en) Information processing system, external equipment, platform starting method, program, and storage medium
JP2008023937A (en) Image forming apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120703

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120731

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5058293

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

EXPY Cancellation because of completion of term