JP2018010471A - Start-up control system as well as start-up control program and start-up control program group - Google Patents

Start-up control system as well as start-up control program and start-up control program group Download PDF

Info

Publication number
JP2018010471A
JP2018010471A JP2016138649A JP2016138649A JP2018010471A JP 2018010471 A JP2018010471 A JP 2018010471A JP 2016138649 A JP2016138649 A JP 2016138649A JP 2016138649 A JP2016138649 A JP 2016138649A JP 2018010471 A JP2018010471 A JP 2018010471A
Authority
JP
Japan
Prior art keywords
arithmetic processing
processing unit
program
unit
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016138649A
Other languages
Japanese (ja)
Inventor
琢也 勝木
Takuya Katsuki
琢也 勝木
南 崇博
Takahiro Minami
崇博 南
石倉 裕之
Hiroyuki Ishikura
裕之 石倉
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2016138649A priority Critical patent/JP2018010471A/en
Publication of JP2018010471A publication Critical patent/JP2018010471A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

PROBLEM TO BE SOLVED: To avoid that at least one arithmetic processing unit of a plurality of arithmetic processing units may be activated by a tampered program even when it is not assured that a program stored in at least one storage device is not tampered.SOLUTION: A start-up control system comprises a first diagnostic means that diagnoses a first arithmetic processing unit 101-1 by comparing an actual value of a first result obtained by executing a first operation based on a first program and a first random number by a first arithmetic processing unit 101-1 with an expectation value of the first result based on first reference data and the first random number which can be referred from a second arithmetic processing unit 101-2, the expectation value of the first result of a first operation based on a first program 105-1 being executed the first arithmetic processing unit 101-1, a second diagnostic means 119-2 that is symmetric to the first diagnostic means, and pieces of start-up control means 153, 155 that controls each start-up of the first arithmetic processing unit 101-1 and the second arithmetic processing unit 101-2 based on diagnostic results by these pieces of diagnostic means.SELECTED DRAWING: Figure 1

Description

本発明は、複数の演算処理装置の起動を制御するための起動制御システム並びに起動制御用プログラム及び起動制御用プログラム群に関する。   The present invention relates to an activation control system, an activation control program, and an activation control program group for controlling activation of a plurality of arithmetic processing devices.

近年のLSI(Large Scale Integration)のプロセス微細化により、LSIに搭載可能な回路規模はどんどん増加し、LSIが処理する機能や性能は加速度的に向上している。なお、回路規模によっては、その半導体集積回路をVLSI(Very LSI)、ULSI(Ultra-LSI)などと呼ぶこともある。   With the recent miniaturization of LSI (Large Scale Integration) processes, the scale of circuits that can be mounted on LSIs has been increasing, and the functions and performance that LSIs are processing have improved at an accelerated pace. Depending on the circuit scale, the semiconductor integrated circuit may be referred to as VLSI (Very LSI), ULSI (Ultra-LSI), or the like.

機能向上の1つとして、プロセッサ機能をLSIの中に取り込むと、LSI内部のプロセッサがLSI全体を内部から制御することが可能となり、LSI内部にあたかも一つのシステムを構築できる。このように、半導体集積回路であって、その内部にプロセッサを内蔵してシステムを構築するデバイスは、SoC(System on a Chip)と呼ばれている。   As one function improvement, when a processor function is incorporated into an LSI, a processor inside the LSI can control the entire LSI from the inside, and a single system can be constructed inside the LSI. Thus, a device that is a semiconductor integrated circuit and has a processor built therein to construct a system is called SoC (System on a Chip).

SoCと呼ばれる半導体集積回路には、様々なデバイスがある。非常に高性能なプロセッサを搭載し、SoCの外部に接続される全てのデバイスを統合的に管理できるものや、複数のプロセッサを内蔵し、さらに処理能力や演算能力を高めたもの、また、外部デバイスの制御は他のプロセッサに任せて、自身はSoC内部の制御のみを行うものなど様々である。   There are various devices in a semiconductor integrated circuit called SoC. A device with a very high-performance processor that can manage all devices connected to the outside of the SoC, a device that incorporates multiple processors, and that has increased processing and computing capabilities. The device control is left to other processors, and the device itself performs various controls such as only SoC internal control.

ところで、SoCにおいて、CPU(Central Processing Unit)等のプロセッサを安全に立ち上げることは非常に重要であり、特にセキュリティを重視した製品では確実に信頼できるプログラムデータからプロセッサ(以下、CPUで例示)を起動する必要がある。プログラムが悪意ある者によって差し替えられた状態で起動を許してしまうと、SoC内外の記憶装置に暗号化して保存したデータが読み出される危険性や、暗号化データの復号化ができなかったとして消去されてしまう恐れもある。また、ユーザがプログラムを差し替えられたことに気付かずに利用すると、差し替えられた後に生成したデータは、悪意ある者によって盗まれてしまう。   By the way, in SoC, it is very important to start up a processor such as a CPU (Central Processing Unit) safely. In particular, in a product that emphasizes security, a processor (hereinafter referred to as a CPU) is surely obtained from reliable program data. Must be started. If the program is allowed to start in a state where it has been replaced by a malicious person, it will be erased because there is a risk that the data stored encrypted inside and outside the SoC will be read, or that the encrypted data could not be decrypted There is also a risk. Further, if the user uses the program without noticing that the program has been replaced, the data generated after the replacement is stolen by a malicious person.

このような危険性を排除するために、CPUを安全且つ確実に立ち上げることは重要である。実現方法として、例えばプログラムデータを暗号化した上で記憶デバイスに保存しておき、起動時に復号化してからRAM(Random Access Memory)上に展開して起動する方法や、TPM(Trusted Platform Module)などのSoCとは別に外部にセキュリティデバイスを利用する方法などがある。   In order to eliminate such danger, it is important to start up the CPU safely and reliably. As an implementation method, for example, program data is encrypted and stored in a storage device, decrypted at startup, and then expanded on a RAM (Random Access Memory) and started, TPM (Trusted Platform Module), etc. In addition to the SoC, there is a method of using a security device externally.

さらに、HDD(Hard Disk Drive)やSDカード、USB(Universal Serial Bus)メモリなど一般的に広く利用され汎用性の高い記憶デバイスにプログラムデータを保存するのではなく、基板にオンボードで直接実装するタイプの記憶デバイスに保存することもセキュリティ性を高める方法の一つである。独自のI/F(Interface)プロトコルで動作するデバイスの採用や、Flash DIMM(Dual Inline Memory Module)など一般的にはユーザが入手しにくいデバイスを採用する方法もある。オンボードタイプデバイスやユーザが入手しにくいデバイスなどの場合、第三者によってデバイスの入れ替えを行うのは難しいばかりではなく、基板に実装したまま外部から書き換えることは非常に専門的な知識が必要となるため、セキュリティ性が高くなる。   In addition, program data is not stored in general-purpose storage devices such as HDD (Hard Disk Drive), SD card, USB (Universal Serial Bus) memory, etc. Saving to a type of storage device is another way to increase security. There are also methods of adopting a device that operates with an original I / F (Interface) protocol or a device that is generally difficult for a user to obtain such as a flash DIMM (Dual Inline Memory Module). In the case of an on-board type device or a device that is difficult for the user to obtain, it is difficult not only to replace the device by a third party, but also to rewrite it from the outside while it is mounted on the board requires very specialized knowledge Therefore, security is increased.

複合機(MFP)を例に挙げ具体的に説明すると、次のようになる。一般的なモデル(製品)とセキュリティを重視したモデルの2種類ある場合、セキュリティを重視したモデルではデータの暗号化や、動作時に一次的に保存したメモリデータ、HDDデータの消去などといったセキュリティ機能が付加される。ここで脅威となる一例は、セキュリティを重視したモデルのデバイスを一般的なモデルのプログラムデータ格納デバイスに置き換えることが挙げられる。置き換え後にCPUの起動が可能であると、それまでに蓄積されたデータの消去がなされず、また今後利用する際に生成されるデータは暗号化されていないため、非常に危険な状態となってしまう。従って、CPUを安全に起動することは、セキュリティ上、非常に重要な要素となる。   A specific description will be given by taking a multifunction peripheral (MFP) as an example. When there are two types: general model (product) and security-oriented model, the security-oriented model has security functions such as data encryption, memory data temporarily saved during operation, and HDD data erasure. Added. An example of a threat here is to replace a security model model device with a general model program data storage device. If the CPU can be started after the replacement, the data stored up to that point will not be erased, and the data generated for future use will not be encrypted, making it extremely dangerous. End up. Therefore, starting the CPU safely is a very important factor in terms of security.

一方、近年、MFPに限らず様々なシステムは、大規模化・複雑化に伴って複数のCPUによってシステム全体を制御することが多くなってきた。例えば、特許文献1には、上述したようなSoCで代表される半導体集積回路を、同じ回路基板などに2以上搭載した半導体デバイスが開示されている。この半導体デバイスも複数のCPUをもつことになる。   On the other hand, in recent years, not only MFPs but various systems have been increasingly controlled by a plurality of CPUs as the scale and complexity of the systems increases. For example, Patent Document 1 discloses a semiconductor device in which two or more semiconductor integrated circuits represented by SoC as described above are mounted on the same circuit board or the like. This semiconductor device also has a plurality of CPUs.

そして、このように複数のCPUを搭載する半導体デバイスの場合、全てのCPUに対して安全に起動することが求められる。プログラム格納デバイスの入れ替え脅威を排除するためには、全ての記憶デバイスを交換リスクがなく安全性の高いデバイスにする必要が生じる。従って、2つのSoCに対してプログラム格納デバイスとしてそれぞれ接続する2つの外部記憶装置は、いずれも高セキュリティの装置を採用する必要が生じる。   And in the case of a semiconductor device having a plurality of CPUs mounted in this way, it is required to safely start all the CPUs. In order to eliminate the threat of replacement of the program storage device, it is necessary to make all the storage devices safe without replacement risk. Accordingly, the two external storage devices connected to the two SoCs as program storage devices need to employ high security devices.

しかしながら、一般的にHDDなど先に挙げた汎用性の高い記憶デバイスに比べ、セキュリティ性の高い記憶デバイスは技術的に高度であったり、販売数量が少ないなどといった理由によりコストが高くなる傾向にある。   However, in general, storage devices with high security tend to be higher in cost due to technically advanced and low sales volume compared to the general-purpose storage devices listed above such as HDDs. .

特許文献2に開示されている発明は、上述のような実状に鑑みてなされたものであり、2以上の半導体集積回路を搭載した半導体デバイスにおいて、各半導体集積回路に接続するそれぞれのプログラム格納デバイス(記憶デバイス)のうちの一部の記憶デバイスのみを高セキュリティにするだけで、これらの全ての記憶デバイスについて、記憶デバイスの入れ替え脅威を高いセキュリティレベルで排除することを可能にするものである。   The invention disclosed in Patent Document 2 has been made in view of the above situation, and each program storage device connected to each semiconductor integrated circuit in a semiconductor device on which two or more semiconductor integrated circuits are mounted. By making only a part of the storage devices (storage devices) high security, it is possible to eliminate the threat of replacement of storage devices at a high security level for all of these storage devices.

特許文献2に開示されている発明の第1の技術手段は、2以上の半導体集積回路を搭載した半導体デバイスであって、少なくとも1つの半導体集積回路は、他の半導体集積回路の起動プログラムより信頼性が確保された起動プログラムで起動し、該起動した起動プログラムにより他の半導体集積回路の起動プログラムの認証を行うことを特徴としたものである。   A first technical means of the invention disclosed in Patent Document 2 is a semiconductor device on which two or more semiconductor integrated circuits are mounted, and at least one semiconductor integrated circuit is more reliable than a startup program of another semiconductor integrated circuit. This is characterized in that it is started by a startup program that ensures the reliability, and the startup program of another semiconductor integrated circuit is authenticated by the started startup program.

