Storage medium, storage unit, information processing apparatus, information processing method, system, and information processing program
24 claims: 21 independent, 3 dependent
- 1An information processing device that enables insertion and removal of a storage medium in which a program is stored, and can identify execution information for executing the program in the information processing device from an external device via a network and a version of the execution information. The validity of the program is determined based on the acquisition means for acquiring the first version information, the machine-specific information unique to the machine of the information processing device acquired from the information processing device, and the execution information. The validity judgment information, the execution information, and the first version information of the execution information are stored in the generation means for generating the validity judgment information for the purpose and the inserted storage medium. By the storage means, the receiving means for receiving the second version information capable of identifying the version of the execution information from the external device via the network, the first version information stored in the storage medium, and the receiving means. When it is determined that the execution information possessed by the external device has been updated based on the received second version information, the validity determination information stored in the storage medium is transmitted to the external device. An information processing device characterized by being provided with a transmission means for processing. プログラムが記憶された記憶媒体を挿抜可能とする情報処理装置であって、 外部装置からネットワークを介して前記プログラムを前記情報処理装置で実行するための実行情報と、当該実行情報のバージョンを識別可能な第一のバージョン情報とを取得する取得手段と、 前記情報処理装置内から取得した該情報処理装置の機体に固有な機体固有情報と前記実行情報とに基づき、前記プログラムの正当性を判断するための正当性判断用情報を生成する生成手段と、 挿入された記憶媒体に対して、前記正当性判断用情報と、前記実行情報と、当該実行情報の前記第一のバージョン情報とを記憶する記憶手段と、 前記外部装置からネットワークを介して実行情報のバージョンを識別可能な第二のバージョン情報を受信する受信手段と、 前記記憶媒体に記憶された第一のバージョン情報と、前記受信手段により受信された第二のバージョン情報とに基づいて、前記外部装置の有する実行情報が更新されていると判定された場合、前記記憶媒体に記憶された正当性判断用情報を、前記外部装置に送信する送信手段と、 を備えることを特徴とする情報処理装置。
- 5An information processing system including an information processing device capable of inserting and removing a storage medium in which a program is stored and an external device. The information processing device transmits the program from the external device via a network to the information processing device. Acquisition means for acquiring execution information for execution and first version information that can identify the version of the execution information, and machine-specific information unique to the machine of the information processing device acquired from the information processing device. And the generation means for generating the validity judgment information for judging the validity of the program based on the execution information, the validity judgment information and the execution information for the inserted storage medium. A storage means for storing the first version information of the execution information, a receiving means for receiving the second version information capable of identifying the version of the execution information from the external device via the network, and the storage. When it is determined that the execution information possessed by the external device is updated based on the first version information stored in the medium and the second version information received by the receiving means, the storage medium A transmission means for transmitting the validity judgment information stored in the external device to the external device, and An information processing system characterized by being equipped with. プログラムが記憶された記憶媒体を挿抜可能とする情報処理装置と、外部装置とを含む情報処理システムであって、 前記情報処理装置は、 外部装置からネットワークを介して前記プログラムを前記情報処理装置で実行するための実行情報と、当該実行情報のバージョンを識別可能な第一のバージョン情報とを取得する取得手段と、 前記情報処理装置内から取得した該情報処理装置の機体に固有な機体固有情報と前記実行情報とに基づき、前記プログラムの正当性を判断するための正当性判断用情報を生成する生成手段と、 挿入された記憶媒体に対して、前記正当性判断用情報と、前記実行情報と、当該実行情報の前記第一のバージョン情報とを記憶する記憶手段と、 前記外部装置からネットワークを介して実行情報のバージョンを識別可能な第二のバージョン情報を受信する受信手段と、 前記記憶媒体に記憶された第一のバージョン情報と、前記受信手段により受信された第二のバージョン情報とに基づいて、前記外部装置の有する実行情報が更新されていると判定された場合、前記記憶媒体に記憶された正当性判断用情報を、前記外部装置に送信する送信手段と、 を備えることを特徴とする情報処理システム。
- 6An information processing method in an information processing device that enables insertion and removal of a storage medium in which a program is stored. Execution information for executing the program in the information processing device from an external device via a network, and execution information of the execution information. The validity of the program is based on the acquisition procedure for acquiring the first version information that can identify the version, the machine-specific information unique to the machine of the information processing device acquired from the information processing device, and the execution information. The generation procedure for generating the validity judgment information for judging the sex, the validity judgment information, the execution information, and the first version information of the execution information for the inserted storage medium. A storage procedure for storing information processing, a reception procedure for receiving a second version information capable of identifying a version of execution information from the external device via a network, and a first version information stored in the storage medium. When it is determined that the execution information possessed by the external device has been updated based on the second version information received by the reception procedure, the validity determination information stored in the storage medium is used. An information processing method characterized by having a transmission procedure for transmitting to an external device. プログラムが記憶された記憶媒体を挿抜可能とする情報処理装置における情報処理方法であって、 外部装置からネットワークを介して前記プログラムを前記情報処理装置で実行するための実行情報と、当該実行情報のバージョンを識別可能な第一のバージョン情報とを取得する取得手順と、 前記情報処理装置内から取得した該情報処理装置の機体に固有な機体固有情報と前記実行情報とに基づき、前記プログラムの正当性を判断するための正当性判断用情報を生成する生成手順と、 挿入された記憶媒体に対して、前記正当性判断用情報と、前記実行情報と、当該実行情報の前記第一のバージョン情報とを記憶する記憶手順と、 前記外部装置からネットワークを介して実行情報のバージョンを識別可能な第二のバージョン情報を受信する受信手順と、 前記記憶媒体に記憶された第一のバージョン情報と、前記受信手順により受信された第二のバージョン情報とに基づいて、前記外部装置の有する実行情報が更新されていると判定された場合、前記記憶媒体に記憶された正当性判断用情報を、前記外部装置に送信する送信手順と、 を有することを特徴とする情報処理方法。
- 7A claim characterized in that the validity determination information is information in which a hash code created from the execution information and the machine-specific information are encrypted information.6Information processing method described in. 前記正当性判断用情報は、前記実行情報から作成されたハッシュコードと前記機体固有情報とが暗号化された情報であること、 を特徴とする請求項6に記載の情報処理方法。
- 8With respect to the storage medium in which the execution information and the legitimacy determination information are stored, the legitimacy determination procedure for determining the legitimacy of the program based on the legitimacy of the legitimacy determination information is provided. The procedure is to collate the validity of the legitimacy determination information with the hash code created from the execution information and the hash code obtained by decoding the legitimacy determination information, and to match the aircraft-specific information with the aircraft-specific information. A claim characterized in that the judgment is made by deciphering the legitimacy judgment information and collating it with the aircraft-specific information obtained.7Described information processing method. 前記実行情報と前記正当性判断用情報とが記憶された前記記憶媒体について、前記プログラムの正当性を当該正当性判断用情報の正当性をもって判断する正当性判断手順を有し、 前記正当性判断手順は、前記正当性判断用情報の正当性を、前記実行情報から作成されたハッシュコードと前記正当性判断用情報を復号化して取得されたハッシュコードとの照合と、前記機体固有情報と前記正当性判断用情報を復号化して取得された機体固有情報との照合と、をもって判断すること、 を特徴とする請求項7記載の情情報処理方法。
- 9An information processing device capable of inserting and removing a storage medium in which a program is stored can be used to identify execution information for executing the program in the information processing device from an external device via a network and a version of the execution information. To determine the validity of the program based on the acquisition means for acquiring one version information, the machine-specific information unique to the machine of the information processing device acquired from the information processing device, and the execution information. A storage means for generating the validity judgment information and storing the validity judgment information, the execution information, and the first version information of the execution information in the inserted storage medium. The receiving means for receiving the second version information capable of identifying the version of the execution information from the external device via the network, the first version information stored in the storage medium, and the receiving means for receiving the information. When it is determined that the execution information possessed by the external device has been updated based on the second version information, the legitimacy determination information stored in the storage medium is transmitted to the external device. An information processing program to function as a means. プログラムが記憶された記憶媒体を挿抜可能とする情報処理装置に、 外部装置からネットワークを介して前記プログラムを前記情報処理装置で実行するための実行情報と、当該実行情報のバージョンを識別可能な第一のバージョン情報とを取得する取得手段と、 前記情報処理装置内から取得した該情報処理装置の機体に固有な機体固有情報と前記実行情報とに基づき、前記プログラムの正当性を判断するための正当性判断用情報を生成する生成手段と、 挿入された記憶媒体に対して、前記正当性判断用情報と、前記実行情報と、当該実行情報の前記第一のバージョン情報とを記憶する記憶手段と、 前記外部装置からネットワークを介して実行情報のバージョンを識別可能な第二のバージョン情報を受信する受信手段と、 前記記憶媒体に記憶された第一のバージョン情報と、前記受信手段により受信された第二のバージョン情報とに基づいて、前記外部装置の有する実行情報が更新されていると判定された場合、前記記憶媒体に記憶された正当性判断用情報を、前記外部装置に送信する送信手段として機能させるための情報処理プログラム。
- 10From the inserted storage medium, the updated execution information of the external device, the second version information of the execution information, and the validity judgment information for judging the validity of the program based on the execution information. Claims for functioning as an insertion acquisition means9Information processing program described in. 挿入された記憶媒体から、前記外部装置の更新された実行情報と、当該実行情報の前記第二のバージョン情報と、当該実行情報に基づくプログラムの正当性を判断するための正当性判断用情報とを取得する挿入取得手段として機能させるための請求項9に記載の情報処理プログラム。
- 11A claim characterized in that the validity determination information is information in which a hash code created from the execution information and the machine-specific information are encrypted information.9 or 10Information processing program described in. 前記正当性判断用情報は、前記実行情報から作成されたハッシュコードと前記機体固有情報とが暗号化された情報であること、 を特徴とする請求項9又は10に記載の情報処理プログラム。
- 12The storage medium in which the execution information and the legitimacy determination information are stored is made to function as a legitimacy determination means for determining the legitimacy of the program with the legitimacy of the legitimacy determination information, and the legitimacy determination is performed. The means is to collate the validity of the legitimacy determination information with the hash code created from the execution information and the hash code obtained by decoding the legitimacy determination information, and to match the aircraft-specific information with the aircraft-specific information. A claim characterized in that the judgment is made by deciphering the legitimacy judgment information and collating it with the aircraft-specific information obtained.11The information processing program described. 前記実行情報と前記正当性判断用情報とが記憶された前記記憶媒体について、前記プログラムの正当性を当該正当性判断用情報の正当性をもって判断する正当性判断手段として機能させ、 前記正当性判断手段は、前記正当性判断用情報の正当性を、前記実行情報から作成されたハッシュコードと前記正当性判断用情報を復号化して取得されたハッシュコードとの照合と、前記機体固有情報と前記正当性判断用情報を復号化して取得された機体固有情報との照合と、をもって判断すること、 を特徴とする請求項11記載の情報処理プログラム。
Independent claims9
83 paragraphs, as filed
The present invention relates to 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 secondary function, an information processing method, an information processing program, and a recording medium such as a CD-ROM. Regarding. A personal computer is a specific example of an information device having an information processing function as a main function. As a specific example of an electric device having an information processing function as a secondary function, there is an image forming apparatus such as a copy / printer / scanner / facsimile / multifunction device / fusion device, which has been remarkably advanced in the information processing function in recent years.
In recent years, multifunction devices and fusion machines having a copy function, a printer function, a scanner function, and a facsimile function have become commercially available. When a multifunction device or a fusion device functions as a copy or printer, it prints an image on printing paper, and when it functions as a copy or scanner, it reads an image from a scanned original and serves as a facsimile. If it works, the image will be exchanged with other devices via the telephone line.
<p num="0003">In a multifunction device or a fusion device, various information processing is executed by various programs such as applications and platforms. These programs are usually implemented in these devices before the shipment of these devices, but it would be convenient if these programs could be implemented in these devices after the shipment of these devices. .. To do this, a "memory card" in which these programs are stored may be set in these devices so that these programs can be implemented in these devices. This will come in handy when the device manufacturer allows the device vendor to develop the program.</p><p num="0004">The problem at this time is copying and tampering with the program. For example, copying a program may cause a loss of sales profit of the program due to illegal copying of the program, and falsification of the program may cause, for example, tampering with the rental profit of the multifunction device or the fusion device due to an illegal version upgrade of the multifunction device or the fusion device. Loss can be a problem. The former problem is a life-and-death problem for the above vendors, and the latter problem is a life-and-death problem for the above manufacturers.</p><p num="0005">Therefore, the present invention uses a "storage medium" such as a memory card in which a program is stored to mount the program on an "information processing device" such as an image forming apparatus, and copies and falsifies the program. The challenge is to prevent it.</p>
<p num="0006"> The information processing device according to the present invention is an information processing device capable of inserting and removing a storage medium in which a program is stored, and includes execution information for executing the program in the information processing device from an external device via a network. Based on the acquisition means for acquiring the first version information that can identify the version of the execution information, the machine-specific information unique to the machine of the information processing device acquired from the information processing device, and the execution information. , The generation means for generating the validity judgment information for judging the validity of the program, the validity judgment information, the execution information, and the execution information of the inserted storage medium. A storage means for storing the first version information, a receiving means for receiving the second version information capable of identifying the version of the execution information from the external device via the network, and the first stored in the storage medium. When it is determined that the execution information possessed by the external device has been updated based on the version information of the above and the second version information received by the receiving means, the validity determination stored in the storage medium is determined. It is provided with a transmission means for transmitting information for use to the external device.</p>
<p num="0007">As described above, the present invention is a copy of a program when the program is mounted on an "information processing device" such as an image forming apparatus by using a "storage medium" such as a memory card in which the program is stored. It is possible to prevent tampering.</p>
<figref num="1">Represents a fusion machine corresponding to an embodiment of the present invention.</figref><figref num="2">It is a hardware configuration diagram which concerns on the fusion machine of FIG.</figref><figref num="3">It is an external view which concerns on the fusion machine of FIG.</figref><figref num="4">Represents the operation panel.</figref><figref num="5">Represents the fusion machine starter.</figref><figref num="6">Represents SD memory card slots and software related to SD memory cards.</figref><figref num="7">It is a figure for demonstrating the application authentication process.</figref><figref num="8">It is a flowchart which concerns on the process of FIG.</figref><figref num="9">It is a functional block diagram which concerns on the process of FIG.</figref><figref num="10">It is a functional block diagram which concerns on the modification of the process of FIG.</figref><figref num="11">It is a figure for demonstrating the file in the SD memory card.</figref><figref num="12">Here is an example of the syntax of a JNLP file.</figref><figref num="13">It is a figure for demonstrating the storage of a file in an SD memory card.</figref><figref num="14">It is a figure for demonstrating the storage of a file in an SD memory card.</figref><figref num="15">It is a sequence diagram related to the version upgrade process of the JSDK application.</figref><figref num="16">It is a figure for demonstrating the password for image formation processing.</figref><figref num="17">It is a flowchart about password addition processing.</figref><figref num="18">It is a flowchart related to a password verification process.</figref><figref num="19">It is a figure for demonstrating the key for image formation processing.</figref><figref num="20">It is a flowchart related to the encryption process.</figref><figref num="21">It is a flowchart related to the decoding process.</figref><figref num="22">Represents an information processing device corresponding to an embodiment of the present invention.</figref>
FIG. 22 shows an information processing device 11 corresponding to an embodiment of the present invention. The information processing device 11 of FIG. 22 is composed of various hardware 21, various software 22, and an activation unit 23.
The hardware 21 of the information processing device 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. There is a part.
As software 22 of the information processing device 11, various applications 31 and various platforms 32 exist. Platform 32 includes a module that controls the information processing unit, a module that controls the communication unit, a module that controls the operation display unit, a module that controls authentication processing, a module that controls user information management, and a system. There is a module that controls the management of. These programs are executed in parallel on a process-by-process basis by an OS (operating system) such as UNIX (registered trademark).
The activation unit 23 is first executed when the power of the information processing device 11 is turned on. As a result, an OS such as UNIX (registered trademark) is started, and application 31 and platform 32 are started. These programs are stored in the HDD or memory card, are played back from the HDD or memory card, and are started in RAM.
Specific examples of the information processing device 11 in FIG. 22 include an information device having an information processing function as a main function / an electric device having an information processing function as a secondary function. A personal computer is a specific example of an information device having an information processing function as its main function. As a specific example of an electric device having an information processing function as a secondary function, there is an image forming apparatus such as a copy / printer / scanner / facsimile / multifunction device / fusion device, which has been remarkably advanced in the information processing function in recent years. Hereinafter, the fusion machine 101, which is a specific example of the information processing device 11, will be described.
FIG. 1 represents a fusion machine 101 corresponding to an embodiment of the present invention. The fusion machine 101 of FIG. 1 is composed of various hardware 111, various software 112, and a fusion machine activation unit 113.
As the hardware 111 of the fusion machine 101, there are an imaging unit 121, a printing unit 122, and other hardware 123. The image pickup unit 121 is hardware for reading an image (image data) from a scanned document. The printing unit 122 is hardware for printing an image (image data) on printing paper.
As software 112 of the fusion machine 101, there are various applications 131 and various platforms 132. These programs are executed in parallel on a process-by-process basis by an OS (operating system) such as UNIX (registered trademark).
The application 131 includes a copy application 141, which is a copy application, a printer application 142, which is a printer application, a scanner application 143, which is a scanner application, a facsimile application 144, which is a facsimile application, and an application for network files. There is a network file app 145 that is.
Application 131 can be developed using a dedicated SDK (Software Development Kit). Application 131 developed using SDK is called SDK application. As a dedicated SDK, "CSDK" for developing application 131 in C language and "JSDK" for developing application 131 in Java (registered trademark) language are provided. The application 131 developed using CSDK is called a "CSDK application", and the application 131 developed using JSDK is called a "JSDK application". The fusion machine 101 in FIG. 1 also has the CSVK application 146 and the JSDK application 147. Further, in the fusion machine 101 of FIG. 1, the JSDK platform 148 exists as the software 112 that mediates between the JSDK application 147 written in the Java (registered trademark) language and the other software 112 written in the C language.
Platform 132 includes various control services 151, system resource manager 152, and various handlers 153. The control service 151 includes network control service (NCS) 161, facsimile control service (FCS) 162, delivery control service (DCS) 163, engine control service (ECS) 164, memory control service (MCS) 165, and operation panel control service. There are (OCS) 166, Certification Control Service (CCS) 167, User Directory Control Service (UCS) 168, and 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.
The NCS161 process mediates network communication. The FCS162 process provides a facsimile API. The DCS163 process controls the distribution process of stored documents. The ECS164 process controls the imaging unit 121 and the printing unit 122. The MCS165 process controls memory and hard disk drives. The OCS166 process controls the operations panel. The CCS167 process controls authentication processing and billing processing. The UCS168 process controls the management of user information. The SCS169 process controls the management of the system.
Virtual application service (VAS) 135 exists as software 112 that mediates between application 131 and platform 132. VAS135 operates as a server process with application 131 as a client and as a client process with platform 132 as a server. The VAS135 has a wrapping function that hides the platform 132 when viewed from the application 131, and plays a role of absorbing the version difference due to the version upgrade of the platform 132.
The fusion machine activation unit 113 is first executed when the power of the fusion machine 101 is turned on. As a result, an OS such as UNIX (registered trademark) is started, and application 131 and platform 132 are started. These programs are stored in the hard disk drive or the memory card, are played from the hard disk drive or the memory card, and are started in the memory.
FIG. 2 is a hardware configuration diagram relating to the fusion machine 101 of FIG. The hardware 111 of the fusion machine 101 includes a controller 201, an operation panel 202, a facsimile control unit (FCU) 203, an imaging unit 121, and a printing unit 122.
The controller 201 is CPU 211, ASIC212, NB221, SB222, MEM-P231, MEM-C232, HDD (hard disk drive) 233, memory card slot 234, NIC (network interface controller) 241, USB device 242, IEEE1394 device 243, Centronics device. It is composed of 244.
CPU211 is an IC for various information processing. The ASIC212 is an IC for various image processing. NB221 is the north bridge of controller 201. SB222 is the south bridge of controller 201. The MEM-P231 is the system memory of the fusion machine 101. The MEM-C232 is the local memory of the fusion machine 101. HDD233 is the storage of the fusion machine 101. The memory card slot 234 is a slot for setting the memory card 235. NIC241 is a controller for network communication by MAC address. The USB device 242 is a device for providing a USB standard connection terminal. The IEEE1394 device 243 is a device for providing a connection terminal of the IEEE1394 standard. The Centronics device 244 is a device for providing a Centronics specification connection terminal.
The operation panel 202 is hardware (operation unit) for the operator to input to the fusion machine 101, and hardware (display unit) for the operator to obtain output from the fusion machine 101.
FIG. 3 is an external view of the fusion machine 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. Further, FIG. 3 shows a document setting section 301 for setting the scanned document, a paper feeding section 302 for feeding the printing paper, and a paper ejection section 303 for printing the printing paper. ..
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, a function key 315, and an initial setting button 316. The touch panel 311 is hardware (touch operation unit) for inputting by touch operation and hardware (screen display unit) for obtaining output by screen display. The numeric keypad 312 is hardware for inputting numbers by key (button) operation. The start button 313 is hardware for performing a start operation by operating a button. The reset button 314 is hardware for performing a reset operation by operating a button. The function key 315 is hardware for displaying the operation screen by the CSDK application 146 or the JSDK application 147 by key (button) operation. The initial setting button 316 is hardware for displaying the initial setting screen by button operation.
The document setting unit 301 is composed of an ADF (automatic document transfer device) 321, a flat bed 322, and a flat bed cover 323. The paper feed unit 302 is composed of four paper feed trays. The paper ejection unit 303 is composed of one paper ejection tray.
(Fusion machine starter) The fusion machine starting unit 113 of FIG. 1 will be described.
As shown in FIG. 5, the fusion machine starting unit 113 is composed of a memory monitor unit 501 and a program starting unit 502.
When the power of the fusion machine 101 shown in FIG. 1 is turned on, the BIOS and the boot loader constituting the memory monitor unit 501 are started, and the OS such as UNIX (registered trademark) is started by this. Subsequently, the start processing program constituting the program start unit 502 is started, and the application 131 and the platform 132 are started as appropriate. When UNIX (registered trademark) is started, the UNIX (registered trademark) kernel is started, the root file system is expanded, and the file system related to application 131 and platform 132 is mounted on the root file system. It will be.
(Memory card) The memory card slot 234 and the memory card 235 of FIG. 2 will be described.
The memory card slot 234 is a slot for setting (inserting) the memory card 235 in which programs such as the application 131 and the platform 132 are stored. In the fusion machine 101 of FIG. 1, programs such as the application 131 and the platform 132 are stored in the memory card 235 and the like set in the memory card slot 234, and the memory card 235 set in the memory card slot 234. It will be played back from the above and will be started by MEM-P231 or MEM-C232.
As the memory card 235, an SD (Secure Digital) memory card, which is a type of flash memory card, will be adopted. By adopting an SD memory card, for example, it is possible to enjoy the advantage that a large capacity memory can be used at low cost. As the memory card slot 234, an SD memory card slot is adopted.
As shown in FIG. 6, the fusion machine 101 of FIG. 1 has an SD memory card access driver as software related to the SD memory card slot 601 and the SD memory card 602 (corresponding to the memory card slot 234 and the memory card 235). There are (SDaccess) 611, SD memory card status driver (SDstates) 612, boot processing program 613, and SD memory card check program (SDcheck) 614.
SDaccess611 is a driver that executes access control to the SD memory card 602, such as detecting the insertion / removal of the SD memory card 602. SDstates612 is a driver that manages information related to insertion / removal / mounting / unmounting of the SD memory card 602. The start processing program 613 is a program that constitutes the program start unit 502 of FIG. SDcheck614 is a program that mounts and unmounts the SD memory card 602.
When the SD memory card 602 is inserted into the SD memory card slot 601, SDaccess611 detects that the SD memory card 602 has been inserted (S1) and notifies SDstates 612 of that fact (S2). In response to this, SDstates612 manages the information that the SD memory card 602 has been inserted, and notifies the boot processing program 613 to that effect (S3). In response to this, the boot processing program 613 boots (S4) SDcheck614 in order to mount the SD memory card 602. In response to this, SDcheck614 mounts the SD memory card 602 (S5) and notifies SDstates 612 of that (S6). In response to this, SDstates612 manages the information that the SD memory card 602 is mounted, and notifies the boot processing program 613 and the like (S7) to that effect.
When the SD memory card 602 is pulled out from the SD memory card slot 601, SDaccess611 detects that the SD memory card 602 has been pulled out (S1) and notifies SDstates 612 of that fact (S2). In response to this, SDstates612 decides to manage the information that the SD memory card 602 has been pulled out, and notifies the boot processing program 613 to that effect (S3). In response to this, the boot processing program 613 boots (S4) SDcheck614 in order to execute the unmounting of the SD memory card 602. In response, SDcheck614 unmounts the SD memory card 602 (S5) and notifies SDstates 612 of that (S6). In response to this, SDstates612 manages the information that the SD memory card 602 has been unmounted, and notifies the boot processing program 613 and the like (S7) to that effect.
By adopting an SD memory card, you can enjoy the merit of enabling so-called hot-swap insertion and removal. That is, the operation of inserting the SD memory card 602 into the SD memory card slot 601 and the operation of removing the SD memory card 602 from the SD memory card slot 601 can be executed after the fusion machine 101 is started.
(App authentication process) The application authentication process will be described.
FIG. 7 is a diagram for explaining the application authentication process. The "application authentication process" described below is a series of operations to prevent falsification and copying of the application 131 for the fusion machine 101 until the application 131 for the fusion machine 101 is implemented in the fusion machine 101. It is a process.
In the first stage of the application authentication process, the aircraft number acquisition process is performed. First, the operator sets the SD memory card 602 in the SD memory card slot 601 of the fusion machine 101 on which the application 131 is to be mounted. Next, the operator performs an operation for storing the machine number of the fusion machine 101 in the SD memory card 602 using the UI provided to the operation panel 202 by VAS135. As a result, the VAS135 acquires the machine number of the fusion machine 101 from the inside of the fusion machine 101, and stores the machine number of the fusion machine 101 as a "machine number file" in the SD memory card 602 (S701). The machine number of the fusion machine 101 is a number unique to each machine of the fusion machine 101.
In the second stage of the application authentication process, the application application process is carried out. First, the operator sets the SD memory card 602 in the PC701 via the first stage of the application authentication process. The PC701 will acquire the "machine number file" (S702) from the SD memory card 602. Next, the operator performs the application operation of the application on the PC701. As a result, the application data is transmitted (S703) from the PC 701 to the application server 702. As application data, the above-mentioned application 131 executable file, the above-mentioned machine number file, applicant data, application date / time data, machine number type setting information, machine number number setting information, etc. are transmitted. In response to this, the application server 702 will create a key file (S704) from the application data. The key file includes the hash code created from the above executable file, the aircraft number obtained from the above aircraft number file, the applicant data, the application date and time data, the aircraft number type setting information, the number of aircraft number setting information, Etc. are encrypted together with the key data is stored. As a result, the key file is sent (S705) from the application server 702 to the PC701. In response to this, the PC701 stores (S706) the above-mentioned "executable file" and the above-mentioned "key file" in the SD memory card 602.
In the third stage of the application authentication process, the validity judgment process of the application is carried out. First, the operator sets the SD memory card 602 that has passed through the second stage of the application authentication process into the SD memory card slot 601 of the above-mentioned fusion machine 101. The VAS135 will acquire the "executable file" and "key file" from the SD memory card 602 (S707). Then, VAS135 determines the validity of the application 131 related to the executable file based on the validity of the key data related to the key file (S708).
The details of S708 will be described. First, VAS135 decodes the key data acquired from the key file and acquires the hash code (called hash code A) and the machine number (called machine number A) (S708A). Next, VAS135 creates a hash code (called hash code B) from the above executable file (S708B). Next, the VAS135 acquires the machine number (referred to as the machine number B) of the fusion machine 101 from the inside of the fusion machine 101 (S708C). Next, VAS135 determines the validity of hash code A (S708D) by collating hash code A with hash code B. If they match, it is justified, and if they do not match, it is unjust. Next, VAS135 determines the validity of the aircraft number A by collating the aircraft number A with the aircraft number B (S708E). If they match, it is justified, and if they do not match, it is unjust.
VAS135 judges the validity of the key data related to the key file based on the validity of the hash code A and the validity of the machine number A (S708). If the hash code A and the aircraft number A are determined to be valid, the key data is determined to be valid, and if the hash code A or the aircraft number A is determined to be invalid, the key data is determined to be invalid. Then, VAS135 creates a new key file (S709) from the hash data B and the machine number B, and replaces the old key file in the above SD memory card 602 with a new key file (S710).
According to the hash code validation process (S708D), it is possible to check for tampering with application 131. This is because the hash codes do not match when application 131 has been tampered with. As a result, falsification of application 131 is prevented.
According to the machine number validation process (S708E), a copy of application 131 can be checked. This is because even if application 131 is copied and implemented on another fusion machine 101, the machine numbers do not match. This will prevent copying of application 131.
Therefore, according to the legitimacy judgment process (S708) of the application, tampering and copying of the application 131 are prevented.
In the second stage S704, a key file whose aircraft is undecided may be created. This is because it may be difficult or troublesome to obtain the aircraft number as in the first stage. In this case, in the third stage S708E, it will always be judged to be valid, and in the third stage S710, the key file of the undecided aircraft will be replaced with the key file unique to the aircraft. In the key file of the undecided aircraft, the aircraft number "0" indicating the undecided aircraft is stored. By the way, in order to allow the key file whose aircraft is undecided, it is premised that the operator who executes the application authentication process is a reliable person. However, since the applicant data is stored in the key file, it can be said that the responsibility of the operator is clarified and the operator's fraud is psychologically suppressed. Furthermore, a machine-free key file may be set.
As the copy protection data of the application 131, the MAC address of the fusion machine 101 or the IP address of the fusion machine 101 may be used instead of the machine number of the fusion machine 101. The data may be unique to each machine of the fusion machine 101. These are stored in the MAC address file or IP address file instead of the machine number file.
FIG. 8 is a flowchart of the process of FIG. 7 executed by the fusion machine 101. The processing of S707, S708A, S708B, S708C, S708D, S708E, S709, S710 in FIG. 8 corresponds to the processing of S707, S708A, S708B, S708C, S708D, S708E, S709, S710 in FIG. 7, respectively. Branch 1 in FIG. 8 corresponds to a branch of whether or not the aircraft is undecided. If the aircraft is undecided, the processing of S709 and the processing of S710 are executed. If the aircraft is not undecided, authentication is OK (process 1) if the hash code A and aircraft number A are judged to be valid, and authentication is NG if the hash code A or aircraft number A is judged to be invalid (process 2). ).
In addition, the type setting information of the aircraft number (whether the aircraft number is undecided or default or free) and the number setting information of the aircraft number (how many aircraft numbers (how many aircraft numbers) are stored) are the keys. When stored in a file, the machine number type setting information check process (S801) and the machine number number setting information check process (S802) are executed between the S707 process and the S708 process. You may. If S801 is "undecided", branch 1 will be "Yes", if S801 is "regular", branch 1 will be "No", if S801 is "free", branch 1 will be "No" and S708E will always be "Yes". "become. If the number of S802s is "N", the subsequent processing will be a maximum of "N times" of loop processing.
FIG. 9 shows the processing of FIG. 7 executed by the fusion machine 101 in a functional block diagram. The SD card reading unit 707 is a functional block that executes the processing of S707. The key file processing unit 708A is a functional block that executes the processing of S708A. The executable file processing unit 708B is a functional block that executes the processing of S708B. The aircraft number acquisition unit 708C is a functional block that executes the processing of S708C. The hash code collation unit 708D is a functional block that executes the processing of S708D. The machine number collation unit 708E is a functional block that executes the processing of S708E. The new key file creation unit 709 is a functional block that executes the processing of S709. The SD card writing unit 710 is a functional block that executes the processing of S710. The installation unit 720 is a functional block that installs the application 131 determined to be legitimate to the HDD or NVRAM of the fusion machine 101. The update unit 730 is an application 131 that is determined to be legitimate, and is a functional block that updates (updates) the application 131 installed in the HDD or NVRAM of the fusion machine 101.
The fusion machine 101 may be provided with a function of acquiring an execution file from the network and storing the execution file in the SD memory card 602. In this case, the processing of S709 and the processing of S710 are executed as in the case where the aircraft is undecided. FIG. 10 shows this situation in a functional block diagram. The network connection unit 740 acquires the executable file from the network. The execution file processing unit 708B, the machine number acquisition unit 708C, the new key file creation unit 709, and the SD card writing unit 710 execute the processing of S708B, S708C, S709, and S710, respectively. The SD card writing unit 710 has a function of storing an execution file and a key file in the SD memory card 710.
Here, the case where the application 131 is the JSDK application 147 will be described. When the application 131 is the JSDK application 147, as shown in FIG. 11, the JAR file, the key file related to the JAR file, and the JAR file are stored in the SD memory card 602 set in the fusion machine 101. Save the JNLP file. The JAR file is the executable file of JSDK application 147. The JNLP file has a one-to-one correspondence with the JAR file and contains information related to the definition of the JAR file. As shown in FIG. 11, the JNLP file stores the URL of the JSDK application 147, the version of the JSDK application 147, the product ID of the JSDK application 147, and the e-mail address for the version upgrade notification. The JNLP file is an XML file, and the JNLP file format conforms to the JNLP standard. An example of the syntax of the JNLP file is shown in Fig. 12.
As shown in Fig. 13, the above JAR file, key file, and JNLP file are acquired from the server (S11) by the PC, transferred from the PC to the fusion machine 101 (S12), and stored in the SD memory card 602 by the fusion machine 101. It may be (S13), or as shown in FIG. 14, it may be acquired from the server (S21) by the PC and stored in the SD memory card 602 (S22) by the PC. In the former case, the operator will set the SD memory card 602 in the fusion machine 101 from the beginning, and in the latter case, the operator will transfer the SD memory card from the PC to the fusion machine 101 (S23). It will be a thing. In these cases, a series of processes as shown in FIGS. 7, 8 and 9 and a series of processes as shown in FIG. 10 may be executed.
FIG. 15 is a sequence diagram related to the version upgrade (update) process of the JSDK application 147. First, the fusion machine 101 acquires the URL of the JSDK application 147 from the SD memory card 602 (S31), and acquires the version information of the JSDK application 147 from the server (S32). When the version of JSDK application 147 is updated (S33), the key file and e-mail address (stored in the JNLP file) are sent from the fusion machine 101 to the server (S34). In response to this, an email is sent from the server to the PC notifying the update of the version of JSDK application 147 (S35). The above e-mail address is used as the destination of the e-mail. The version upgrade ID is attached to the email.
When it is input on the screen of the PC that the version of the JSDK application 147 is to be upgraded (S41), the version upgrade ID is sent from the PC to the server (S42). In response, the server creates a key file (S43). Following this, the new JAR file, key file, and JNLP file are transferred (S44) from the server to the PC.
When data conversion is required due to version upgrade (S51), a data conversion request is sent from the fusion machine 101 to the server (S52). In response, the server performs data conversion (S53). Following this, the conversion data is transmitted (S54) from the server to the PC.
Subsequently, the PC stores the new JAR file, key file, and JNLP file in the SD memory card 602 (S61). Then, the operator transfers the SD memory card 602 from the PC to the fusion machine 101.
(Image formation processing) The image forming process executed by the fusion machine 101 of FIG. 1 will be described in relation to the application authentication process.
FIG. 16 is a diagram for explaining a password 741 for image formation processing created by VAS135.
Here, when the scanner application 143 reads the image data stored in the fusion machine 101 from the scanned document, the scanner application 143 adds the password 741 created by VAS135 to the image data and locks the image data with "password lock". Similarly, when the facsimile application 144 or the network file application 145 receives the image data stored in the fusion machine 101 from the network, the facsimile application 144 adds the password 741 created by the VAS135 to the image data, and adds a "password" to the image data. "Lock".
Here, when the printer application 142 prints the image data stored in the fusion machine 101 on printing paper, the printer application 142 collates the password 741 created by VAS135 with the password 741 added to the image data. Perform a "password check" on the image data. Similarly, when the facsimile application 144 and the network file application 145 transmit the above image data stored in the fusion machine 101 to the network, the password 741 created by VAS135 and the password 741 added to the image data are collated. Then, "password check" of the image data is performed.
The password 741 is, for example, data unique to the SD memory card 602 set in the SD memory card slot 601 of the fusion machine 101. In this case, if the SD memory card 602 is replaced between the end of the reading process and the receiving process of a certain image data and the start of the printing process and the transmitting process, the printing process and the transmitting process of the image data cannot be executed. , SD memory card 602 can be prevented from being replaced. If there is a possibility that the SD memory card 602 is fraudulent, the image formation process will be restricted, so that the above application authentication process will be more effective. The password 741 is created by using, for example, an SD serial ID which is an ID (identification information) unique to each SD memory card 602. The above matters can also be applied to the prevention of replacement of HDD233.
The password 741 is, for example, data unique to the machine of the fusion machine 101. In this case, even if the SD memory card 602 in which the image data is stored is replaced with the fusion machine 101 from another machine, the fusion machine 101 cannot execute the printing process or the transmission processing of the image data. This prevents replacement of the SD memory card 602 in which image data is stored. If there is a possibility that the SD memory card 602, which is the storage destination of the image data, is fraudulent, the image formation process is restricted, so that the above application authentication process becomes more effective. The password 741 is created, for example, by using the machine number, which is a unique number for each machine of the fusion machine 101. The above matters can also be applied to the prevention of replacement of the HDD 233 in which the image data is stored.
FIG. 17 is a flowchart relating to the above password addition process.
When the printer application 142 or the like reads the image data to be stored in the fusion machine 101 from the scanned document or receives it from the network (S101), the VAS135 creates the password 741 (S102). Subsequently, the printer application 142 or the like adds a password 741 created by VAS135 to the image data (S103) to lock the image data. Subsequently, the image data is accumulated in the fusion machine 101.
FIG. 18 is a flowchart relating to the above password verification process.
When the image data to be printed on the printing paper or transmitted to the network is specified from the image data stored in the fusion machine 101, VAS135 creates the password 741 (S111). Subsequently, the printer application 142 or the like checks the password of the image data by collating (S112) the password 741 created by VAS135 with the password 741 added to the image data. Subsequently, the printer application 142 or the like prints the image data on printing paper or transmits it to the network on the condition that the password verification result of the image data is positive (S113).
FIG. 19 is a diagram for explaining a key 742 for image forming processing created by VAS135.
Here, when the scanner application 143 reads the image data stored in the fusion machine 101 from the scanned document, the scanner application 143 encrypts the image data from "original image data" to "scrambled image data" with the key 742 created by VAS135. To do. Similarly, when the facsimile application 144 or the network file application 145 receives the image data stored in the fusion machine 101 from the network, the facsimile application 144 or the network file application 145 uses the key 742 created by the VAS 135 to change the image data from the "original image data" to the "scrambled image". Encrypt to "data".
Here, when the printer application 142 prints the above image data stored in the fusion machine 101 on printing paper, the printer application 142 changes the image data from "scrambled image data" to "original image data" with the key 741 created by VAS135. Decrypt. Similarly, when the facsimile application 144 and the network file application 145 transmit the above image data stored in the fusion machine 101 to the network, the image data is transferred from the "scramble image data" to the "scramble image data" with the key 741 created by the VAS 135. Decode to "original image data".
The key 742 is, for example, encryption data unique to the SD memory card 602 set in the SD memory card slot 601 of the fusion machine 101. In this case, if the SD memory card 602 is replaced between the end of the reading process and the receiving process of a certain image data and the start of the printing process and the transmitting process, the printing process and the transmitting process of the image data cannot be executed. , SD memory card 602 can be prevented from being replaced. If there is a possibility that the SD memory card 602 is fraudulent, the image formation process will be restricted, so that the application authentication process will be more effective. The key 742 is created by using, for example, an SD serial ID which is an ID (identification information) unique to each SD memory card. The above matters can also be applied to the prevention of replacement of HDD233.
The key 742 is, for example, encryption data unique to the machine of the fusion machine 101. In this case, even if the SD memory card 602 in which the image data is stored is replaced with the fusion machine 101 from another machine, the fusion machine 101 cannot execute the printing process or the transmission processing of the image data. This prevents replacement of the SD memory card 602 in which image data is stored. If there is a possibility that the SD memory card 602, which is the storage destination of the image data, is fraudulent, the image formation process is restricted, so that the application authentication process becomes more effective. The key 742 is created, for example, by using the machine number, which is a unique number for each machine of the fusion machine 101. The above matters can also be applied to the prevention of replacement of the HDD 233 in which the image data is stored.
FIG. 20 is a flowchart relating to the above encryption process.
When the printer application 142 or the like reads the image data to be stored in the fusion machine 101 from the scanned document or receives it from the network (S201), the VAS135 creates the key 742 (S202). Subsequently, the printer application 142 or the like encrypts (S203) the image data with the key 742 created by VAS135. Subsequently, the image data is accumulated in the fusion machine 101.
FIG. 21 is a flowchart relating to the above decoding process.
When the image data to be printed on the printing paper or transmitted to the network is specified from the image data stored in the fusion machine 101, the VAS135 creates the key 742 (S211). Subsequently, the printer application 142 or the like decodes (S212) the image data with the key 742 created by VAS135. Subsequently, the printer application 142 or the like prints the image data on printing paper or transmits it to the network on the condition that the decoding process of the image data is "successful" (S213).
In the above image forming process, the password 741 and the key 742 may be used together for the same image data. Further, in the above image forming process, when two or more SD memory cards 602 are set in one fusion machine 101, the password 741 and the key 742 are set as the data unique to the specific SD memory card 602. It may be.
(Modification example) The fusion machine 101 of FIG. 1 corresponds to an embodiment of the "information processing apparatus" of the present invention, and the information processing executed by the fusion machine 101 of FIG. 1 corresponds to an embodiment of the "information processing method" of the present invention. .. The computer program that causes the computer to execute the information processing corresponds to the embodiment of the "information processing program" of the present invention, and the CD-ROM in which the computer program that causes the computer to execute the information processing is recorded is the "recording medium" of the present invention. It corresponds to the example of.
11 Information processing equipment 21 hardware 22 Software 23 Starter 31 application 32 platforms 101 Fusion machine 111 hardware 112 Software 113 Fusion machine starter 121 Imaging unit 122 Printing section 123 Other hardware 131 application 132 platform 133 Application Program Interface 134 engine interface 135 Virtual Application Services 141 Copy app 142 Printer App 143 Scanner app 144 Facsimile app 145 Network File App 151 Control service 152 System Resource Manager 153 Handler 161 Network Control Service 162 Facsimile Control Service 163 Delivery Control Service 164 Engine control service 165 Memory Control Service 166 Operations 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 Operations 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 IEEE1394 device 244 Centronics device 301 Document set section 302 Paper feed section 303 Paper output section 311 touch panel 312 numeric keypad 313 Start button 314 reset button 315 Function key 316 Initial setting button 321 ADF 322 flat bed 323 flat bedspread 501 memory monitor 502 Program starter 601 SD memory card slot 602 SD memory card 611 SD memory card access driver 612 SD memory card status driver 613 Program for startup processing 614 SD memory card check program 701 PC 702 Application server 707 SD card reader 708A Key file processing unit 708B Executable file processing unit 708C Aircraft number acquisition department 708D hash code collation unit 708E Aircraft number verification unit 709 New key file creation department 710 SD card writing unit 720 installation section 730 update section 740 Network connection 741 password 742 keys
<p num="0085"><patcit num="1"><text>Japanese Unexamined Patent Publication No. 2002-84383</text></patcit></p>
22 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22
Every citation, both ways
| Document | Relation | Office |
|---|---|---|
| JP2001229018A | Cites | Japan |
26 members in 4 offices
Priority claims32
| Document | Office | Kind | Date |
|---|---|---|---|
| 2003292012 | Japan | A | |
| 2003292012 | Japan | A | |
| 2003292012 | Japan | – | |
| 2003292013 | Japan | A | |
| 2003292013 | Japan | A | |
| 2003292013 | Japan | – | |
| 2003292014 | Japan | A | |
| 2003292014 | Japan | A | |
| 2003292014 | Japan | – | |
| 2003292015 | Japan | A | |
| 2003292015 | Japan | A | |
| 2003292015 | Japan | – | |
| 2003292016 | Japan | A | |
| 2003292016 | Japan | A | |
| 2003292016 | Japan | – | |
| 2004081476 | Japan | A | |
| 2004081476 | Japan | A | |
| 2004081476 | Japan | – | |
| 2013186018 | Japan | A | |
| 2003292012 | – | – | – |
| 2003292013 | – | – | – |
| 2003292014 | – | – | – |
| 2003292015 | – | – | – |
| 2003292016 | – | – | – |
| 2004081476 | – | – | – |
| JP20030292012 | – | – | – |
| JP20030292013 | – | – | – |
| JP20030292014 | – | – | – |
| JP20030292015 | – | – | – |
| JP20030292016 | – | – | – |
| JP20040081476 | – | – | – |
| JP20130186018 | – | – | – |
Members26
| Document | Office | Kind | |
|---|---|---|---|
| EP1507186A2 | European Patent Office (EPO) | A2 | |
| EP1510902A2 | European Patent Office (EPO) | A2 | |
| US2005071648A1 | United States of America | A1 | |
| US2005071660A1 | United States of America | A1 | |
| CN1611365A | China | A | |
| CN1630332A | China | A | |
| JP2005301968A | Japan | A | |
| JP2005301969A | Japan | A | |
| EP1507186A3 | European Patent Office (EPO) | A3 | |
| EP1510902A3 | European Patent Office (EPO) | A3 | |
| CN100346629C | China | C | |
| JP2010211818A | Japan | A | |
| JP2010272136A | Japan | A | |
| JP4676724B2 | Japan | B2 | |
| JP4728611B2 | Japan | B2 | |
| EP1507186B1 | European Patent Office (EPO) | B1 | |
| US8082449B2 | United States of America | B2 | |
| US8209547B2 | United States of America | B2 | |
| JP2012164322A | Japan | A | |
| JP2012164354A | Japan | A | |
| JP5058293B2 | Japan | B2 | |
| JP5058309B2 | Japan | B2 | |
| JP5387706B2 | Japan | B2 | |
| JP5403104B2 | Japan | B2 | |
| JP2014028521A | Japan | A | |
| JP5776741B2This record | Japan | B2 |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of completion of termEXPY | EXPY | |
| Written notification of patent or utility model registrationJAPANESE INTERMEDIATE CODE: R151R151 | R151 | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Request for written amendment filedJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 |
Numbers
- Publication
- 5776741
- Publication, DOCDB
- 5776741
- Publication, EPODOC
- JP5776741B
- Application
- 186018
- Application, DOCDB
- 2013186018
- Application, EPODOC
- JP20130186018
Titles2
- Japanese
- 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
- English
- Information processing equipment, information processing system, information processing method and information processing program
Classification
- IPC, 4
- G06F21 60
- G06F21 12
- G06F21 14
- G06F21 62