特開2001−13215号公報JP 2001-13215 A 特開2012−252667号公報JP 2012-252667 A

しかし、特許文献2の発明では、プログラムが格納されている記憶装置の少なくとも1つが高セキュアな記憶装置であり、改ざんや入れ替え脅威が排除されることを前提に、高セキュアな記憶装置を起動デバイスとするプロセッサ側プログラムが低セキュアな記憶デバイスに格納されているプログラムを認証することで、MFPのセキュリティを確保していた。従来技術においては起動デバイスの種類が限定される点や、今後、技術進歩により現時点で高セキュアとされているデバイスの改竄が可能になった際、セキュリティ性が保証できない点が課題として挙げられる。   However, in the invention of Patent Document 2, it is assumed that at least one of the storage devices in which the program is stored is a highly secure storage device, and the highly secure storage device is activated on the assumption that tampering and replacement threats are eliminated. The processor side program authenticates the program stored in the low-secure storage device, thereby ensuring the security of the MFP. In the prior art, the types of start-up devices are limited, and when the device that is currently highly secure can be tampered with due to technological advancement, security cannot be guaranteed.

そこで、本発明は、少なくとも1つの記憶装置に保存されているプログラムが改竄されないという保証がなくても、複数の演算処理装置のうちの少なくとも1つの演算処理装置が改竄されたプログラムにより起動してしまうことを避けることができる起動制御システム並びに起動制御用プログラム及び起動制御用プログラム群を提供することを目的とする。   Therefore, the present invention starts up at least one arithmetic processing device of a plurality of arithmetic processing devices by a falsified program without guaranteeing that the program stored in at least one storage device is not falsified. It is an object of the present invention to provide an activation control system, an activation control program, and an activation control program group that can prevent the occurrence of such an event.

本発明によれば、
第1演算処理装置の起動と、第2演算処理装置の起動を制御するための起動制御システムであって、
前記第1演算処理装置により実行される第1プログラムに基づく第1演算の第1結果の期待値であって、前記第2演算処理装置から参照することが可能な第1参照データ及び第1乱数に基づいて前記第2演算処理装置で算出した前記第1結果の前記期待値と、前記第1プログラム及び前記第1乱数に基づく前記第1演算を前記第1演算処理装置で実行して得た前記第1結果の実際値とを比較することによって、前記第1演算処理装置を診断する第1診断手段と、
前記第2演算処理装置により実行される第2プログラムに基づく第2演算の第2結果の期待値であって、前記第1演算処理装置から参照することが可能な第2参照データ及び第2乱数に基づいて前記第1演算処理装置で算出した前記第2結果の期待値と、前記第2プログラム及び前記第2乱数に基づく前記第2演算を前記第2演算処理装置で実行して得た前記第2結果の実際値とを比較することによって、前記第2演算処理装置を診断する第2診断手段と、
前記第1診断手段による診断結果及び前記第2診断手段による診断結果に少なくとも基づいて、前記第1演算処理装置及び前記第2演算処理装置それぞれによる前記第1プログラム及び前記第2プログラムの起動を制御する起動制御手段と、
を備えることを特徴とする起動制御システムが提供される。
また、本発明によれば、前記第1演算処理装置、前記第2演算処理装置及び第3のコンピュータを上記の起動制御システムとして機能させるための起動制御用プログラム群が提供される。
更に、本発明によれば、演算処理装置を上記の前記起動制御システムの一部として機能させるための起動制御用プログラムが提供される。
更に、本発明によれば、
複数の演算処理装置の起動を制御するための起動制御システムであって、
前記複数の演算処理装置は、1番目からN番目まであり、
i=Nの場合には、i+1=1として、
第i演算処理装置は、
第i演算処理装置により実行される第iプログラムに基づく第i演算の第i結果の期待値であって、第(i+1)演算処理装置から参照することが可能な第i参照データ及び第i乱数に基づいて前記第(i+1)演算処理装置で算出した前記第i結果の前記期待値と、前記第iプログラム及び前記第i乱数に基づく前記第i演算を前記第i演算処理装置で実行して得た前記第i結果の実際値とを比較することによって、前記第i演算処理装置を診断する第i診断手段と、
前記第i診断手段による第i診断結果に少なくとも基づいて、第i演算処理装置それぞれによる前記第iプログラムの起動を制御する起動制御手段と、
を備えることを特徴とする起動制御システムが提供される。
更に、本発明によれば、
第1の演算処理装置、第2の演算処理装置、管理装置を有する電子機器であって、
前記第1の演算処理装置と前記第2の演算処理装置は、前記第1の演算処理装置により実行される第1のプログラムと前記第2の演算処理装置により実行される第2のプログラムの正当性を相互に確認するプロセスを実行する手段を備え、
前記監視装置は前記確認プロセスを監視する手段を備えることを特徴とする電子機器が提供される。
更に、本発明によれば、
第1の演算処理装置、第2の演算処理装置、管理装置を有する電子機器であって、
前記第1の演算処理装置は、前記第2の演算処理装置により実行されるプログラムの正当性を確認するプロセスを実行する手段を備え、
前記監視装置は前記確認プロセスを監視する手段を備えることを特徴とする電子機器が提供される。
According to the present invention,
An activation control system for controlling activation of the first arithmetic processing unit and activation of the second arithmetic processing unit,
The first reference data and the first random number, which are expected values of the first result of the first calculation based on the first program executed by the first arithmetic processing unit and can be referred to from the second arithmetic processing unit Obtained by executing the first calculation based on the first calculation based on the first calculation based on the first value based on the first program and the first random number on the first calculation processing unit. First diagnostic means for diagnosing the first arithmetic processing unit by comparing the actual value of the first result;
Second reference data and a second random number that are expected values of the second result of the second calculation based on the second program executed by the second arithmetic processing unit and can be referred to from the first arithmetic processing unit The expected value of the second result calculated by the first arithmetic processing unit based on the second arithmetic processing unit and the second arithmetic operation based on the second program and the second random number obtained by the second arithmetic processing unit. A second diagnostic means for diagnosing the second arithmetic processing unit by comparing the actual value of the second result;
Control activation of the first program and the second program by the first arithmetic processing unit and the second arithmetic processing unit, respectively, based on at least the diagnostic result by the first diagnostic unit and the diagnostic result by the second diagnostic unit. Starting control means to
An activation control system is provided.
In addition, according to the present invention, there is provided an activation control program group for causing the first arithmetic processing device, the second arithmetic processing device, and the third computer to function as the above-described activation control system.
Furthermore, according to the present invention, there is provided a startup control program for causing an arithmetic processing unit to function as a part of the startup control system.
Furthermore, according to the present invention,
An activation control system for controlling activation of a plurality of arithmetic processing devices,
The plurality of arithmetic processing units are first to Nth,
If i = N, then i + 1 = 1.
The i th arithmetic processing unit is
The i-th reference data and the i-th random number that are expected values of the i-th result of the i-th operation based on the i-th program executed by the i-th arithmetic processing device and can be referred to from the (i + 1) -th arithmetic processing device The i-th arithmetic processing unit executes the i-th arithmetic based on the expected value of the i-th result calculated by the (i + 1) -th arithmetic processing unit and the i-th program and the i-th random number. I-th diagnostic means for diagnosing the i-th arithmetic processing unit by comparing the obtained actual value of the i-th result;
Activation control means for controlling the activation of the i-th program by each of the i-th arithmetic processing units based at least on the i-th diagnosis result by the i-th diagnosis means;
An activation control system is provided.
Furthermore, according to the present invention,
An electronic apparatus having a first arithmetic processing device, a second arithmetic processing device, and a management device,
The first arithmetic processing unit and the second arithmetic processing unit are valid for the first program executed by the first arithmetic processing unit and the second program executed by the second arithmetic processing unit. A means to carry out a process of confirming sex
An electronic apparatus is provided, wherein the monitoring device includes means for monitoring the confirmation process.
Furthermore, according to the present invention,
An electronic apparatus having a first arithmetic processing device, a second arithmetic processing device, and a management device,
The first arithmetic processing unit includes means for executing a process for confirming the validity of a program executed by the second arithmetic processing unit,
An electronic apparatus is provided, wherein the monitoring device includes means for monitoring the confirmation process.

本発明によれば、少なくとも1つの記憶装置に保存されているプログラムが改竄されないという保証がなくても、複数の演算処理装置のうちの少なくとも1つの演算処理装置が改竄されたプログラムにより起動してしまうことを避けることができる。   According to the present invention, even if there is no guarantee that a program stored in at least one storage device will not be falsified, at least one arithmetic processing device of the plurality of arithmetic processing devices is activated by the falsified program. Can be avoided.

本発明の第1の実施の形態による起動制御システムの構成を示すブロック図である。It is a block diagram which shows the structure of the starting control system by the 1st Embodiment of this invention. 本発明の第1の実施の形態による起動制御システムの動作を説明するためのフローチャート(1/2)である。It is a flowchart (1/2) for demonstrating operation | movement of the starting control system by the 1st Embodiment of this invention. 本発明の第1の実施の形態による起動制御システムの動作を説明するためのフローチャート(2/2)である。It is a flowchart (2/2) for demonstrating operation | movement of the starting control system by the 1st Embodiment of this invention. 本発明の第1の実施の形態の模式図(1/2)である。It is a schematic diagram (1/2) of the 1st Embodiment of this invention. 本発明の第1の実施の形態の模式図(2/2)である。It is a schematic diagram (2/2) of the 1st Embodiment of this invention. 本発明の第2の実施の形態の模式図(1/2)である。It is a schematic diagram (1/2) of the 2nd Embodiment of this invention. 本発明の第2の実施の形態の模式図(2/2)である。It is a schematic diagram (2/2) of the 2nd Embodiment of this invention. 本発明の第3の実施の形態の模式図(1/2)である。It is a schematic diagram (1/2) of the 3rd Embodiment of this invention. 本発明の第3の実施の形態の模式図(2/2)である。It is a schematic diagram (2/2) of the 3rd Embodiment of this invention. 本発明の第4の実施の形態の模式図(1/2)である。It is a schematic diagram (1/2) of the 4th Embodiment of this invention. 本発明の第4の実施の形態の模式図(2/2)である。It is a schematic diagram (2/2) of the 4th Embodiment of this invention. 本発明の第9の実施の形態による第1及び第2のプログラム実行装置の構成を示すブロック図である。It is a block diagram which shows the structure of the 1st and 2nd program execution apparatus by the 9th Embodiment of this invention. 本発明の第10の実施の形態による起動制御装置を含む複合機の構成を示すブロック図である。It is a block diagram which shows the structure of the multifunctional machine containing the starting control apparatus by the 10th Embodiment of this invention. 本発明の第11の実施の形態による複合機の構成を示す断面図である。It is sectional drawing which shows the structure of the multifunctional device by the 11th Embodiment of this invention.

以下、図面を参照して本発明を実施するための形態について詳細に説明する。
[第1の実施の形態]
図1は、第1の実施の形態による起動制御システムの構成を示すブロック図である。
図1を参照すると、この起動制御システムは、第1プログラム実行装置101−1、第2プログラム実行装置101−2及び監視装置151を含む。
DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.
[First Embodiment]
FIG. 1 is a block diagram showing the configuration of the activation control system according to the first embodiment.
Referring to FIG. 1, the activation control system includes a first program execution device 101-1, a second program execution device 101-2, and a monitoring device 151.

第1プログラム実行装置101−1は、第1CPU103−1、第1乱数発生部109−1、第1演算部111−1、参照用第2後半演算部117−1及び第1外部インターフェース121−1を含む。第1演算部111−1は、第1実地前半演算部113−1及び第1実地後半演算部115−1を含む。   The first program execution device 101-1 includes a first CPU 103-1, a first random number generation unit 109-1, a first calculation unit 111-1, a reference second latter calculation unit 117-1, and a first external interface 121-1. including. The first calculation unit 111-1 includes a first actual first half calculation unit 113-1 and a first actual second half calculation unit 115-1.

同様に、第2プログラム実行装置101−2は、第2CPU103−2、第2乱数発生部109−2、第2演算部111−2、参照用第2後半演算部117−2及び第2外部インターフェース121−2を含む。第2演算部111−2は、第2実地前半演算部113−2及び第2実地後半演算部115−2を含む。   Similarly, the second program execution device 101-2 includes a second CPU 103-2, a second random number generation unit 109-2, a second calculation unit 111-2, a reference second latter second calculation unit 117-2, and a second external interface. 121-2 included. The second calculation unit 111-2 includes a second actual first half calculation unit 113-2 and a second actual second half calculation unit 115-2.

監視装置151は、監視部153及び起動制御部155を含む。   The monitoring device 151 includes a monitoring unit 153 and an activation control unit 155.

第1乱数発生部109−1は、第1乱数RAND−soc1を発生する。同様に、第2乱数発生部109−2は、第2乱数RAND−soc2を発生する。   The first random number generator 109-1 generates a first random number RAND-soc1. Similarly, the second random number generator 109-2 generates a second random number RAND-soc2.

第1CPU103−1は、第1外部記憶装置163−1(図8)に格納されている第1プログラム105−1 Programを実行する。   The first CPU 103-1 executes the first program 105-1 Program stored in the first external storage device 163-1 (FIG. 8).

第2CPU103−2は、第2外部記憶装置163−1(図8)に格納されている第2プログラム105−1 MainProgramを実行する。   The second CPU 103-2 executes the second program 105-1 MainProgram stored in the second external storage device 163-1 (FIG. 8).

第1実地前半演算部113−1は、第1プログラム105−1の第1実地中間ハッシュ値HASH−soc1,realを算出する。例えば、第1プログラム105−1のデータをProgram、プログラムに加算されている可能性があるエラーをΔ1とした場合、これの第1実地中間ハッシュ値HASH−soc1,realを、下式
HASH−soc1,real
=SHA−256(Program+Δ1)
により算出する。ここで、エラーΔがゼロでない場合には、例えば、プログラムが改竄されている可能性がある。
The first actual first half calculation unit 113-1 calculates the first actual intermediate hash value HASH-soc1, real of the first program 105-1. For example, when the data of the first program 105-1 is Program and the error that may be added to the program is Δ1, the first actual intermediate hash value HASH-soc1, real is represented by the following expression HASH-soc1. , Real
= SHA-256 (Program + Δ1)
Calculated by Here, when the error Δ is not zero, for example, the program may be falsified.

第1実地後半演算部115−1は、第1実地前半演算部113−1が算出した第1実地ハッシュ値HASH−soc1,realと第2乱数RAND−soc2を結合して、これの第1実地最終ハッシュ値HASH−soc1’,realを、下式
HASH−soc1’,real
=SHA−256(cat(RAND−soc2、HASH−soc1,real)
により算出する。
The first real second half calculation unit 115-1 combines the first real hash values HASH-soc1, real and the second random number RAND-soc2 calculated by the first real first half calculation unit 113-1 to obtain the first real The final hash value HASH-soc1 ′, real is expressed by the following expression HASH-soc1 ′, real
= SHA-256 (cat (RAND-soc2, HASH-soc1, real)
Calculated by

参照用第1後半演算部117−2は、第2外部記憶装置163−2(図8)に格納されている第1参照中間ハッシュ値107−2 HASH−soc1,refと第2乱数RAND−soc2を結合して、これの第1参照最終ハッシュ値HASH−soc1’,refを、下式
HASH−soc1’ ,ref
=SHA−256(cat(RAND−soc2、HASH−soc1,ref)
により算出する。
The reference first second half calculation unit 117-2 includes the first reference intermediate hash value 107-2 HASH-soc1, ref and the second random number RAND-soc2 stored in the second external storage device 163-2 (FIG. 8). , And the first reference final hash value HASH-soc1 ′, ref is expressed by the following expression HASH-soc1 ′, ref
= SHA-256 (cat (RAND-soc2, HASH-soc1, ref)
Calculated by

ここで、第1参照中間ハッシュ値HASH−soc1,refは、下式
HASH−soc1,ref
=SHA−256(Program)
に基づいて、予め計算しておいたものである。なお、上式に示してある通り、この計算を行う時には、programには、エラーが加算されていない。
Here, the first reference intermediate hash value HASH-soc1, ref is expressed by the following expression HASH-soc1, ref
= SHA-256 (Program)
Based on the above. As shown in the above equation, when this calculation is performed, no error is added to the program.

第2診断部119−2は、第1実地最終ハッシュ値HASH−soc1’,realと、第1参照最終ハッシュ値HASH−soc1’,refとを比較し、両者が等しいならば、現在のプログラムにはエラーが加算されていないと判断する。両者が異なっているならば、現在のプログラムにはエラーが加算されていると判断する。   The second diagnosis unit 119-2 compares the first actual final hash value HASH-soc1 ', real and the first reference final hash value HASH-soc1', ref. Determines that no error has been added. If they are different, it is determined that an error is added to the current program.

第2CPU103−2は、第2外部記憶装置163−2(図8)に格納されている第2プログラム105−2を実行する。   The second CPU 103-2 executes the second program 105-2 stored in the second external storage device 163-2 (FIG. 8).

第2実地前半演算部113−2は、第2プログラム105−2の第2実地中間ハッシュ値HASH−soc2,realを算出する。例えば、第2プログラム105−2のデータをMainProgram、プログラムに加算されている可能性があるエラーをΔ2とした場合、これの第2実地中間ハッシュ値HASH−soc2,realを、下式
HASH−soc2,real
=SHA−256(Program+Δ2)
により算出する。ここで、エラーΔ2がゼロでない場合には、例えば、プログラムが改竄されている可能性がある。
The second actual first half calculation unit 113-2 calculates the second actual intermediate hash value HASH-soc2, real of the second program 105-2. For example, when the data of the second program 105-2 is MainProgram and an error that may be added to the program is Δ2, the second actual intermediate hash value HASH-soc2, real is represented by the following expression HASH-soc2 , Real
= SHA-256 (Program + Δ2)
Calculated by Here, when the error Δ2 is not zero, for example, the program may be falsified.

第2実地後半演算部115−2は、第2実地前半演算部113−2が算出した第2実地ハッシュ値HASH−soc2,realと第1乱数RAND−soc1を結合して、これの第2実地最終ハッシュ値HASH−soc2’,realを、下式
HASH−soc2’,real
=SHA−256(cat(RAND−soc1、HASH−soc2,real)
により算出する。
The second real second half calculation unit 115-2 combines the second real hash value HASH-soc2, real calculated by the second real first half calculation unit 113-2 and the first random number RAND-soc1 to obtain the second real The final hash value HASH-soc2 ′, real is expressed by the following expression HASH-soc2 ′, real
= SHA-256 (cat (RAND-soc1, HASH-soc2, real)
Calculated by

参照用第2後半演算部117−1は、第1外部記憶装置163−1(図8)に格納されている第2参照中間ハッシュ値107−1 HASH−soc2,refと第1乱数RAND−soc1を結合して、これの第2参照最終ハッシュ値HASH−soc2’,refを、下式
HASH−soc2’ ,ref
=SHA−256(cat(RAND−soc1、HASH−soc2,ref)
により算出する。
The second second half calculation unit 117-1 for reference uses the second reference intermediate hash value 107-1 HASH-soc2, ref and the first random number RAND-soc1 stored in the first external storage device 163-1 (FIG. 8). , And the second reference final hash value HASH-soc2 ′, ref is expressed by the following expression HASH-soc2 ′, ref
= SHA-256 (cat (RAND-soc1, HASH-soc2, ref)
Calculated by

ここで、第2参照中間ハッシュ値HASH−soc2,refは、下式
HASH−soc2,ref
=SHA−256(MainProgram)
に基づいて、予め計算しておいたものである。なお、上式に示してある通り、この計算を行う時には、programには、エラーが加算されていない。
Here, the second reference intermediate hash value HASH-soc2, ref is expressed by the following expression HASH-soc2, ref
= SHA-256 (MainProgram)
Based on the above. As shown in the above equation, when this calculation is performed, no error is added to the program.

第1診断部119−1は、第2実地最終ハッシュ値HASH−soc2’,realと、第2参照最終ハッシュ値HASH−soc2’,refとを比較し、両者が等しいならば、現在のプログラムにはエラーが加算されていないと判断する。両者が異なっているならば、現在のプログラムにはエラーが加算されていると判断する。   The first diagnosis unit 119-1 compares the second actual final hash value HASH-soc2 ', real and the second reference final hash value HASH-soc2', ref. Determines that no error has been added. If they are different, it is determined that an error is added to the current program.

第1外部インターフェース121−1及び第2外部インターフェース121−2は、第1プログラム実行装置101−1と第2プログラム実行装置101−2の間で上記の各種のハッシュ値と乱数を送受信するためのものである。   The first external interface 121-1 and the second external interface 121-2 are used for transmitting and receiving the above various hash values and random numbers between the first program execution device 101-1 and the second program execution device 101-2. Is.

監視部153は、第1外部インターフェース121−1と第2外部インターフェース121−2の間で各種のハッシュ値と乱数が所定の時間が経過するまでに送受信されるか否かを監視する。   The monitoring unit 153 monitors whether various hash values and random numbers are transmitted and received between the first external interface 121-1 and the second external interface 121-2 before a predetermined time elapses.

起動制御部155は、第1診断部119−1による診断結果、第2診断部119−2による診断結果及び監視部153による監視結果に基づいて、第1プログラム実行装置101−1と第2プログラム実行装置101−2におけるプログラムの起動を制御する。   The activation control unit 155 includes the first program execution device 101-1 and the second program based on the diagnosis result by the first diagnosis unit 119-1, the diagnosis result by the second diagnosis unit 119-2, and the monitoring result by the monitoring unit 153. Controls the activation of the program in the execution device 101-2.

次に、図2、図3を参照して、第1の実施の形態による起動制御システムの動作を説明する。
図2を参照すると、まず、電源が入ると(ステップS201)、第1プログラム実行装置101−1では、第1プログラム105−1 Programが展開され(ステップS203−1)、第1乱数発生部109−1が、第1乱数RAND−soc1を発生し(ステップS205−1)、この第1乱数RAND−soc1が、監視部153まで通知される(ステップS207−1)。
Next, the operation of the activation control system according to the first embodiment will be described with reference to FIGS.
Referring to FIG. 2, first, when the power is turned on (step S201), the first program execution apparatus 101-1 develops the first program 105-1 Program (step S203-1), and the first random number generation unit 109. −1 generates the first random number RAND-soc1 (step S205-1), and the first random number RAND-soc1 is notified to the monitoring unit 153 (step S207-1).

同様に、第2プログラム実行装置101−2では、第2プログラム105−2 MainProgramが展開され(ステップS203−2)、第2乱数発生部109−2が、第2乱数RAND−soc2を発生し(ステップS205−2)、この第2乱数RAND−soc2が、監視装置151まで通知される(ステップS207−2)。   Similarly, in the second program execution device 101-2, the second program 105-2 MainProgram is expanded (step S203-2), and the second random number generator 109-2 generates the second random number RAND-soc2 ( In step S205-2), the second random number RAND-soc2 is notified to the monitoring device 151 (step S207-2).

電源が入ってからこれまで間に、監視装置151では、まず、起動が完了し(ステップS231)、変数BOOT_STEPがゼロに初期化されている(ステップS233)。   In the period from when the power is turned on until now, the monitoring device 151 first completes startup (step S231), and the variable BOOT_STEP is initialized to zero (step S233).

ステップS207−1及びステップS207−2での通知があると、監視装置151では、変数BOOT_STEPが1に変更される(ステップS235)。   When there is a notification in step S207-1 and step S207-2, the monitoring device 151 changes the variable BOOT_STEP to 1 (step S235).

第1プログラム実行装置101−1は、変数BOOT_STEPが1に変更されたならば(ステップS209−1でYES)、監視部151から第2乱数RAND−soc2を読み出し(ステップS211−1)、第1実地前半演算部113−1は、ステップS203−1で展開した第1プログラム105−1 Programの第1実地中間ハッシュ値HASH−soc1,realを算出し(ステップS213−1)、第1実地後半演算部115−1は、ステップ211−1で読み出された第2乱数RAND−soc2と、ステップS213−1で算出された第1実地中間ハッシュ値HASH−soc1,realを結合して、これの第1実地最終ハッシュ値HASH−soc1’,realを算出する(ステップS215−1)。この第1実地最終ハッシュ値HASH−soc1’,realが監視部153まで通知される(ステップS217−1)。   If the variable BOOT_STEP is changed to 1 (YES in step S209-1), the first program execution device 101-1 reads the second random number RAND-soc2 from the monitoring unit 151 (step S211-1), and first The first practical half calculation unit 113-1 calculates the first practical intermediate hash value HASH-soc1, real of the first program 105-1 Program developed in step S203-1, and then the first practical second half calculation (step S213-1). The unit 115-1 combines the second random number RAND-soc2 read in step 211-1 and the first real intermediate hash value HASH-soc1, real calculated in step S213-1, One actual final hash value HASH-soc1 ′, real is calculated (step S215-1). The first actual final hash value HASH-soc1 ', real is notified to the monitoring unit 153 (step S217-1).

同様に、第2プログラム実行装置101−2は、変数BOOT_STEPが1に変更されたならば(ステップS209−2でYES)、監視部151から第1乱数RAND−soc1を読み出し(ステップS211−2)、第2実地前半演算部113−2は、ステップS203−2で展開した第2プログラム105−1 MainProgramの第2実地中間ハッシュ値HASH−soc2,realを算出し(ステップS213−2)、第2実地後半演算部115−2は、ステップ211−2で読み出された第1乱数RAND−soc1と、ステップS213−2で算出された第2実地中間ハッシュ値HASH−soc2,realを結合して、これの第2実地最終ハッシュ値HASH−soc2’,realを算出する(ステップS215−2)。この第2実地最終ハッシュ値HASH−soc2’,realが監視部153まで通知される(ステップS217−2)。   Similarly, if the variable BOOT_STEP is changed to 1 (YES in step S209-2), the second program execution device 101-2 reads the first random number RAND-soc1 from the monitoring unit 151 (step S211-2). The second actual first half calculation unit 113-2 calculates the second actual intermediate hash value HASH-soc2, real of the second program 105-1 MainProgram expanded in step S203-2 (step S213-2), and the second The real second half calculation unit 115-2 combines the first random number RAND-soc1 read in Step 211-2 and the second real intermediate hash value HASH-soc2, real calculated in Step S213-2, The second actual final hash value HASH-soc2 ′, real is calculated (step S2 5-2). The second actual final hash value HASH-soc2 ', real is notified to the monitoring unit 153 (step S217-2).

ステップS217−1及びステップS217−2での通知があると、監視装置151では、変数BOOT_STEPが2に変更される(ステップS237)。   When there is a notification in step S217-1 and step S217-2, the monitoring device 151 changes the variable BOOT_STEP to 2 (step S237).

第1プログラム実行装置101−1は、変数BOOT_STEPが2に変更されたならば(ステップS219−1でYES)、監視部151から第2実地最終ハッシュ値HASH−soc2’,realを読み出し(ステップS221−1)、参照用第2後半演算部117−1は、第2参照最終ハッシュ値HASH−soc2’,refを算出し(ステップS223−1)、第1診断部119−1は、第2実地最終ハッシュ値HASH−soc2’,realと、第2参照最終ハッシュ値HASH−soc2’,refとに基づいて、第2プログラム105−2にエラーが加算されているか否かを検証する(ステップS225−1)。この検証結果が、監視装置151まで通知される(ステップS227−1)。   If the variable BOOT_STEP is changed to 2 (YES in step S219-1), the first program execution device 101-1 reads the second actual final hash value HASH-soc2 ′, real from the monitoring unit 151 (step S221). -1), the second second reference calculation unit 117-1 for reference calculates the second reference final hash value HASH-soc2 ', ref (step S223-1), and the first diagnosis unit 119-1 calculates the second actual value. Based on the final hash value HASH-soc2 ′, real and the second reference final hash value HASH-soc2 ′, ref, it is verified whether or not an error is added to the second program 105-2 (step S225-). 1). The verification result is notified to the monitoring device 151 (step S227-1).

第2プログラム実行装置101−2は、変数BOOT_STEPが2に変更されたならば(ステップS219−2でYES)、監視部151から第1実地最終ハッシュ値HASH−soc1’,realを読み出し(ステップS221−2)、参照用第1後半演算部117−2は、第1参照最終ハッシュ値HASH−soc1’,refを算出し(ステップS223−2)、第2診断部119−2は、第1実地最終ハッシュ値HASH−soc1’,realと、第1参照最終ハッシュ値HASH−soc1’,refとに基づいて、第1プログラム105−2にエラーが加算されているか否かを検証する(ステップS225−2)。この検証結果が、監視装置151まで通知される(ステップS227−2)。   If the variable BOOT_STEP is changed to 2 (YES in step S219-2), the second program execution device 101-2 reads the first actual final hash value HASH-soc1 ′, real from the monitoring unit 151 (step S221). -2), the reference first second half calculation unit 117-2 calculates the first reference final hash value HASH-soc1 ′, ref (step S223-2), and the second diagnosis unit 119-2 receives the first actual value. Based on the final hash value HASH-soc1 ′, real and the first reference final hash value HASH-soc1 ′, ref, it is verified whether an error is added to the first program 105-2 (step S225-). 2). The verification result is notified to the monitoring device 151 (step S227-2).

ステップS227−1及びステップS227−2での通知があると、監視装置151では、変数BOOT_STEPが3に変更される(ステップS239)。   When there are notifications in steps S227-1 and S227-2, the monitoring device 151 changes the variable BOOT_STEP to 3 (step S239).

監視装置151では、次に、ステップS227−1で通知された検証結果及びステップS227−2で通知された検証結果に基づいて、判定をする。具体的には、両方の検証結果が正常(プログラムにエラーが加算されていないこと)を示している場合に、起動可とし、そうでない場合には、起動不可とする(ステップS241)。   Next, the monitoring device 151 makes a determination based on the verification result notified in step S227-1 and the verification result notified in step S227-2. Specifically, when both the verification results indicate normality (no error is added to the program), the activation is permitted, and otherwise the activation is not permitted (step S241).

起動可と判定されたならば、起動制御部155は、第1プログラム実行装置101−1に対して第1プログラム105−1 Programを起動させ、第2プログラム実行装置101−2に対して第2プログラム105−2 MainProgramを起動させる(ステップS251)。   If it is determined that activation is possible, the activation control unit 155 causes the first program execution device 101-1 to activate the first program 105-1 Program, and causes the second program execution device 101-2 to perform the second operation. The program 105-2 MainProgram is started (step S251).

起動不可と判定されたならば、起動制御部155は、第1プログラム実行装置101−1に対してエラーコードを表示させ、第2プログラム実行装置101−2に対してエラーコードを表示させて(ステップS253)、監視装置151は異常終了する(ステップS257)。これに応じて、第1プログラム実行装置101−1は、エラーコードを表示し(ステップS255−1)、第2プログラム実行装置101−2も、エラーコードを表示する(ステップS255−2)   If it is determined that the activation is impossible, the activation control unit 155 displays an error code on the first program execution device 101-1, and displays an error code on the second program execution device 101-2 ( In step S253), the monitoring device 151 ends abnormally (step S257). In response to this, the first program execution device 101-1 displays an error code (step S255-1), and the second program execution device 101-2 also displays an error code (step S255-2).

また、ステップS207−1、S207−2、S211−1、S211−2、S217−1、S217−2、S221−1、S221−2、S227−1、S227−2における通知が、それぞれに対応した期間内にない場合には、第1プログラム実行装置101−1及び第2プログラム実行装置101−2における上記の進行は中止され、監視装置151は、ステップS253を経た後で、異常終了する(ステップS257)。   In addition, notifications in steps S207-1, S207-2, S211-1, S211-2, S217-1, S217-2, S221-1, S221-2, S227-1, and S227-2 corresponded to each. If it is not within the period, the above-described progress in the first program execution device 101-1 and the second program execution device 101-2 is stopped, and the monitoring device 151 abnormally ends after step S253 (step S253). S257).

図4、図5は、本実施の形態を模式的にまとめたものである。   4 and 5 schematically summarize the present embodiment.

[第2の実施の形態]
第2の実施の形態が、第1の実施の形態と異なるところは、第1実地後半演算部115−1が、第1実地前半演算部113−1が算出した第1実地ハッシュ値HASH−soc1,realと第1乱数RAND−soc1を結合して、これの第1実地最終ハッシュ値HASH−soc1’,realを、下式
HASH−soc1’,real
=SHA−256(cat(RAND−soc1、HASH−soc1,real)
により算出する点と、参照用第1後半演算部117−2が、第2外部記憶装置163−2(図8)に格納されている第1参照中間ハッシュ値107−2 HASH−soc1,refと第1乱数RAND−soc1を結合して、これの第1参照最終ハッシュ値HASH−soc1’,refを、下式
HASH−soc1’ ,ref
=SHA−256(cat(RAND−soc1、HASH−soc1,ref)
により算出する点である。
[Second Embodiment]
The second embodiment differs from the first embodiment in that the first real second half calculation unit 115-1 calculates the first real hash value HASH-soc1 calculated by the first real first half calculation unit 113-1. , Real and the first random number RAND-soc1 are combined, and the first actual final hash value HASH-soc1 ′, real is expressed by the following expression HASH-soc1 ′, real
= SHA-256 (cat (RAND-soc1, HASH-soc1, real)
And the reference first second half operation unit 117-2 calculates the first reference intermediate hash value 107-2 HASH-soc1, ref stored in the second external storage device 163-2 (FIG. 8). The first random number RAND-soc1 is combined, and the first reference final hash value HASH-soc1 ′, ref is expressed by the following expression HASH-soc1 ′, ref
= SHA-256 (cat (RAND-soc1, HASH-soc1, ref)
It is a point to calculate by.

第2の実施の形態が、更に、第1の実施の形態と異なるところは、第2実地後半演算部115−2が、第2実地前半演算部113−2が算出した第2実地ハッシュ値HASH−soc2,realと第2乱数RAND−soc2を結合して、これの第2実地最終ハッシュ値HASH−soc2’,realを、下式
HASH−soc2’,real
=SHA−256(cat(RAND−soc2、HASH−soc2,real)
により算出する点と、参照用第2後半演算部117−1は、第1外部記憶装置163−1(図8)に格納されている第2参照中間ハッシュ値107−1 HASH−soc2,refと第2乱数RAND−soc2を結合して、これの第2参照最終ハッシュ値HASH−soc2’,refを、下式
HASH−soc2’ ,ref
=SHA−256(cat(RAND−soc2、HASH−soc2,ref)
により算出する点である。
The second embodiment is further different from the first embodiment in that the second real second half calculation unit 115-2 is calculated by the second real second hash value HASH calculated by the second real first half calculation unit 113-2. -Soc2, real and the second random number RAND-soc2 are combined, and the second actual final hash value HASH-soc2 ', real is obtained by the following expression HASH-soc2', real
= SHA-256 (cat (RAND-soc2, HASH-soc2, real)
And the second second-half computation unit 117-1 for reference uses the second reference intermediate hash value 107-1 HASH-soc2, ref stored in the first external storage device 163-1 (FIG. 8). The second random number RAND-soc2 is combined, and the second reference final hash value HASH-soc2 ′, ref is expressed by the following expression HASH-soc2 ′, ref
= SHA-256 (cat (RAND-soc2, HASH-soc2, ref)
It is a point to calculate by.

図6、図7は、本実施の形態を模式的にまとめたものである。   6 and 7 schematically summarize the present embodiment.

[第3の実施の形態]
第3の実施の形態が、第1の実施の形態と異なるところは、第1診断部119−1が、第1実地最終ハッシュ値HASH−soc1’,realと、第1参照最終ハッシュ値HASH−soc1’,refとを比較し、両者が等しいならば、現在のプログラムにはエラーが加算されていないと判断し、両者が異なっているならば、現在のプログラムにはエラーが加算されていると判断する点と、第2診断部119−2は、第2実地最終ハッシュ値HASH−soc2’,realと、第2参照最終ハッシュ値HASH−soc2’,refとを比較し、両者が等しいならば、現在のプログラムにはエラーが加算されていないと判断し、両者が異なっているならば、現在のプログラムにはエラーが加算されていると判断する点である。
[Third Embodiment]
The third embodiment is different from the first embodiment in that the first diagnosis unit 119-1 is configured such that the first actual final hash value HASH-soc1 ', real and the first reference final hash value HASH- soc1 ′ and ref are compared, and if they are equal, it is determined that no error is added to the current program, and if they are different, an error is added to the current program. The second diagnosis unit 119-2 compares the determination point and the second actual final hash value HASH-soc2 ′, real with the second reference final hash value HASH-soc2 ′, ref. It is determined that no error is added to the current program, and if both are different, it is determined that an error is added to the current program.

図8、図9は、本実施の形態を模式的にまとめたものである。   8 and 9 schematically summarize the present embodiment.

[第4の実施の形態]
第4の実施の形態が、第2の実施の形態と異なるところは、第1診断部119−1が、第1実地最終ハッシュ値HASH−soc1’,realと、第1参照最終ハッシュ値HASH−soc1’,refとを比較し、両者が等しいならば、現在のプログラムにはエラーが加算されていないと判断し、両者が異なっているならば、現在のプログラムにはエラーが加算されていると判断する点と、第2診断部119−2は、第2実地最終ハッシュ値HASH−soc2’,realと、第2参照最終ハッシュ値HASH−soc2’,refとを比較し、両者が等しいならば、現在のプログラムにはエラーが加算されていないと判断し、両者が異なっているならば、現在のプログラムにはエラーが加算されていると判断する点である。
[Fourth Embodiment]
The fourth embodiment differs from the second embodiment in that the first diagnosis unit 119-1 is configured such that the first actual final hash value HASH-soc1 ', real and the first reference final hash value HASH- soc1 ′ and ref are compared, and if they are equal, it is determined that no error is added to the current program, and if they are different, an error is added to the current program. The second diagnosis unit 119-2 compares the determination point and the second actual final hash value HASH-soc2 ′, real with the second reference final hash value HASH-soc2 ′, ref. It is determined that no error is added to the current program, and if both are different, it is determined that an error is added to the current program.

図10、図11は、本実施の形態を模式的にまとめたものである。   10 and 11 schematically summarize the present embodiment.

[第5の実施の形態]
第5の実施の形態は、演算処理装置の数を3以上にしたものである。図4において左側の演算処理装置が右側の演算処理装置を用いて、自演算処理装置に対応するプログラムの検証をしているように、それぞれの演算処理装置を本実施形態に関連した部分を循環的に接続する。
例えば、演算処理装置の数を3にした場合、第1の演算処理装置が第2の演算処理装置を用いて第1の演算処理装置に対応するプログラムの検証をし、第2の演算処理装置が第3の演算処理装置を用いて第2の演算処理装置に対応するプログラムの検証をし、第3の演算処理装置が第1の演算処理装置を用いて第3の演算処理装置に対応するプログラムの検証をする。
そして、監視装置は、円環状の接続において相互に隣接する演算処理装置間の通信を監視し、全ての演算処理装置から検証結果を取得し、これにより全ての演算処理装置の起動を制御する。
図4のように左側の演算処理装置が右側の演算処理装置を用いる代わりに、図7、図9又は図11のように左側の演算処理装置が右側の演算処理装置を用いてもよい。
[Fifth Embodiment]
In the fifth embodiment, the number of arithmetic processing units is three or more. In FIG. 4, the arithmetic processing unit on the left side uses the arithmetic processing unit on the right side to verify the program corresponding to the own arithmetic processing unit, and each arithmetic processing unit is circulated through the portion related to this embodiment. Connect.
For example, when the number of arithmetic processing devices is 3, the first arithmetic processing device uses the second arithmetic processing device to verify the program corresponding to the first arithmetic processing device, and the second arithmetic processing device. Verifies the program corresponding to the second arithmetic processing unit using the third arithmetic processing unit, and the third arithmetic processing unit corresponds to the third arithmetic processing unit using the first arithmetic processing unit. Verify the program.
Then, the monitoring device monitors communication between processing units adjacent to each other in an annular connection, acquires verification results from all the processing units, and thereby controls activation of all the processing units.
Instead of using the right arithmetic processing device as shown in FIG. 4, the left arithmetic processing device may use the right arithmetic processing device as shown in FIG. 7, FIG. 9, or FIG.

[第6の実施の形態]
中間ハッシュ値から最終ハッシュ値を算出する際に、中間ハッシュ値に、第1乱数RAND−soc1と第2乱数RAND−soc2を結合してもよい。
[Sixth Embodiment]
When calculating the final hash value from the intermediate hash value, the first random number RAND-soc1 and the second random number RAND-soc2 may be combined with the intermediate hash value.

[第7の実施の形態]
ステップS241、S251で、第1プログラム実行装置101−1と第2プログラム実行装置101−2を独立して扱い、検証結果が正常であるプログラムを起動するようにしてもよい。
[Seventh Embodiment]
In steps S241 and S251, the first program execution device 101-1 and the second program execution device 101-2 may be handled independently, and a program with a normal verification result may be started.

[第8の実施の形態]
ハッシュ関数として、SHA-256の代わりに、SHA-224、SHA-256、SHA-384又はSHA-512を用いてもよい。
[Eighth Embodiment]
As a hash function, SHA-224, SHA-256, SHA-384, or SHA-512 may be used instead of SHA-256.

[第9の実施の形態]
図12は、第1プログラム実行装置101−1と第2プログラム実行装置101−2の起動制御に係わらない部分も含んだ構成を示すブロック図である。
[Ninth Embodiment]
FIG. 12 is a block diagram showing a configuration including a part not related to the activation control of the first program execution device 101-1 and the second program execution device 101-2.

図12を参照すると、第1プログラム実行装置101−1は、第1CPU103−1、第1外部インターフェース121−1、第1タイマ131−1、第1メモリコントロール133−1及び第1外部記憶装置インターフェース135−1を含む。   Referring to FIG. 12, the first program execution device 101-1 includes a first CPU 103-1, a first external interface 121-1, a first timer 131-1, a first memory control 133-1, and a first external storage device interface. 135-1.

第1CPU103−1は、第1外部記憶装置インターフェース135−1を介して、第1外部記憶装置163−1にアクセスし、第1メモリコントロール133−1を介して、第1メモリ161−1にアクセスする。また、第1CPU103−1は、第1外部記憶装置インターフェース135−1に格納されている起動制御プログラムを読み込んで実行することにより、第1プログラム実行装置101−1を、第1起動制御装置として機能させる。この際、第1CPU103−1は、第1メモリ161−1にアクセスしてもよい。この第1起動制御装置は、図1に示すような第1演算部111−1、第1乱数発生部109−1、第2参照後半演算部117−1及び第1診断部119−1を含む。   The first CPU 103-1 accesses the first external storage device 163-1 via the first external storage device interface 135-1, and accesses the first memory 161-1 via the first memory control 133-1. To do. Further, the first CPU 103-1 functions by using the first program execution device 101-1 as the first activation control device by reading and executing the activation control program stored in the first external storage device interface 135-1. Let At this time, the first CPU 103-1 may access the first memory 161-1. The first activation control device includes a first calculation unit 111-1, a first random number generation unit 109-1, a second reference second half calculation unit 117-1 and a first diagnosis unit 119-1 as shown in FIG. .

第2プログラム実行装置101−2は、第2CPU103−2、第2外部インターフェース121−2、第2タイマ131−2、第2メモリコントロール133−2及び第2外部記憶装置インターフェース135−2を含む。   The second program execution device 101-2 includes a second CPU 103-2, a second external interface 121-2, a second timer 131-2, a second memory control 133-2, and a second external storage device interface 135-2.

第2CPU103−2は、第2外部記憶装置インターフェース135−2を介して、第2外部記憶装置163−2及び第3外部記憶装置163−3にアクセスし、第2メモリコントロール133−2を介して、第2メモリ161−2にアクセスする。また、第2CPU103−2は、第2外部記憶装置インターフェース135−2に格納されている起動制御プログラムを読み込んで実行することにより、第2プログラム実行装置101−2を、第2起動制御装置として機能させる。この際、第2CPU103−2は、第2メモリ161−2にアクセスしてもよい。この第2起動制御装置は、図1に示すような第2演算部111−2、第2乱数発生部109−2、第1参照後半演算部117−2及び第2診断部119−2を含む。   The second CPU 103-2 accesses the second external storage device 163-2 and the third external storage device 163-3 via the second external storage device interface 135-2, and via the second memory control 133-2. The second memory 161-2 is accessed. The second CPU 103-2 functions by using the second program execution device 101-2 as a second activation control device by reading and executing the activation control program stored in the second external storage device interface 135-2. Let At this time, the second CPU 103-2 may access the second memory 161-2. The second activation control device includes a second calculation unit 111-2, a second random number generation unit 109-2, a first reference second half calculation unit 117-2, and a second diagnosis unit 119-2 as shown in FIG. .

[第10の実施の形態]
図13は、第1プログラム実行装置101−1と第2プログラム実行装置101−2が複合機のために利用される場合の複合機の構成を示す機能ブロック図である。図12に示す構成要素に加え、プリントエンジン制御ブロック171、スキャナ制御ブロック173を含み、第2プログラム実行装置101−2は、これらに接続される。
[Tenth embodiment]
FIG. 13 is a functional block diagram showing the configuration of the multifunction machine when the first program execution device 101-1 and the second program execution device 101-2 are used for the multifunction machine. 12 includes a print engine control block 171 and a scanner control block 173, and the second program execution device 101-2 is connected to these components.

[第11の実施の形態]
図14は、第11の実施の形態の複合機の構成を示す断面である。
図14を参照すると、複合機800は、外部から伝達された画像データに応じて、所定のシート(記録用紙)に対して多色及び単色の画像を形成するもので、装置本体810と、自動原稿処理装置820とにより構成されている。装置本体810は、露光ユニット1、現像器2、感光体ドラム3、クリーナユニット4、帯電器5、中間転写ベルトユニット6、定着ユニット7、給紙カセット81、排紙トレイ91等を有して構成されている。
[Eleventh embodiment]
FIG. 14 is a cross-sectional view showing the configuration of the multifunction machine according to the eleventh embodiment.
Referring to FIG. 14, the multi-function device 800 forms multi-color and single-color images on a predetermined sheet (recording paper) according to image data transmitted from the outside. And a document processing device 820. The apparatus main body 810 includes an exposure unit 1, a developing device 2, a photosensitive drum 3, a cleaner unit 4, a charger 5, an intermediate transfer belt unit 6, a fixing unit 7, a paper feed cassette 81, a paper discharge tray 91, and the like. It is configured.

装置本体810の上部には、原稿が載置される透明ガラスからなる原稿載置台92が設けられ、原稿載置台92の上側には自動原稿処理装置820が取り付けられている。自動原稿処理装置820は、原稿載置台92の上に自動で原稿を搬送する。また原稿処理装置820は矢印M方向に回動自在に構成され、原稿載置台92の上を開放することにより原稿を手置きで置くことができるようになっている。   A document placing table 92 made of transparent glass on which a document is placed is provided on the upper portion of the apparatus main body 810, and an automatic document processing device 820 is attached to the upper side of the document placing table 92. The automatic document processor 820 automatically conveys the document onto the document table 92. The document processing device 820 is configured to be rotatable in the direction of the arrow M, and the document can be placed manually by opening the document table 92.

本複合機において扱われる画像データは、ブラック(K)、シアン(C)、マゼンタ(M)、イエロー(Y)の各色を用いたカラー画像に応じたものである。従って、現像器2、感光体ドラム3、帯電器5、クリーナユニット4は、各色に応じた4種類の潜像を形成するようにそれぞれ4個ずつ設けられ、それぞれブラック、シアン、マゼンタ、イエローに設定され、これらによって4つの画像ステーションが構成されている。   The image data handled in this multifunction device is in accordance with a color image using each color of black (K), cyan (C), magenta (M), and yellow (Y). Accordingly, four developing devices 2, photosensitive drums 3, charging devices 5, and cleaner units 4 are provided to form four types of latent images corresponding to the respective colors, and are respectively provided in black, cyan, magenta, and yellow. These are set to form four image stations.

帯電器5は、感光体ドラム3の表面を所定の電位に均一に帯電させるための帯電手段であり、図1に示すようなチャージャ型の他、接触型のローラ型やブラシ型の帯電器が用いられることもある。   The charger 5 is a charging means for uniformly charging the surface of the photosensitive drum 3 to a predetermined potential. In addition to the charger type as shown in FIG. 1, a contact type roller type or brush type charger is used. Sometimes used.

露光ユニット1は、本発明に関わる画像書込み装置に該当するものであり、レーザ出射部及び反射ミラー等を備えたレーザスキャニングユニット(LSU)として構成される。露光ユニット1は、レーザビームを走査するポリゴンミラーと、ポリゴンミラーによって反射されたレーザ光を感光体ドラム3に導くためのレンズやミラー等の光学要素が配置されている。露光ユニット1を構成する光走査装置の構成は、後述して具体的に説明する。また露光ユニット1としては、この他発光素子をアレイ状に並べた例えばELやLED書込みヘッドを用いる手法も採用できる。   The exposure unit 1 corresponds to an image writing apparatus according to the present invention, and is configured as a laser scanning unit (LSU) including a laser emitting unit, a reflection mirror, and the like. The exposure unit 1 includes a polygon mirror that scans a laser beam and optical elements such as a lens and a mirror for guiding the laser beam reflected by the polygon mirror to the photosensitive drum 3. The configuration of the optical scanning device constituting the exposure unit 1 will be specifically described later. As the exposure unit 1, for example, a technique using an EL or LED writing head in which other light emitting elements are arranged in an array can be employed.

露光ユニット1は、帯電された感光体ドラム3を入力された画像データに応じて露光することにより、その表面に、画像データに応じた静電潜像を形成する機能を有する。現像器2はそれぞれの感光体ドラム3上に形成された静電潜像を4色(YMCK)のトナーにより顕像化するものである。またクリーナユニット4は、現像・画像転写後における感光体ドラム3上の表面に残留したトナーを、除去・回収する。   The exposure unit 1 has a function of forming an electrostatic latent image corresponding to the image data on the surface thereof by exposing the charged photosensitive drum 3 according to the input image data. The developing unit 2 visualizes the electrostatic latent images formed on the respective photosensitive drums 3 with toner of four colors (YMCK). The cleaner unit 4 removes and collects toner remaining on the surface of the photosensitive drum 3 after development and image transfer.

感光体ドラム3の上方に配置されている中間転写ベルトユニット6は、中間転写ベルト61、中間転写ベルト駆動ローラ62、中間転写ベルト従動ローラ63、中間転写ローラ64、及び中間転写ベルトクリーニングユニット65を備えている。上記中間転写ローラ64は、YMCK用の各色に対応して4本設けられている。   The intermediate transfer belt unit 6 disposed above the photosensitive drum 3 includes an intermediate transfer belt 61, an intermediate transfer belt driving roller 62, an intermediate transfer belt driven roller 63, an intermediate transfer roller 64, and an intermediate transfer belt cleaning unit 65. I have. Four intermediate transfer rollers 64 are provided corresponding to each color for YMCK.

中間転写ベルト駆動ローラ62、中間転写ベルト従動ローラ63、及び中間転写ローラ64は、中間転写ベルト61を張架して回転駆動させる。また各中間転写ローラ64は、感光体ドラム3のトナー像を、中間転写ベルト61上に転写するための転写バイアスを与える。   The intermediate transfer belt driving roller 62, the intermediate transfer belt driven roller 63, and the intermediate transfer roller 64 are driven to rotate while the intermediate transfer belt 61 is stretched. Each intermediate transfer roller 64 provides a transfer bias for transferring the toner image on the photosensitive drum 3 onto the intermediate transfer belt 61.

中間転写ベルト61は、各感光体ドラム3に接触するように設けられている、そして、感光体ドラム3に形成された各色のトナー像を中間転写ベルト61に順次的に重ねて転写することによって、中間転写ベルト61上にカラーのトナー像(多色トナー像)を形成する機能を有している。中間転写ベルト61は、例えば厚さ100μm〜150μm程度のフィルムを用いて無端状に形成されている。   The intermediate transfer belt 61 is provided so as to be in contact with each photoconductor drum 3, and the toner images of the respective colors formed on the photoconductor drum 3 are sequentially transferred to the intermediate transfer belt 61 and transferred. Further, it has a function of forming a color toner image (multicolor toner image) on the intermediate transfer belt 61. The intermediate transfer belt 61 is formed in an endless shape using, for example, a film having a thickness of about 100 μm to 150 μm.

感光体ドラム3から中間転写ベルト61へのトナー像の転写は、中間転写ベルト61の裏側に接触している中間転写ローラ64によって行われる。中間転写ローラ64には、トナー像を転写するために高電圧の転写バイアス(トナーの帯電極性(−)とは逆極性(+)の高電圧)が印加されている。中間転写ローラ64は、直径8〜10mmの金属(例えばステンレス)軸をベースとし、その表面が導電性の弾性材(例えばEPDM,発泡ウレタン等)により覆われているローラである。この導電性の弾性材により、中間転写ベルト61に対して均一に高電圧を印加することができる。本実施の形態では転写電極としてローラ形状を使用しているが、それ以外にブラシなども用いることが可能である。   Transfer of the toner image from the photosensitive drum 3 to the intermediate transfer belt 61 is performed by an intermediate transfer roller 64 that is in contact with the back side of the intermediate transfer belt 61. A high-voltage transfer bias (a high voltage having a polarity (+) opposite to the toner charging polarity (−)) is applied to the intermediate transfer roller 64 in order to transfer the toner image. The intermediate transfer roller 64 is a roller whose base is a metal (for example, stainless steel) shaft having a diameter of 8 to 10 mm and whose surface is covered with a conductive elastic material (for example, EPDM, urethane foam, or the like). With this conductive elastic material, a high voltage can be uniformly applied to the intermediate transfer belt 61. In this embodiment, a roller shape is used as the transfer electrode, but a brush or the like can also be used.

上述の様に各感光体ドラム3上で各色相に応じて顕像化された静電像は中間転写ベルト61で積層される。このように、積層された画像情報は中間転写ベルト61の回転によって、後述の用紙と中間転写ベルト61の接触位置に配置される転写ローラ10によって用紙上に転写される。   As described above, the electrostatic images visualized on the respective photosensitive drums 3 according to the respective hues are stacked on the intermediate transfer belt 61. As described above, the laminated image information is transferred onto the sheet by the transfer roller 10 disposed at a contact position between the sheet and the intermediate transfer belt 61 described later by the rotation of the intermediate transfer belt 61.

このとき、中間転写ベルト61と転写ローラ10は所定ニップで圧接されると共に、転写ローラ10にはトナーを用紙に転写させるための電圧が印加される(トナーの帯電極性(−)とは逆極性(+)の高電圧)。さらに、転写ローラ10は上記ニップを定常的に得るために、転写ローラ10もしくは前記中間転写ベルト駆動ローラ62の何れか一方を硬質材料(金属等)とし、他方を弾性ローラ等の軟質材料(弾性ゴムローラ、または発泡性樹脂ローラ等々)が用いられる。   At this time, the intermediate transfer belt 61 and the transfer roller 10 are pressed against each other at a predetermined nip, and a voltage for transferring the toner onto the sheet is applied to the transfer roller 10 (the polarity opposite to the toner charging polarity (−)). (+) High voltage). Further, in order to obtain the nip constantly, the transfer roller 10 uses either the transfer roller 10 or the intermediate transfer belt drive roller 62 as a hard material (metal or the like), and the other as a soft material (elasticity such as an elastic roller). A rubber roller, a foaming resin roller, or the like) is used.

また、上記のように、感光体ドラム3に接触することにより中間転写ベルト61に付着したトナー、もしくは転写ローラ10によって用紙上に転写が行われず中間転写ベルト61上に残存したトナーは、次工程でトナーの混色を発生させる原因となるために、中間転写ベルトクリーニングユニット65によって除去・回収されるように設定されている。中間転写ベルトクリーニングユニット65には、中間転写ベルト61に接触する例えばクリーニング部材としてクリーニングブレードが備えられており、クリーニングブレードが接触する中間転写ベルト61は、裏側から中間転写ベルト従動ローラ63で支持されている。   Further, as described above, the toner attached to the intermediate transfer belt 61 by contacting the photosensitive drum 3 or the toner remaining on the intermediate transfer belt 61 without being transferred onto the sheet by the transfer roller 10 is used in the next step. Therefore, the intermediate transfer belt cleaning unit 65 is configured to remove and collect the toner. The intermediate transfer belt cleaning unit 65 includes a cleaning blade as a cleaning member that comes into contact with the intermediate transfer belt 61. The intermediate transfer belt 61 that comes into contact with the cleaning blade is supported by an intermediate transfer belt driven roller 63 from the back side. ing.

給紙カセット81は、画像形成に使用するシート(記録用紙)を蓄積しておくためのトレイであり、装置本体810の露光ユニット1の下側に設けられている。また手差し給紙カセット82にも画像形成に使用するシートを置くことができる。また、装置本体810の上方に設けられている排紙トレイ91は、印刷済みのシートをフェイスダウンで集積するためのトレイである。   The paper feed cassette 81 is a tray for storing sheets (recording paper) used for image formation, and is provided below the exposure unit 1 of the apparatus main body 810. A sheet used for image formation can also be placed in the manual paper feed cassette 82. A paper discharge tray 91 provided above the apparatus main body 810 is a tray for collecting printed sheets face down.

また装置本体810には、給紙カセット81及び手差し給紙カセット82のシートを転写ローラ10や定着ユニット7を経由させて排紙トレイ91に送るための、略垂直形状の用紙搬送路Sが設けられている。給紙カセット81ないし手差し給紙カセット82から排紙トレイ91までの用紙搬送路Sの近傍には、ピックアップローラ11a,11b、複数の搬送ローラ12a〜12d,レジストローラ13、転写ローラ10、定着ユニット7等が配されている。   The apparatus main body 810 is provided with a substantially vertical sheet conveyance path S for sending the sheets of the sheet feeding cassette 81 and the manual sheet feeding cassette 82 to the sheet discharge tray 91 via the transfer roller 10 and the fixing unit 7. It has been. In the vicinity of the paper transport path S from the paper feed cassette 81 or the manual paper feed cassette 82 to the paper discharge tray 91, pickup rollers 11a and 11b, a plurality of transport rollers 12a to 12d, a registration roller 13, a transfer roller 10, and a fixing unit. 7 etc. are arranged.

搬送ローラ12a〜12dは、シートの搬送を促進・補助するための小型のローラであり、用紙搬送路Sに沿って複数設けられている。またピックアップローラ11aは、給紙カセット81の端部近傍に備えられ、給紙カセット81からシートを1枚ずつピックアップして用紙搬送路Sに供給する。同様にまたピックアップローラ11bは、手差し給紙カセット82の端部近傍に備えられ、手差し給紙カセット82からシートを1枚ずつピックアップして用紙搬送路Sに供給する。   The conveyance rollers 12 a to 12 d are small rollers for promoting and assisting conveyance of the sheet, and a plurality of conveyance rollers 12 a to 12 d are provided along the sheet conveyance path S. The pickup roller 11 a is provided near the end of the paper feed cassette 81, picks up sheets one by one from the paper feed cassette 81, and supplies them to the paper transport path S. Similarly, the pickup roller 11 b is provided near the end of the manual paper feed cassette 82, picks up one sheet at a time from the manual paper feed cassette 82, and supplies it to the paper transport path S.

また、レジストローラ13は、用紙搬送路Sを搬送されているシートを一旦保持するものである。そして、感光体ドラム3上のトナー像の先端とシートの先端を合わせるタイミングでシートを転写ローラ10に搬送する機能を有している。   Further, the registration roller 13 temporarily holds the sheet being conveyed through the sheet conveyance path S. The sheet has a function of conveying the sheet to the transfer roller 10 at the timing when the leading edge of the toner image on the photosensitive drum 3 and the leading edge of the sheet are aligned.

定着ユニット7は、ヒートローラ71及び加圧ローラ72を備えており、ヒートローラ71及び加圧ローラ72は、シートを挟んで回転するようになっている。またヒートローラ71は、図示しない温度検出器からの信号に基づいて制御部によって所定の定着温度となるように設定されており、加圧ローラ72とともにトナーをシートに熱圧着することにより、シートに転写された多色トナー像を溶融・混合・圧接し、シートに対して熱定着させる機能を有している。またヒートローラ71を外部から加熱するための外部加熱ベルト73が設けられている。   The fixing unit 7 includes a heat roller 71 and a pressure roller 72, and the heat roller 71 and the pressure roller 72 rotate with the sheet interposed therebetween. The heat roller 71 is set so as to reach a predetermined fixing temperature by a control unit based on a signal from a temperature detector (not shown), and the toner is thermocompression bonded to the sheet together with the pressure roller 72. It has the function of fusing, mixing, and pressing the transferred multicolor toner image and thermally fixing the sheet. Further, an external heating belt 73 for heating the heat roller 71 from the outside is provided.

次にシート搬送経路を詳細に説明する。上述のように、複合機には予めシートを収納する給紙カセット81、及び手差し給紙カセット82が設けられている。これら給紙カセット81,82からシートを給紙するために、各々ピックアップローラ11a,11bが配置され、シートを1枚ずつ搬送路Sに導くようになっている。   Next, the sheet conveyance path will be described in detail. As described above, the multifunction peripheral is provided with the sheet feeding cassette 81 for storing sheets and the manual sheet feeding cassette 82 in advance. Pickup rollers 11a and 11b are arranged to feed sheets from the sheet feeding cassettes 81 and 82, respectively, and guide the sheets one by one to the conveyance path S.

各給紙カセット81,82から搬送されるシートは用紙搬送路Sの搬送ローラ12aによってレジストローラ13まで搬送され、シートの先端と中間転写ベルト61上の画像情報の先端を整合するタイミングで転写ローラ10に搬送され、シート上に画像情報が書き込まれる。その後、シートは定着ユニット7を通過することによってシート上の未定着トナーが熱で溶融・固着され、その後に配された搬送ローラ12bを経て排紙トレイ91上に排出される。   The sheet conveyed from each of the sheet feeding cassettes 81 and 82 is conveyed to the registration roller 13 by the conveying roller 12a in the sheet conveying path S, and the transfer roller is aligned at a timing when the leading edge of the sheet and the leading edge of the image information on the intermediate transfer belt 61 are aligned. 10 and image information is written on the sheet. Thereafter, the sheet passes through the fixing unit 7, whereby the unfixed toner on the sheet is melted and fixed by heat, and then discharged onto the paper discharge tray 91 through the conveying roller 12 b disposed thereafter.

上記の搬送経路は、シートに対する片面印字要求のときのものであるが、これに対して両面印字要求の時は、上記のように片面印字が終了し定着ユニット7を通過したシートの後端が最終の搬送ローラ12bで把持されたときに、搬送ローラ12bが逆回転することによってシートを搬送ローラ12c,12dに導く。そしてその後レジストローラ13を経てシート裏面に印字が行われた後にシートが排紙トレイ91に排出される。   The above-mentioned conveyance path is for a single-sided printing request for a sheet. On the other hand, when a double-sided printing request is made, the trailing edge of the sheet that has finished single-sided printing and has passed through the fixing unit 7 as described above. When the sheet is held by the final conveying roller 12b, the conveying roller 12b rotates backward to guide the sheet to the conveying rollers 12c and 12d. Then, after printing is performed on the back surface of the sheet through the registration roller 13, the sheet is discharged to the discharge tray 91.

なお、上記の起動制御システムは、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。また、上記の起動制御システムにより行なわれる起動制御方法も、ハードウェア、ソフトウェア又はこれらに組合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。   Note that the activation control system described above can be realized by hardware, software, or a combination thereof. The activation control method performed by the activation control system can also be realized by hardware, software, or a combination thereof. Here, “realized by software” means realized by a computer reading and executing a program.

プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   The program may be stored using various types of non-transitory computer readable media and supplied to the computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer readable media include magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Read Only Memory), CD- R, CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory)). The program may also be supplied to the computer by various types of transitory computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

本発明は、演算処理装置の起動を制御するために用いることができる。   The present invention can be used to control activation of an arithmetic processing unit.

101−1 第1プログラム実行装置
101−2 第2プログラム実行装置
151 監視装置
103−1 第1CPU
109−1 第1乱数発生部
111−1 第1演算部
117−1 参照用第2後半演算部
121−1 第1外部インターフェース
113−1 第1実地前半演算部
115−1 第1実地後半演算部
103−2 第2CPU
109−2 第2乱数発生部
111−2 第2演算部
117−2 参照用第2後半演算部
121−2 第2外部インターフェース
113−2 第2実地前半演算部
115−2 第2実地後半演算部
153 監視部
155 起動制御部
101-1 First Program Execution Device 101-2 Second Program Execution Device 151 Monitoring Device 103-1 First CPU
109-1 1st random number generation part 111-1 1st operation part 117-1 2nd second half operation part for reference 121-1 1st external interface 113-1 1st actual first half operation part 115-1 1st actual second half operation part 103-2 Second CPU
109-2 Second random number generator 111-2 Second arithmetic unit 117-2 Reference second second half arithmetic unit 121-2 Second external interface 113-2 Second real first half arithmetic unit 115-2 Second real second half arithmetic unit 153 Monitoring unit 155 Activation control unit

Claims (13)

第1演算処理装置の起動と、第2演算処理装置の起動を制御するための起動制御システムであって、
前記第1演算処理装置により実行される第1プログラムに基づく第1演算の第1結果の期待値であって、前記第2演算処理装置から参照することが可能な第1参照データ及び第1乱数に基づいて前記第2演算処理装置で算出した前記第1結果の前記期待値と、前記第1プログラム及び前記第1乱数に基づく前記第1演算を前記第1演算処理装置で実行して得た前記第1結果の実際値とを比較することによって、前記第1演算処理装置を診断する第1診断手段と、
前記第2演算処理装置により実行される第2プログラムに基づく第2演算の第2結果の期待値であって、前記第1演算処理装置から参照することが可能な第2参照データ及び第2乱数に基づいて前記第1演算処理装置で算出した前記第2結果の期待値と、前記第2プログラム及び前記第2乱数に基づく前記第2演算を前記第2演算処理装置で実行して得た前記第2結果の実際値とを比較することによって、前記第2演算処理装置を診断する第2診断手段と、
前記第1診断手段による診断結果及び前記第2診断手段による診断結果に少なくとも基づいて、前記第1演算処理装置及び前記第2演算処理装置それぞれによる前記第1プログラム及び前記第2プログラムの起動を制御する起動制御手段と、
を備えることを特徴とする起動制御システム。
An activation control system for controlling activation of the first arithmetic processing unit and activation of the second arithmetic processing unit,
The first reference data and the first random number, which are expected values of the first result of the first calculation based on the first program executed by the first arithmetic processing unit and can be referred to from the second arithmetic processing unit Obtained by executing the first calculation based on the first calculation based on the first calculation based on the first value based on the first program and the first random number on the first calculation processing unit. First diagnostic means for diagnosing the first arithmetic processing unit by comparing the actual value of the first result;
Second reference data and a second random number that are expected values of the second result of the second calculation based on the second program executed by the second arithmetic processing unit and can be referred to from the first arithmetic processing unit The expected value of the second result calculated by the first arithmetic processing unit based on the second arithmetic processing unit and the second arithmetic operation based on the second program and the second random number obtained by the second arithmetic processing unit. A second diagnostic means for diagnosing the second arithmetic processing unit by comparing the actual value of the second result;
Control activation of the first program and the second program by the first arithmetic processing unit and the second arithmetic processing unit, respectively, based on at least the diagnostic result by the first diagnostic unit and the diagnostic result by the second diagnostic unit. Starting control means to
An activation control system comprising:
請求項1に記載の起動制御システムであって、
前記第1演算処理装置は、
前記第1演算を、前記第1プログラム及び前記第1乱数に基づいて前記第1結果の前記実際値を算出するための第1演算手段を備え、
前記第2演算処理装置は、
前記第1参照データ及び前記第1乱数に基づいて前記第1結果の期待値を算出するための参照用第1後半演算手段を備え、
前記第2演算処理装置は、
前記第2演算を、前記第2プログラム及び前記第2乱数に基づいて前記第2結果の前記実際値を算出するための第2演算手段を備え、
前記第1演算処理装置は、
前記第2参照データ及び前記第2乱数に基づいて前記第2結果の期待値を算出するための参照用第2後半演算手段を備えることを特徴とする起動制御システム。
The activation control system according to claim 1,
The first arithmetic processing unit includes:
The first calculation includes a first calculation means for calculating the actual value of the first result based on the first program and the first random number,
The second arithmetic processing unit includes:
A first second-half calculation means for reference for calculating an expected value of the first result based on the first reference data and the first random number;
The second arithmetic processing unit includes:
The second calculation comprises a second calculation means for calculating the actual value of the second result based on the second program and the second random number,
The first arithmetic processing unit includes:
An activation control system comprising: a second second-half calculation unit for reference for calculating an expected value of the second result based on the second reference data and the second random number.
請求項2に記載の起動制御システムであって、
前記第1演算手段は、
前記第1プログラムに基づいて前記第1参照データに対応する第1中間演算結果を算出するための第1実地前半演算手段と、
前記第1中間演算結果及び前記第1乱数に基づいて前記第1結果の前記実際値を算出するための第1実地後半演算手段と、
を備え、
前記第2演算手段は、
前記第2プログラムに基づいて前記第2参照データに対応する第2中間演算結果を算出するための第2実地前半演算手段と、
前記第2中間演算結果及び前記第2乱数に基づいて前記第2結果の前記実際値を算出するための第2実地後半演算手段と、
を備えることを特徴とする起動制御システム。
The activation control system according to claim 2,
The first calculation means includes
First actual first half calculation means for calculating a first intermediate calculation result corresponding to the first reference data based on the first program;
First actual second half calculation means for calculating the actual value of the first result based on the first intermediate calculation result and the first random number;
With
The second calculation means includes
Second actual first half calculation means for calculating a second intermediate calculation result corresponding to the second reference data based on the second program;
Second actual second half calculation means for calculating the actual value of the second result based on the second intermediate calculation result and the second random number;
An activation control system comprising:
請求項2又は3に記載の起動制御システムであって、
前記第1演算処理装置と前記第2演算処理装置との間の通信を監視するための監視装置を更に備え、
前記監視装置は、
前記第1乱数の前記第1演算装置から前記第2演算装置への送信、
前記第2乱数の前記第2演算装置から前記第1演算装置への送信、
前記第1結果の前記実際値の前記第1演算装置から前記第2演算装置への送信、又は、
前記第1結果の期待値の前記第2演算装置から前記第1演算装置への送信、及び
前記第2結果の前記実際値の前記第2演算装置から前記第1演算装置への送信、又は、
前記第2結果の期待値の前記第1演算装置から前記第2演算装置への送信、
のうちの少なくとも一つの送信を監視することを特徴とする起動制御システム。
The activation control system according to claim 2 or 3,
A monitoring device for monitoring communication between the first processing unit and the second processing unit;
The monitoring device
Transmission of the first random number from the first arithmetic unit to the second arithmetic unit;
Transmission of the second random number from the second arithmetic unit to the first arithmetic unit;
Transmission of the actual value of the first result from the first arithmetic unit to the second arithmetic unit, or
Transmission of the expected value of the first result from the second arithmetic unit to the first arithmetic unit, and transmission of the actual value of the second result from the second arithmetic unit to the first arithmetic unit, or
Transmission of the expected value of the second result from the first arithmetic unit to the second arithmetic unit;
An activation control system for monitoring at least one of the transmissions.
請求項4に記載の起動制御システムであって、
前記起動制御手段は、前記監視装置による前記送信の監視結果にも基づいて、前記第1演算処理装置及び前記第2演算処理装置それぞれによる前記第1プログラム及び前記第2プログラムの起動を制御することを特徴とする起動制御システム。
The activation control system according to claim 4,
The activation control unit controls activation of the first program and the second program by the first arithmetic processing unit and the second arithmetic processing unit, respectively, based on a monitoring result of the transmission by the monitoring unit. A start control system characterized by
請求項1乃至5の何れか1項に記載の起動制御システムであって、
前記第1乱数は、第1演算処理装置で生成したものであり、前記第2乱数は、第2演算処理装置で生成したものであることを特徴とする起動制御システム。
The activation control system according to any one of claims 1 to 5,
The activation control system according to claim 1, wherein the first random number is generated by a first arithmetic processing unit, and the second random number is generated by a second arithmetic processing unit.
請求項1乃至5の何れか1項に記載の起動制御システムであって、
前記第1乱数は、第2演算処理装置で生成したものであり、前記第2乱数は、第1演算処理装置で生成したものであることを特徴とする起動制御システム。
The activation control system according to any one of claims 1 to 5,
The activation control system according to claim 1, wherein the first random number is generated by a second arithmetic processing unit, and the second random number is generated by the first arithmetic processing unit.
請求項1乃至7の何れか1項の何れか1項に記載の起動制御システムであって、
前記第1診断手段が、前記第1演算処理装置に備わり、前記第2診断手段が、前記第2演算処理装置に備わることを特徴とする起動制御システム。
The activation control system according to any one of claims 1 to 7,
An activation control system, wherein the first diagnostic means is provided in the first arithmetic processing unit, and the second diagnostic means is provided in the second arithmetic processing unit.
請求項1乃至7の何れか1項に記載の起動制御システムであって、
前記第1診断手段が、前記第2演算処理装置に備わり、前記第2診断手段が、前記第1演算処理装置に備わることを特徴とする起動制御システム。
The activation control system according to any one of claims 1 to 7,
An activation control system, wherein the first diagnostic means is provided in the second arithmetic processing unit, and the second diagnostic means is provided in the first arithmetic processing unit.
前記第1演算処理装置、前記第2演算処理装置及び第3のコンピュータを請求項1乃至9の何れか1項に記載の起動制御システムとして機能させるための起動制御用プログラム群。   A startup control program group for causing the first arithmetic processing unit, the second arithmetic processing unit, and the third computer to function as the startup control system according to any one of claims 1 to 9. 複数の演算処理装置の起動を制御するための起動制御システムであって、
前記複数の演算処理装置は、1番目からN番目まであり、
i=Nの場合には、i+1=1として、
第i演算処理装置は、
第i演算処理装置により実行される第iプログラムに基づく第i演算の第i結果の期待値であって、第(i+1)演算処理装置から参照することが可能な第i参照データ及び第i乱数に基づいて前記第(i+1)演算処理装置で算出した前記第i結果の前記期待値と、前記第iプログラム及び前記第i乱数に基づく前記第i演算を前記第i演算処理装置で実行して得た前記第i結果の実際値とを比較することによって、前記第i演算処理装置を診断する第i診断手段と、
前記第i診断手段による第i診断結果に少なくとも基づいて、第i演算処理装置それぞれによる前記第iプログラムの起動を制御する起動制御手段と、
を備えることを特徴とする起動制御システム。
An activation control system for controlling activation of a plurality of arithmetic processing devices,
The plurality of arithmetic processing units are first to Nth,
If i = N, then i + 1 = 1.
The i th arithmetic processing unit is
The i-th reference data and the i-th random number that are expected values of the i-th result of the i-th operation based on the i-th program executed by the i-th arithmetic processing device and can be referred to from the (i + 1) -th arithmetic processing device The i-th arithmetic processing unit executes the i-th arithmetic based on the expected value of the i-th result calculated by the (i + 1) -th arithmetic processing unit and the i-th program and the i-th random number. I-th diagnostic means for diagnosing the i-th arithmetic processing unit by comparing the obtained actual value of the i-th result;
Activation control means for controlling the activation of the i-th program by each of the i-th arithmetic processing units based at least on the i-th diagnosis result by the i-th diagnosis means;
An activation control system comprising:
第1の演算処理装置、第2の演算処理装置、管理装置を有する電子機器であって、
前記第1の演算処理装置と前記第2の演算処理装置は、前記第1の演算処理装置により実行される第1のプログラムと前記第2の演算処理装置により実行される第2のプログラムの正当性を相互に確認するプロセスを実行する手段を備え、
前記監視装置は前記確認プロセスを監視する手段を備えることを特徴とする電子機器。
An electronic apparatus having a first arithmetic processing device, a second arithmetic processing device, and a management device,
The first arithmetic processing unit and the second arithmetic processing unit are valid for the first program executed by the first arithmetic processing unit and the second program executed by the second arithmetic processing unit. A means to carry out a process of confirming sex
The electronic apparatus according to claim 1, wherein the monitoring device includes means for monitoring the confirmation process.
第1の演算処理装置、第2の演算処理装置、管理装置を有する電子機器であって、
前記第1の演算処理装置は、前記第2の演算処理装置により実行されるプログラムの正当性を確認するプロセスを実行する手段を備え、
前記監視装置は前記確認プロセスを監視する手段を備えることを特徴とする電子機器。
An electronic apparatus having a first arithmetic processing device, a second arithmetic processing device, and a management device,
The first arithmetic processing unit includes means for executing a process for confirming the validity of a program executed by the second arithmetic processing unit,
The electronic apparatus according to claim 1, wherein the monitoring device includes means for monitoring the confirmation process.
JP2016138649A 2016-07-13 2016-07-13 Start-up control system as well as start-up control program and start-up control program group Pending JP2018010471A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016138649A JP2018010471A (en) 2016-07-13 2016-07-13 Start-up control system as well as start-up control program and start-up control program group

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016138649A JP2018010471A (en) 2016-07-13 2016-07-13 Start-up control system as well as start-up control program and start-up control program group

Publications (1)

Publication Number Publication Date
JP2018010471A true JP2018010471A (en) 2018-01-18

Family

ID=60995631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016138649A Pending JP2018010471A (en) 2016-07-13 2016-07-13 Start-up control system as well as start-up control program and start-up control program group

Country Status (1)

Country Link
JP (1) JP2018010471A (en)

Similar Documents

Publication Publication Date Title
US7315702B2 (en) Image forming apparatus capable of reducing time unable to perform image formation due to temperature change of image bearing member
JP5863011B2 (en) Image forming apparatus
US8909078B2 (en) Image forming apparatus
US8131162B2 (en) Image forming apparatus for detecting a non-qualified developer cartridge
US20070147928A1 (en) Image forming system, method of realizing simulated printing operation, program for implementing the method, and storage medium storing the program
US8817294B2 (en) Image forming apparatus
US20140193184A1 (en) Decolorization processing method and decolorizing device
JP2018010471A (en) Start-up control system as well as start-up control program and start-up control program group
US20180074446A1 (en) Image forming apparatus
JP4387701B2 (en) Image forming apparatus
JP2010117636A (en) Image forming device
JP2008262295A (en) Image forming system
US20110188876A1 (en) Image forming device
JP2015005157A (en) Information processing apparatus, and restarting method for input/output controller
JP4123147B2 (en) Image forming apparatus
JP2012194840A (en) Information processing device and image formation device
CN117572736A (en) Imaging control method and device thereof
JPS58144842A (en) Sequence control system of copying machine
JP2023073052A (en) Image forming apparatus and program
JP2020129086A (en) Image forming device
JP2009169191A (en) Electrophotographic printer
JP2005234859A (en) Remote update sequence for control program
JP2021060526A (en) Image forming apparatus
JP2002307776A (en) Color imaging apparatus
JP2007323227A (en) Power monitoring control circuit and image forming apparatus using the same