JP2018142078A - Information processing system and information processing method - Google Patents

Information processing system and information processing method Download PDF

Info

Publication number
JP2018142078A
JP2018142078A JP2017034784A JP2017034784A JP2018142078A JP 2018142078 A JP2018142078 A JP 2018142078A JP 2017034784 A JP2017034784 A JP 2017034784A JP 2017034784 A JP2017034784 A JP 2017034784A JP 2018142078 A JP2018142078 A JP 2018142078A
Authority
JP
Japan
Prior art keywords
information
block data
patch
application
arithmetic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017034784A
Other languages
Japanese (ja)
Other versions
JP6814659B2 (en
Inventor
安西 史圭
Fumiyoshi Anzai
史圭 安西
健司 ▲高▼尾
健司 ▲高▼尾
Kenji Takao
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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2017034784A priority Critical patent/JP6814659B2/en
Publication of JP2018142078A publication Critical patent/JP2018142078A/en
Application granted granted Critical
Publication of JP6814659B2 publication Critical patent/JP6814659B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing system capable of improving cyber security by preventing starting of a reliability program and an illicit program while maintaining distributed process and an information processing method thereof.SOLUTION: Each of a plurality of calculation devices includes a control unit, a data generation unit and a communication unit. The control unit determines permission or not of execution of processing of a matter on the basis of list information indicating matters to be permitted or not. The data generation unit generates current block data including a verification value according to block data of the previous block data, and history information concerning the occurrence of the matter and accumulated until this moment. The communication unit broadcasts the block data to the plurality of calculation devices.SELECTED DRAWING: Figure 2

Description

本発明は、情報処理システム及び情報処理方法に関する。   The present invention relates to an information processing system and an information processing method.

発電プラント、鉄道システム、船舶、自動車、工場のオートメーション等において、それらの運転を制御するために分散制御システムが用いられることがある。分散制御システムなどの分散システムは、冗長化構成を有する。冗長化構成とは、多重化構成とも呼ばれる。安全性を確保するため、2つ又はそれ以上(例えば、4つ)のサブシステムを備え、サブシステム間で同一の処理を並列に実行可能とする。このとき、各サブシステムを構成する演算装置は、起動時に自装置が備えるハードウェアとソフトウェアの組み合わせが適切か否かを確認することがある。例えば、複数の異なるユーザによる二重承認が得られるときにソフトウェアの更新を行うことが提案されている(特許文献1)。また、分散システムにおいて、認証局サーバ(CA:Certification Authority)を設けておき、演算装置は認証された電子証明書を用いて演算装置にアクセスするユーザの認証を行うことが提案されている(特許文献2)。また、監視モニタ等の管理装置から提供されるホワイトリストを用いて、演算装置は予め許可されたソフトウェアやプロセス以外のソフトウェアやプロセスの起動を行わないことが提案されている。   In a power plant, a railway system, a ship, an automobile, a factory automation, and the like, a distributed control system may be used to control their operation. A distributed system such as a distributed control system has a redundant configuration. The redundant configuration is also called a multiplexed configuration. In order to ensure safety, two or more (for example, four) subsystems are provided, and the same processing can be executed in parallel between the subsystems. At this time, the computing devices constituting each subsystem may check whether the combination of hardware and software included in the own device is appropriate at the time of activation. For example, it has been proposed to update software when double approval by a plurality of different users is obtained (Patent Document 1). In a distributed system, it is proposed that a certificate authority server (CA) is provided and the computing device authenticates a user who accesses the computing device using an authenticated electronic certificate (patent). Reference 2). Further, it has been proposed that the arithmetic device does not start software or processes other than software or processes permitted in advance using a white list provided from a management device such as a monitor.

特許第5964077号公報Japanese Patent No. 5964077 特許第5593416号公報Japanese Patent No. 5593416

しかしながら、冗長化構成をとる場合、互いにソフトウェア構成を確認するために演算装置間で相互に通信が発生する。そのため、冗長化台数が増えると、演算装置間で送受信されるデータの通信量が著しく増える。冗長化台数とは、冗長化構成におけるサブシステムの数である。冗長化台数は、多重度と呼ばれることもある。例えば、サブシステム、即ち演算装置の個数がn(nは、1より大きい整数)個である場合には、演算装置間における通信量は、冗長化構成をとらない場合のn(n−1)/2倍となる。そのため、冗長化台数を容易に増やすことができないという課題があった。
また、サイバーセキュリティを確保するために認証局サーバが設けられる場合、認証局サーバが各種のサイバーセキュリティに関する機能に関して中央サーバとしての役割を担う。そのため、分散システムであるにも関わらず、認証局サーバに障害が発生すると、分散システム全体の稼働に影響を及ぼしうるという課題が生じていた。認証局サーバの設置は、ユーザの成りすましに対しては有効な対策であるが、予め許可されたソフトウェア以外の不正なソフトウェアの適用を防止することができない。例えば、感染防止に予め許可したプログラムのみ起動を許可するホワイトリスト方式が用いられる場合、ソフトウェアの更新の度に実行が許可されるソフトウェアを示すホワイトリストの配信を要するうえ、冗長化台数が多いほど更新ならびに配信の負荷が多くなる。更新ならびに配信のために専用の配信サーバを分散システムに設置すると、認証局サーバと同様に、その障害により分散システム全体の稼働に影響を及ぼしうるという課題を生じる。
However, when a redundant configuration is adopted, communication occurs between the arithmetic devices to mutually confirm the software configuration. For this reason, when the number of redundant units increases, the amount of communication of data transmitted and received between arithmetic devices increases remarkably. The number of redundant units is the number of subsystems in the redundant configuration. The number of redundant units is sometimes called multiplicity. For example, when the number of subsystems, that is, the number of arithmetic devices is n (n is an integer greater than 1), the amount of communication between the arithmetic devices is n (n−1) when no redundant configuration is adopted. / 2 times. Therefore, there was a problem that the number of redundant units could not be easily increased.
When a certificate authority server is provided in order to ensure cyber security, the certificate authority server plays a role as a central server for various cyber security functions. For this reason, there has been a problem that, even though the system is a distributed system, a failure of the certificate authority server may affect the operation of the entire distributed system. The installation of a certificate authority server is an effective measure against user impersonation, but it cannot prevent the application of unauthorized software other than software permitted in advance. For example, when a whitelist method is used that allows only programs that have been permitted in advance to prevent infection, it is necessary to distribute a whitelist indicating the software that is permitted to be executed every time the software is updated, and the more redundant the number Update and distribution load increases. When a dedicated distribution server is installed in the distributed system for updating and distribution, the problem arises that the operation of the entire distributed system may be affected by the failure, like the certificate authority server.

本発明は、上述の課題を鑑みてなされたものであり、分散処理を維持しながら信頼性及び不正なプログラム起動を防止してサイバーセキュリティを向上することができる情報処理システム及び情報処理方法を提供することを目的としている。   The present invention has been made in view of the above-described problems, and provides an information processing system and an information processing method capable of improving cyber security by preventing reliability and unauthorized program activation while maintaining distributed processing. The purpose is to do.

本実施形態の一態様は、複数の演算装置を備える情報処理システムであって、前記複数の演算装置のそれぞれは、前記演算装置で許可又は許可しない事項を示すリスト情報に基づいて、前記事項についての処理の実行の許否を判定する制御部と、前時点のブロックデータに基づく検証値と、前記事項の発生に関する現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成するデータ生成部と、前記ブロックデータを前記複数の演算装置間で同報する通信部と、を備える情報処理システムである。   One aspect of the present embodiment is an information processing system including a plurality of arithmetic devices, wherein each of the plurality of arithmetic devices is based on list information indicating matters that are permitted or not permitted in the arithmetic devices. A data generation unit that generates current block data including a control unit that determines whether or not to execute the process, a verification value based on block data at a previous time point, and history information accumulated up to the present time regarding occurrence of the item And a communication unit that broadcasts the block data among the plurality of arithmetic devices.

本実施形態の一態様は、上述の情報処理システムであって、実行が許可されたプログラムを示すプログラムリスト情報を含む開始時点の第1ブロックデータを前記複数の演算装置に提供する管理装置を備え、前記制御部は、前記プログラムリスト情報が示すプログラムに基づく処理の実行の許否を判定し、前記データ生成部は、前時点の第1ブロックデータに基づく検証値と、前記処理の起動状態を示す起動プログラム情報が現時点まで累積された履歴情報と、を含む現時点の第1ブロックデータを生成し、前記通信部は、前記第1ブロックデータを前記複数の演算装置間で同報する。   One aspect of the present embodiment is the above-described information processing system, including a management device that provides the plurality of arithmetic devices with first block data at a start time including program list information indicating a program that is permitted to be executed. The control unit determines whether or not to execute the process based on the program indicated by the program list information, and the data generation unit indicates a verification value based on the first block data at the previous time point and an activation state of the process. The first block data at the present time including the history information in which the activation program information is accumulated up to the present time is generated, and the communication unit broadcasts the first block data among the plurality of arithmetic devices.

本実施形態の他の態様は、上述の情報処理システムであって、所定の機能へのアクセスが許可されたユーザを示すユーザリスト情報を含む開始時点の第2ブロックデータを前記複数の演算装置に提供する管理装置を備え、前記制御部は、前記ユーザリスト情報に基づいてユーザからの前記機能へのアクセスの許否を判定し、前記データ生成部は、前時点の第2ブロックデータに基づく検証値と、前記機能へのアクセス結果を示すアクセス状態情報が現時点まで累積された履歴情報であるアクセス履歴情報と、を含む現時点の第2ブロックデータを生成し、前記通信部は、前記第2ブロックデータを前記複数の演算装置間で同報する。   Another aspect of the present embodiment is the information processing system described above, in which the second block data at the start point including user list information indicating users who are permitted to access a predetermined function is stored in the plurality of arithmetic devices. A management device for providing, the control unit determines whether to allow access to the function from a user based on the user list information, the data generation unit is a verification value based on the second block data of the previous time point And access history information that is history information in which access status information indicating an access result to the function is accumulated up to the present time, and the communication unit generates the second block data Is broadcast among the plurality of arithmetic units.

本実施形態の他の態様は、上述の情報処理システムであって、前記複数の演算装置のそれぞれは、サイバーセキュリティが損なわれる事象を検出する検出部を備え、前記データ生成部は、前時点の第3ブロックデータに基づく検証値と、検出された前記事象を示す事象情報が現時点まで累積された履歴情報である事象履歴情報と、を含む現時点の第3ブロックデータを生成し、前記通信部は、前記第3ブロックデータを前記複数の演算装置間で同報する。   Another aspect of the present embodiment is the information processing system described above, wherein each of the plurality of arithmetic devices includes a detection unit that detects an event in which cyber security is impaired, and the data generation unit Generating the current third block data including a verification value based on the third block data and event history information which is history information in which event information indicating the detected event is accumulated up to the present time, and the communication unit Broadcasts the third block data among the plurality of arithmetic devices.

本発明の他の態様は、上述の情報処理システムであって、プログラムのパッチを示すパッチリスト情報を含む開始時点の第4ブロックデータを前記複数の演算装置に提供する管理装置を備え、前記制御部は、前記パッチリスト情報が示すパッチの適用の要否を判定し、前記データ生成部は、前時点の第4ブロックデータに基づく検証値と、前記パッチの適用状態を示すパッチ適用情報が現時点まで累積された履歴情報であるパッチ適用履歴情報と、を含む現時点の第4ブロックデータを生成し、前記通信部は、前記第4ブロックデータを前記複数の演算装置間で同報する。   Another aspect of the present invention is the information processing system described above, including a management device that provides the plurality of arithmetic devices with fourth block data at a start point including patch list information indicating a patch of the program, and the control Determine whether or not to apply the patch indicated by the patch list information, and the data generation unit includes a verification value based on the fourth block data of the previous time point and the patch application information indicating the patch application state at the present time. Current application block data including patch application history information that is accumulated history information until the first block data is broadcast among the plurality of arithmetic devices.

本発明の他の態様は、複数の演算装置を備える情報処理システムにおける情報処理方法であって、前記複数の演算装置のそれぞれが、前記演算装置で許可又は許可しない事項を示すリスト情報に基づいて、前記事項についての処理の実行の許否を判定する制御過程と、前時点のブロックデータに基づく検証値と、前記事項の発生に関する現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成するデータ生成過程と、前記ブロックデータを前記複数の演算装置間で同報する通信過程と、を有する情報処理方法である。   Another aspect of the present invention is an information processing method in an information processing system including a plurality of arithmetic devices, wherein each of the plurality of arithmetic devices is based on list information indicating matters permitted or not permitted by the arithmetic devices. Generating current block data including a control process for determining whether or not to execute the process for the item, a verification value based on the previous block data, and history information accumulated up to the present time regarding the occurrence of the item And a communication process for broadcasting the block data among the plurality of arithmetic devices.

本発明によれば、複数の演算装置間で同報されるブロックデータが共有される。そのため、送信対象の演算装置の数の増加による伝送量の増加が、個々の演算装置を特定してブロックデータが伝送される場合よりも抑制されるため、ブロックデータが効率的に共有される。また、ブロックデータに含まれるプログラムリスト情報の正当性を認証するための認証サーバを設置しなくても、冗長化された個々の演算装置の分散処理を維持しながら、ブロックデータに含まれるプログラムリスト情報に基づいて、そのプログラムに基づく処理の起動を制御することができる。実行が許可されない不正なプログラムの起動が抑制されことで、情報処理システムの信頼性とサイバーセキュリティが向上する。   According to the present invention, block data broadcast is shared among a plurality of arithmetic devices. For this reason, an increase in the transmission amount due to an increase in the number of computing devices to be transmitted is suppressed as compared with the case where block data is transmitted by specifying individual computing devices, so that the block data is efficiently shared. In addition, the program list included in the block data can be maintained while maintaining the distributed processing of each redundant computing device without installing an authentication server for authenticating the validity of the program list information included in the block data. Based on the information, it is possible to control activation of processing based on the program. Suppressing the activation of unauthorized programs that are not allowed to be executed improves the reliability and cyber security of the information processing system.

第一実施形態に係る冗長化システムの一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the redundancy system which concerns on 1st embodiment. 第一実施形態に係る演算装置の一例を示すブロック図である。It is a block diagram which shows an example of the arithmetic unit which concerns on 1st embodiment. 第一実施形態に係るホワイトリスト情報の例を示す図である。It is a figure which shows the example of the white list information which concerns on 1st embodiment. 第一実施形態に係る起動アプリケーション情報の一例を示す図である。It is a figure which shows an example of the starting application information which concerns on 1st embodiment. 第一実施形態に係るホワイトリスト情報の作成画面の一例を示す図である。It is a figure which shows an example of the creation screen of white list information which concerns on 1st embodiment. 第一実施形態に係るハードウェア構成情報の作成画面の一例を示す図である。It is a figure which shows an example of the creation screen of the hardware configuration information which concerns on 1st embodiment. 第一実施形態に係るブロックデータの例を示す図である。It is a figure which shows the example of the block data which concern on 1st embodiment. 第一実施形態に係るホワイトリスト管理・配信処理の一例を示すフローチャートである。It is a flowchart which shows an example of the white list management and delivery process which concerns on 1st embodiment. 第一実施形態に係る冗長化システムの他の構成例を示すブロック図である。It is a block diagram which shows the other structural example of the redundancy system which concerns on 1st embodiment. 第二実施形態に係るブロックデータの例を示す図である。It is a figure which shows the example of the block data which concern on 2nd embodiment. 第三実施形態に係る演算装置の一構成例を示すブロック図である。It is a block diagram which shows the example of 1 structure of the arithmetic unit which concerns on 3rd embodiment. 第三実施形態に係る脅威対処テーブルの一例を示す図である。It is a figure which shows an example of the threat countermeasure table which concerns on 3rd embodiment. 第三実施形態に係るブロックデータの例を示す図である。It is a figure which shows the example of the block data which concern on 3rd embodiment. 第三実施形態の一変形例に係るブロックデータの例を示す図である。It is a figure which shows the example of the block data which concern on the modification of 3rd embodiment. 第四実施形態に係るパッチリスト情報の例を示す図である。It is a figure which shows the example of the patch list information which concerns on 4th embodiment. 第四実施形態に係るパッチ適用情報の例を示す図である。It is a figure which shows the example of the patch application information which concerns on 4th embodiment. 第四実施形態に係るブロックデータの例を示す図である。It is a figure which shows the example of the block data which concerns on 4th embodiment.

<第一実施形態>
以下、本発明の第一実施形態に係る冗長化システムについて、図1〜図9を参照して説明する。
図1は、本実施形態に係る冗長化システム1の一構成例を示すブロック図である。
冗長化システム1は、複数の演算装置10とEMS(Engineering and Maintenance Station;管理装置)22を含んで構成される。複数の演算装置10は、互いに共通の構成を備える。演算装置10a等のa等の符号は、個々の演算装置を区別するための符号である。演算装置10a−10dは、それぞれネットワークNWで通信可能に接続され、相互に各種のデータを送受信できる。図1に示す例では、演算装置10の台数は、4個であるが、3個以上であればよい。また、台数の上限は特に設けられない。以下の説明では、演算装置10が、主にサーバ装置として実現される場合を例にする。
<First embodiment>
Hereinafter, a redundant system according to a first embodiment of the present invention will be described with reference to FIGS.
FIG. 1 is a block diagram illustrating a configuration example of a redundancy system 1 according to the present embodiment.
The redundancy system 1 includes a plurality of arithmetic devices 10 and an EMS (Engineering and Maintenance Station) 22. The plurality of arithmetic devices 10 have a common configuration. Symbols such as “a” of the arithmetic device 10a are symbols for distinguishing individual arithmetic devices. The arithmetic devices 10a to 10d are communicably connected via a network NW, and can transmit and receive various types of data to and from each other. In the example illustrated in FIG. 1, the number of arithmetic devices 10 is four, but may be three or more. There is no particular upper limit on the number of units. In the following description, a case where the arithmetic device 10 is realized mainly as a server device is taken as an example.

EMS22は、ユーザであるエンジニアの操作を受け付け、受け付けた操作に応じてネットワークNWを介して接続されている機器を管理するための装置である。演算装置10の管理には、例えば、各演算装置10の起動、停止などの動作状態の指示、パラメータの設定、アプリケーションプログラムの作成と配信、などである。EMS22は、ユーザの操作を受け付ける操作入力部と、操作対象の演算装置や各種の情報を表示するための表示部と、操作により指示される操作情報、設定情報などを適用対象の演算装置10に送信するための通信部を備える。EMS22は、演算装置10に起動を許可するアプリケーションプログラムのリストを示す開始時点のブロックデータを生成する。起動とは、実行を開始することを示す。以下の説明では、アプリケーションプログラムを単にアプリケーション又はアプリと呼ぶ。プログラムの実行とは、CPU(Central Processing Unit)、ASIC(Application Specific Integrated Circuit)等の演算処理を実行する演算デバイスがプログラムに記述された命令に係る処理を行うことを意味する。プログラムの起動とは、プログラムの実行を開始することを意味する。また、機能部毎にその処理を実行する演算デバイス、プログラムが異なっていてもよい。   The EMS 22 is an apparatus for receiving an operation of an engineer who is a user and managing devices connected via the network NW according to the received operation. The management of the computing device 10 includes, for example, an instruction of an operation state such as starting and stopping of each computing device 10, setting of parameters, creation and distribution of an application program, and the like. The EMS 22 provides an operation input unit that receives user operations, a display unit for displaying an operation target arithmetic device and various information, operation information instructed by the operation, setting information, and the like to the application target arithmetic device 10. A communication unit for transmitting is provided. The EMS 22 generates block data at the start time indicating a list of application programs that are permitted to be started by the arithmetic device 10. Activation means starting execution. In the following description, an application program is simply called an application or an application. The execution of a program means that an arithmetic device that executes arithmetic processing such as a CPU (Central Processing Unit) and an ASIC (Application Specific Integrated Circuit) performs processing related to an instruction described in the program. Starting the program means starting execution of the program. Moreover, the arithmetic device and program which perform the process for every function part may differ.

現時点のブロックデータは、前時点のブロックデータに基づく検証値と、開始時点から現時点までの各時点の要素情報を累積して構成される履歴情報を含むデータである。検証値として、例えば、前時点のブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて得られたハッシュ値が用いられる。EMS22は、開始時点のブロックデータとして、アプリケーションのリストを示す開始時点(初期)の履歴情報、所定の検証値の初期値、及び開始時点の履歴情報の検証値と、を含むブロックデータを生成する。アプリケーションのリストは、演算装置10に起動を許可するアプリケーションを示すアプリケーション情報を1個又は複数個を含んで構成されるホワイトリスト情報である。ブロックデータの具体例については、後述する。各アプリケーション情報には、そのアプリケーションの起動の許否を示す演算装置10の情報が含まれてもよい。EMS22は、生成した開始時点のブロックデータを演算装置10にネットワークNWを介して送信する。   The current block data is data including a verification value based on the block data at the previous time point and history information configured by accumulating element information at each time point from the start time point to the current time point. As the verification value, for example, a hash value obtained for each of the block header included in the block data at the previous time point and the current history information is used. The EMS 22 generates block data including start time (initial) history information indicating an application list, an initial value of a predetermined verification value, and a verification value of history information at the start time as block data at the start time. . The application list is whitelist information that includes one or more pieces of application information indicating applications that are permitted to be activated by the arithmetic device 10. A specific example of the block data will be described later. Each piece of application information may include information on the arithmetic device 10 indicating whether the application is permitted to be activated. The EMS 22 transmits the generated block data at the start time to the arithmetic device 10 via the network NW.

次に、本実施形態に係る演算装置10の機能構成について説明する。図2は、本実施形態に係る演算装置10の一例を示すブロック図である。
演算装置10は、制御演算部11、機能制御部13、ブロックデータ処理部14、通信部16及び記憶部18を備える。演算装置10は、例えば、演算デバイスから構成される。演算デバイスは、記憶部18に記憶された所定の制御プログラムを読み出し、読み出した制御プログラムを実行する。また、機能部間でプログラムを実行する演算デバイスが共通であってもよいし、異なっていてもよい。
Next, a functional configuration of the arithmetic device 10 according to the present embodiment will be described. FIG. 2 is a block diagram illustrating an example of the arithmetic device 10 according to the present embodiment.
The arithmetic device 10 includes a control arithmetic unit 11, a function control unit 13, a block data processing unit 14, a communication unit 16, and a storage unit 18. The arithmetic device 10 is composed of, for example, an arithmetic device. The arithmetic device reads a predetermined control program stored in the storage unit 18 and executes the read control program. In addition, the arithmetic devices that execute programs between the functional units may be common or different.

制御演算部11は、記憶部に記憶された各種のプログラムから、機能制御部13から入力されたアプリケーション起動指示情報が示すアプリケーションを読み出し、読み出したアプリケーションに記述された命令が示す処理を実行する。なお、制御演算部11は、処理を実行するアプリケーションは、アプリケーション起動指示情報が示すアプリケーションであって、ユーザの操作により指示されたアプリケーションでもよい。また、制御演算部11が処理を実行するプログラムには、そのアプリケーションから参照されるダイナミックリンクライブラリ(DLL:Dynamic Link Library)が含まれることがある。制御演算部11は、起動したアプリケーションについて、自機における起動状態として起動中を示す起動アプリケーション情報を記憶部18に記憶する。また、制御演算部11は、起動したアプリケーションについて起動が完了したとき、記憶部18に記憶した起動アプリケーション情報を、自機における起動状態として起動完了を示す起動アプリケーション情報に更新する。また、実行対象のアプリケーションは、EMS22を介して提供されるアプリケーションであってもよい。
また、制御演算部11は、機能制御部13からアプリケーション実行停止情報が入力されるとき、アプリケーション実行停止情報が示すアプリケーションの実行を停止する。制御演算部11は、実行を停止したアプリケーションについて、自機における起動状態として起動停止を示す起動アプリケーション情報を記憶部18に記憶する。
The control calculation unit 11 reads an application indicated by the application activation instruction information input from the function control unit 13 from various programs stored in the storage unit, and executes a process indicated by the instruction described in the read application. Note that in the control calculation unit 11, the application for executing the process may be an application indicated by the application activation instruction information, and may be an application instructed by a user operation. Further, the program executed by the control calculation unit 11 may include a dynamic link library (DLL) referred to by the application. The control calculation unit 11 stores, in the storage unit 18, activated application information indicating that the activated application is being activated as an activated state in the own device. In addition, when the activation of the activated application is completed, the control calculation unit 11 updates the activated application information stored in the storage unit 18 to activated application information indicating completion of activation as an activated state in the own device. The application to be executed may be an application provided via the EMS 22.
Further, when the application execution stop information is input from the function control unit 13, the control calculation unit 11 stops the execution of the application indicated by the application execution stop information. For the application whose execution has been stopped, the control calculation unit 11 stores, in the storage unit 18, start application information indicating start / stop as the start state of the own device.

機能制御部13は、記憶部18に新たに記憶されたアプリケーション情報、つまりホワイトリスト情報に基づいて、そのアプリケーション情報が示すアプリケーションの実行の許否を判定する。機能制御部13は、アプリケーション情報が自装置での実行を許可するアプリケーションを実行すると判定する。機能制御部13は、そのアプリケーション情報が自装置に実行が許可されていないアプリケーションを実行しないと判定する。機能制御部13は、実行すると判定したアプリケーションの起動を指示するアプリケーション起動指示情報を生成し、生成したアプリケーション起動指示情報を制御演算部11に出力する。   The function control unit 13 determines whether to execute the application indicated by the application information based on the application information newly stored in the storage unit 18, that is, white list information. The function control unit 13 determines that the application information executes an application that is permitted to be executed on the own device. The function control unit 13 determines that the application information whose application information is not permitted to be executed by the own device is not executed. The function control unit 13 generates application activation instruction information for instructing activation of an application determined to be executed, and outputs the generated application activation instruction information to the control calculation unit 11.

機能制御部13は、記憶部18に記憶された最新の起動アプリケーション情報が示すアプリケーションのうち、その起動状態が起動停止(起動を中断し停止すること)であるアプリケーションが存在する場合がある。その場合には、自装置とは異なる他の演算装置10の制御演算部11においてそのアプリケーションの実行が停止している場合と、自装置の制御演算部11がそのアプリケーションの実行が停止している場合とがある。機能制御部13は、そのアプリケーションの起動を指示するアプリケーション起動指示情報を生成し、生成したアプリケーション起動指示情報を制御演算部11に出力してもよい。これにより、冗長化システム1において、実行が停止されたアプリケーションが最初に検知した演算装置10が、そのアプリケーションの実行が維持される。また、アプリケーションの実行の停止を最初に検知した演算装置において、そのアプリケーションが再起動される。そのため、アプリケーションの実行を停止した演算装置10と、アプリケーションを再起動する演算装置10とは同一であることもあるし、異なることもある。   In the function control unit 13, among the applications indicated by the latest activated application information stored in the storage unit 18, there may be an application whose activated state is activated / deactivated (interrupting activation and stopping). In that case, the execution of the application is stopped in the control calculation unit 11 of another calculation device 10 different from the own device, and the execution of the application is stopped in the control calculation unit 11 of the own device. There are cases. The function control unit 13 may generate application activation instruction information for instructing activation of the application, and output the generated application activation instruction information to the control calculation unit 11. As a result, in the redundancy system 1, the arithmetic device 10 that is first detected by the application whose execution has been stopped maintains the execution of the application. In addition, in the arithmetic device that first detects the stop of the execution of the application, the application is restarted. Therefore, the computing device 10 that has stopped executing the application and the computing device 10 that restarts the application may be the same or different.

また、機能制御部13は、制御演算部11において新たに起動したアプリケーションを検知したとき、ホワイトリスト情報を参照して、そのアプリケーションが自装置に実行が許可されたアプリケーションであるか否かを判定する。さらに、機能制御部13は、記憶部18に記憶されたホワイトリスト情報が、更新されたか否かを所定時間毎に判定してもよい。更新されたと判定するとき、制御演算部11において実行中のアプリケーションのうち、更新されたホワイトリスト情報を参照して自装置に実行が許可されていないアプリケーションが存在しているか否かを判定してもよい。自装置に実行が許可されていないアプリケーションが存在する場合には、機能制御部13は、そのアプリケーションの実行の停止を示すアプリケーション実行停止情報を生成し、生成したアプリケーション実行停止情報を制御演算部11に出力する。これにより、そのアプリケーションの実行が停止される。その場合、機能制御部13は、そのアプリケーションの実行の停止を示すアラーム情報を生成し、生成したアラーム情報をOPS(Operator Station;監視装置)21(図9)に通信部16を介して送信してもよい。OPS21は、後述するように各種の機器の制御状態をユーザであるエンジニアが監視するための装置である。OPS21は、EMS22と一体に構成されてもよい。これにより、ユーザは、起動したアプリケーションの実行の停止を知得することができる。
なお、機能制御部13は、制御演算部11におけるアプリケーションの実行の停止を検知したとき、記憶部18に記憶した起動アプリケーション情報を、自装置におけるそのアプリケーションの起動状態として起動停止を示す起動アプリケーション情報に更新する。
Further, when the function control unit 13 detects a newly started application in the control calculation unit 11, the function control unit 13 refers to the white list information and determines whether or not the application is an application permitted to be executed by the own device. To do. Furthermore, the function control unit 13 may determine whether or not the white list information stored in the storage unit 18 has been updated every predetermined time. When it is determined that the application has been updated, it is determined whether or not there is an application that is not permitted to be executed in the own device by referring to the updated whitelist information among the applications being executed in the control calculation unit 11. Also good. When there is an application that is not permitted to be executed in its own device, the function control unit 13 generates application execution stop information indicating stop of the execution of the application, and the generated application execution stop information is used as the control calculation unit 11. Output to. As a result, the execution of the application is stopped. In that case, the function control unit 13 generates alarm information indicating stop of execution of the application, and transmits the generated alarm information to the OPS (Operator Station; monitoring device) 21 (FIG. 9) via the communication unit 16. May be. The OPS 21 is an apparatus for an engineer who is a user to monitor the control state of various devices as will be described later. The OPS 21 may be configured integrally with the EMS 22. Thereby, the user can know the stop of execution of the activated application.
When the function control unit 13 detects the stop of the execution of the application in the control calculation unit 11, the start application information indicating start / stop as the start state of the application in the own device is used as the start application information stored in the storage unit 18. Update to

ブロックデータ処理部14は、ブロックデータに係る処理を実行する。ブロックデータ処理部14は、ブロックデータ保存部141、受信データ解析部142、及び送信データ生成部143を含んで構成される。   The block data processing unit 14 executes processing related to block data. The block data processing unit 14 includes a block data storage unit 141, a reception data analysis unit 142, and a transmission data generation unit 143.

ブロックデータ保存部141は、EMS22又は自装置とは異なる他の演算装置10から通信部16を介して受信したブロックデータと自装置の送信データ生成部143が生成したブロックデータを一時的に保存する。   The block data storage unit 141 temporarily stores the block data received via the communication unit 16 from the EMS 22 or another arithmetic device 10 different from the own device and the block data generated by the transmission data generation unit 143 of the own device. .

受信データ解析部142は、保存されているブロックデータのうち、前時点のブロックデータとして最新のブロックデータをブロックデータ保存部141から読み出す。読み出されたブロックデータが開始時点のブロックデータである場合には、受信データ解析部142は、読み出したブロックデータから開始時点の履歴情報に相当するホワイトリスト情報を抽出し、抽出したホワイトリスト情報を記憶部18に記憶する。なお、読み出したブロックデータに含まれるホワイトリスト情報が、記憶部18に過去に記憶したホワイトリスト情報から変更されていない場合には、受信データ解析部142は、読み出したブロックデータに含まれるホワイトリスト情報を記憶部18に記憶しなくてもよい。つまり、新たなホワイトリスト情報が取得されるとき、記憶部18に記憶されるホワイトリスト情報が新たなホワイトリスト情報に更新されればよい。
また、読み出されたブロックデータが開始時点よりも後の時点のブロックデータである場合には、受信データ解析部142は、最新のブロックデータの履歴情報から最新の起動アプリケーション情報を抽出し、抽出した起動アプリケーション情報を記憶部18に記憶する。
The received data analysis unit 142 reads the latest block data from the block data storage unit 141 as the block data at the previous time point out of the stored block data. When the read block data is the block data at the start time, the reception data analysis unit 142 extracts white list information corresponding to the history information at the start time from the read block data, and the extracted white list information Is stored in the storage unit 18. When the white list information included in the read block data has not been changed from the white list information stored in the storage unit 18 in the past, the received data analysis unit 142 determines that the white list included in the read block data. Information may not be stored in the storage unit 18. That is, when new white list information is acquired, the white list information stored in the storage unit 18 may be updated to new white list information.
In addition, when the read block data is block data after the start time, the reception data analysis unit 142 extracts the latest activation application information from the history information of the latest block data, and extracts The activated application information is stored in the storage unit 18.

送信データ生成部143は、自装置におけるアプリケーションの起動状態を示す最新の起動アプリケーション情報を記憶部18から読み出す。また、送信データ生成部143は、ブロックデータ保存部141に保存されたブロックデータのうち最新のブロックデータを前時点のブロックデータとして読み出し、読み出したブロックデータと起動アプリケーション情報とに基づいて現時点のブロックデータを生成する。現時点のブロックデータは、前時点のブロックデータに基づく検証値と、その履歴情報に新たな起動アプリケーション情報を要素情報として追加して構成される現時点の履歴情報とを含むデータである。送信データ生成部143は、検証値として、例えば、前時点のブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて所定の一方向関数を用いてハッシュ値を算出する。送信データ生成部143は、生成したブロックデータを自装置とは異なる他の演算装置10に送信し、自装置のブロックデータ保存部141に保存する。これにより、自装置を含む複数の演算装置10の間で送信データ生成部143が生成したブロックデータが同報(ブロードキャスト)され、互いに共有される。   The transmission data generation unit 143 reads the latest activation application information indicating the activation state of the application in its own device from the storage unit 18. Also, the transmission data generation unit 143 reads the latest block data from the block data stored in the block data storage unit 141 as the previous block data, and the current block based on the read block data and the startup application information. Generate data. The current block data is data including a verification value based on the previous block data and current history information configured by adding new activation application information as element information to the history information. For example, the transmission data generation unit 143 calculates a hash value as a verification value by using a predetermined one-way function for each of the block header included in the previous block data and the current history information. The transmission data generation unit 143 transmits the generated block data to another arithmetic device 10 different from the own device, and stores it in the block data storage unit 141 of the own device. As a result, the block data generated by the transmission data generation unit 143 is broadcast (broadcast) among a plurality of arithmetic devices 10 including the own device, and is shared with each other.

通信部16は、ネットワークNWと通信可能に接続され、ネットワークNWに接続された他の機器との間で各種のデータを送受信する。通信部16は、例えば、自装置とは異なる他の演算装置10からブロックデータを受信し、自装置の送信データ生成部143が生成したブロックデータを自装置とは異なる他の演算装置10に同報する。
記憶部18は、自装置の各部が取得した各種のデータ、自装置の各部の処理に用いるデータを記憶する。記憶部18、ブロックデータ保存部141は、例えば、RAM(Random Access Memory)などの記憶媒体を含んで構成される。
The communication unit 16 is communicably connected to the network NW, and transmits / receives various data to / from other devices connected to the network NW. For example, the communication unit 16 receives block data from another arithmetic device 10 different from the own device, and transmits the block data generated by the transmission data generation unit 143 of the own device to another arithmetic device 10 different from the own device. I will inform you.
The storage unit 18 stores various data acquired by each unit of the own device and data used for processing of each unit of the own device. The storage unit 18 and the block data storage unit 141 are configured to include a storage medium such as a RAM (Random Access Memory), for example.

(ホワイトリスト情報)
次に、本実施形態に係るホワイトリスト情報の例について説明する。
図3は、本実施形態に係るホワイトリスト情報の例を示す図である。
図3に示す例では、ホワイトリスト情報は、実行を許可するアプリケーション毎に、アプリケーション名、バージョン、ハッシュ値及び許可する演算装置の情報の組み合わせを、1個又は複数個含んで構成される。各行に示すこの情報の組み合わせが、アプリケーション情報に相当する。アプリケーション名は、個々のアプリケーションの名称である。図3に示す例では、アプリケーション名としてプロセス名が用いられているが、そのアプリケーションを特定することができる名称であれば、略称、通称などが用いられてもよい。バージョンは、そのアプリケーション名に係るアプリケーションのバージョンである。本実施形態では、アプリケーション名が共通であってもバージョンが異なるアプリケーションは、異なるアプリケーションであるものとして扱われる。ハッシュ値は、そのアプリケーションを示すビット列全体のハッシュ値であり、EMS22において設定される。制御演算部11は、このハッシュ値を、実行対象として選択したアプリケーションに基づくハッシュ値とが一致するか否かを照合し、両者が一致するとき、そのアプリケーションが改変されていない正当なアプリケーションであると判定して、両者が一致しないとき、そのアプリケーションが不正なアプリケーションであると判定してもよい。そして、制御演算部11は、正当であると判定したアプリケーションを実行させ、不当であると判定したアプリケーションを実行させない。許可する演算装置の項目には、実行を許可する演算装置の番号が指定される。ALLとは、ブロックデータの共有先の全ての演算装置を示す。
(White list information)
Next, an example of white list information according to the present embodiment will be described.
FIG. 3 is a diagram illustrating an example of white list information according to the present embodiment.
In the example illustrated in FIG. 3, the white list information is configured to include one or a plurality of combinations of application name, version, hash value, and information on a computing device to be permitted for each application that is permitted to be executed. This combination of information shown in each row corresponds to application information. The application name is the name of each application. In the example shown in FIG. 3, the process name is used as the application name, but an abbreviation, common name, or the like may be used as long as the name can identify the application. The version is the version of the application related to the application name. In the present embodiment, even if the application name is common, applications having different versions are treated as different applications. The hash value is a hash value of the entire bit string indicating the application, and is set in the EMS 22. The control calculation unit 11 checks whether or not the hash value matches the hash value based on the application selected as the execution target, and when the two match, the control calculation unit 11 is a legitimate application that has not been modified. If the two do not match, the application may be determined to be an unauthorized application. And the control calculating part 11 performs the application determined to be valid, and does not execute the application determined to be unjust. In the item of the arithmetic device to be permitted, the number of the arithmetic device to be permitted to execute is specified. ALL indicates all the arithmetic units that share block data.

(起動アプリケーション情報)
次に、本実施形態に係る起動アプリケーション情報の例について説明する。
図4は、本実施形態に係る起動アプリケーション情報の一例を示す図である。図4に示す例では、起動アプリケーション情報は、1つの演算装置10におけるアプリケーション毎の起動状態を示す。起動アプリケーション情報は、アプリケーション毎のアプリケーション名、バージョン、プロセスID(Identifier)及び状態の組み合わせを1個又は複数個含んで構成される。このアプリケーションは、ホワイトリスト情報が示すアプリケーションのいずれかに該当する。プロセスIDは、そのプロセスを示す識別情報である。状態の項目は、そのアプリケーションの起動状態を示し、起動中、起動完了又は停止のいずれかの情報を示す。制御演算部11は、アプリケーションの起動状態が変化する度に、該当するアプリケーションについて、変化前の起動状態の情報を変化後の起動状態を示す情報に更新し、記憶部18に記録する。なお、起動アプリケーション情報とは、後述するブロックデータの履歴情報に記録される情報である。
(Launched application information)
Next, an example of activation application information according to the present embodiment will be described.
FIG. 4 is a diagram illustrating an example of activation application information according to the present embodiment. In the example illustrated in FIG. 4, the startup application information indicates a startup state for each application in one arithmetic device 10. The activated application information includes one or more combinations of application name, version, process ID (Identifier), and state for each application. This application corresponds to one of the applications indicated by the white list information. The process ID is identification information indicating the process. The state item indicates the activation state of the application, and indicates information on activation, completion of activation, or stop. Each time the activation state of the application changes, the control calculation unit 11 updates the information on the activation state before the change to information indicating the activation state after the change for the corresponding application, and records the information in the storage unit 18. The startup application information is information recorded in the history information of block data to be described later.

(ホワイトリスト情報の作成画面)
EMS22は、ホワイトリスト情報を作成する際、その作成画面を表示部に表示させ、作成画面に表されるアプリケーションのうち、受け付けた操作で指定されたアプリケーションを選択する。EMS22は、選択されたアプリケーションを示すアプリケーション情報からなるホワイトリスト情報を構成する。
図5は、本実施形態に係るホワイトリスト情報の作成画面の一例を示す図である。
図5に示すホワイトリスト情報の作成画面は、例えば、EMS22が受け付けた操作によりホワイトリスト作成開始が指示されるときに表示される。ホワイトリスト情報の作成画面には、演算装置10において実行可能とするアプリケーションが縦長の枠内の各行に表される。EMS22は、各アプリケーションの名称の冒頭に表れているチェックボックスが選択操作により指定されるとき、そのアプリケーションを、実行を許可するアプリケーションとして選択する。EMS22は、指定されたアプリケーションに係る四角形内にチェック記号を表示させる。なお、EMS22は、選択されたアプリケーション毎に操作により指定された装置を、実行を許可する演算装置10として定める(図示せず)。そして、クリック操作により「ロード」ボタンが指定されるとき、EMS22は、選択されたアプリケーションを示すホワイトリスト情報を生成する。
(Whitelist information creation screen)
When creating the white list information, the EMS 22 displays the creation screen on the display unit, and selects an application designated by the accepted operation from among the applications displayed on the creation screen. The EMS 22 configures white list information including application information indicating the selected application.
FIG. 5 is a diagram showing an example of a whitelist information creation screen according to the present embodiment.
The white list information creation screen shown in FIG. 5 is displayed, for example, when the start of white list creation is instructed by an operation accepted by the EMS 22. On the white list information creation screen, an application that can be executed by the arithmetic device 10 is displayed in each row in a vertically long frame. When the check box appearing at the beginning of the name of each application is designated by the selection operation, the EMS 22 selects the application as an application that is permitted to be executed. The EMS 22 displays a check symbol in a rectangle related to the designated application. Note that the EMS 22 determines a device specified by an operation for each selected application as a computing device 10 that permits execution (not shown). Then, when the “load” button is designated by the click operation, the EMS 22 generates white list information indicating the selected application.

(ハードウェア構成情報の作成画面)
EMS22は、ホワイトリスト情報の送信先として複数の演算装置10を指定する際、ハードウェア構成情報の作成画面を表示部に表示させる。
図6は、本実施形態に係るハードウェア構成情報の作成画面の一例を示す図である。
図6に示すハードウェア構成情報の作成画面は、例えば、EMS22が受け付けた操作によりハードウェア構成の設定が指示されるときに表示される。ハードウェア構成情報の作成画面には、EMS22がネットワークNWを介して接続されている機器が表される。EMS22は、右クリック操作により指定された位置に表された機器を送信先として選択し、メニューバーを表示部に表示させる。そして、EMS22は、メニューバーに表示されている機能のうち、ハードウェア構成及びホワイトリスト生成が操作により選択するとき、その機器が送信先として選択される。
(Hardware configuration information creation screen)
When the EMS 22 designates a plurality of computing devices 10 as transmission destinations of whitelist information, the EMS 22 displays a hardware configuration information creation screen on the display unit.
FIG. 6 is a diagram illustrating an example of a hardware configuration information creation screen according to the present embodiment.
The hardware configuration information creation screen illustrated in FIG. 6 is displayed, for example, when the hardware configuration setting is instructed by an operation received by the EMS 22. On the hardware configuration information creation screen, devices to which the EMS 22 is connected via the network NW are displayed. The EMS 22 selects the device represented at the position designated by the right click operation as the transmission destination, and displays the menu bar on the display unit. The EMS 22 selects the device as the transmission destination when the hardware configuration and the white list generation are selected by the operation from the functions displayed on the menu bar.

(ブロックデータ)
次に、本実施形態に係るブロックデータ(第1ブロックデータ)の例について説明する。
図7は、本実施形態に係るブロックデータの例を示す図である。
BD01、BD02、BD03は、開始時点におけるブロックデータ、開始時点よりも後のある時点におけるブロックデータ、その次の時点におけるブロックデータをそれぞれ示す。
ブロックデータは、ブロックヘッダとその時点における履歴情報とを含んで構成される。ブロックヘッダには、前時点のブロックデータに基づく検証値、装置ID、演算回数、検証用データ及び履歴情報の検証値が含まれる。
(Block data)
Next, an example of block data (first block data) according to the present embodiment will be described.
FIG. 7 is a diagram illustrating an example of block data according to the present embodiment.
BD01, BD02, and BD03 indicate block data at the start time, block data at a certain time after the start time, and block data at the next time, respectively.
The block data includes a block header and history information at that time. The block header includes a verification value based on the previous block data, a device ID, the number of calculations, verification data, and verification information of history information.

前ブロックデータの検証値は、前時点におけるブロックデータのブロックヘッダから所定の一方向関数を用いて導出された検証値である。図7に示す例では、検証値として所定のハッシュ関数を用いて算出されるハッシュ値が採用されている。検証値は、現時点における履歴情報に含まれる前時点における履歴情報から得られる検証値に基づいても算出される。従って、双方の検証値が一致するか否かにより、現時点において生成されるブロックデータが正当であるか否かが検証される。
但し、開始時点のブロックデータでは、前時点におけるブロックデータが存在しないため、所定の初期値、例えば、0が検証値として用いられる。
The verification value of the previous block data is a verification value derived using a predetermined one-way function from the block header of the block data at the previous time point. In the example illustrated in FIG. 7, a hash value calculated using a predetermined hash function is employed as the verification value. The verification value is also calculated based on the verification value obtained from the history information at the previous time included in the history information at the current time. Accordingly, whether or not the block data generated at the present time is valid is verified based on whether or not both verification values match.
However, since the block data at the start time does not exist at the start time, a predetermined initial value, for example, 0 is used as the verification value.

装置IDは、そのブロックデータを生成する機器を示す識別情報である。
演算回数は、その機器が実行する演算処理を示す番号である。つまり、演算回数は、演算処理がどの段階まで進行したかを示す稼働タイミングを示す情報である。
検証用データは、演算装置10間で稼働タイミングを調整するために任意に設定されるデータである。自装置とは異なる他の演算装置10よりも稼働タイミングが先行している演算装置10は、その検証用データを用いて他の機能に影響を及ぼさない所定の処理を行う。その処理が行われる時間は、自装置とは異なる他の演算装置10よりも稼働タイミングが先行している時間差に相当する。所定の処理は、継続的な演算を含むことで一定の時間を要するアルゴリズムに基づく処理、例えば、円周率の計算、マイニング用ハッシュ値の計算である。検証用データには、例えば、処理開始時刻、カウンタタイマー値などが含まれる。検証用データには、その他、実行する処理の初期値、処理により得られる中間値などが含まれてもよい。
The device ID is identification information indicating a device that generates the block data.
The number of calculations is a number indicating the calculation process executed by the device. That is, the number of calculations is information indicating the operation timing indicating to which stage the calculation process has progressed.
The verification data is data that is arbitrarily set in order to adjust the operation timing between the arithmetic devices 10. The arithmetic device 10 whose operation timing is ahead of another arithmetic device 10 different from the own device performs a predetermined process that does not affect other functions by using the verification data. The time for which the process is performed corresponds to a time difference in which the operation timing is ahead of another arithmetic device 10 different from the own device. The predetermined process is a process based on an algorithm that requires a certain amount of time by including a continuous calculation, for example, calculation of a circumference ratio and calculation of a hash value for mining. The verification data includes, for example, a processing start time, a counter timer value, and the like. In addition, the verification data may include an initial value of a process to be executed, an intermediate value obtained by the process, and the like.

履歴情報の検証値は、現時点までの履歴情報の一方向関数として算出される検証値である。つまり、開始時点の履歴情報の検証値として、ホワイトリスト情報に基づく検証値が用いられる。また、開始時点よりも後の各時点の履歴情報の検証値として、ホワイトリスト情報と現時点までの全起動アプリケーション情報を累積して構成される履歴情報の検証値が用いられる。この検証値はブロックヘッダに含まれ、次の時点における前ブロックデータの検証値の導出に用いられる。従って、前ブロックデータが正当ではないと判定されるとき、現ブロックデータも正当ではないと判定される。   The verification value of history information is a verification value calculated as a one-way function of history information up to the present time. That is, the verification value based on the white list information is used as the verification value of the history information at the start time. In addition, as the verification value of the history information at each time point after the start time point, the verification value of the history information configured by accumulating the white list information and all the activated application information up to the present time is used. This verification value is included in the block header and is used to derive the verification value of the previous block data at the next time point. Therefore, when it is determined that the previous block data is not valid, the current block data is also determined not valid.

開始時点のブロックデータの履歴情報には、ホワイトリスト情報が含まれる。ホワイトリスト情報の各行には、各アプリケーションのアプリケーション情報が含まれる。
開始時点よりも後の時点のブロックデータの履歴情報には、要素情報としてホワイトリスト情報と現時点までの起動アプリケーション情報が含まれる。個々の起動アプリケーション情報には、その起動状態に係る演算装置である稼働サーバの情報が対応付けられる。
The history information of the block data at the start time includes white list information. Each line of the white list information includes application information of each application.
The history information of the block data at a time later than the start time includes white list information and activated application information up to the present time as element information. Each piece of activated application information is associated with information about an active server that is a computing device related to the activated state.

(ホワイトリスト管理・配信処理)
次に、本実施形態に係るホワイトリスト管理・配信処理について説明する。
図8は、本実施形態に係るホワイトリスト管理・配信処理の一例を示すフローチャートである。次の説明では、冗長化システム1は、複数の演算装置10とEMS22の他、OPS21を備えていることを前提とする。
また、以下の処理は、演算装置10の起動中、定期的(例えば、周期制御毎)に実行される。
(ステップS102)演算装置10の演算デバイスは、記憶部18に予め記憶されたブロックデータ処理プログラムを読み出し、読み出したブロックデータ処理プログラムを起動する。これにより、機能制御部13及びブロックデータ処理部14の機能が開始される。これにより、ブロックデータを処理する準備が整う。この段階では、ホワイトリストに記載されたアプリケーションは、実行されない。その後、ステップS104の処理に進む。
(ステップS104)ブロックデータ保存部141は、EMS22から通信部16を介して開始時点のブロックリスト1を受信し、受信したブロックリスト1を保存する。受信データ解析部142は、ブロックデータ保存部141に保存されている最新のブロックリスト1からホワイトリストを抽出し、抽出したホワイトリストを記憶部18に記憶する。その後、ステップS106の処理に進む
(Whitelist management / distribution processing)
Next, white list management / distribution processing according to the present embodiment will be described.
FIG. 8 is a flowchart showing an example of whitelist management / distribution processing according to the present embodiment. In the following description, it is assumed that the redundancy system 1 includes the OPS 21 in addition to the plurality of arithmetic devices 10 and the EMS 22.
Further, the following processing is executed periodically (for example, for each cycle control) while the arithmetic device 10 is activated.
(Step S102) The computing device of the computing device 10 reads the block data processing program stored in advance in the storage unit 18 and activates the read block data processing program. Thereby, the functions of the function control unit 13 and the block data processing unit 14 are started. Thus, preparation for processing the block data is completed. At this stage, the whitelisted application is not executed. Thereafter, the process proceeds to step S104.
(Step S104) The block data storage unit 141 receives the block list 1 at the start time from the EMS 22 via the communication unit 16, and stores the received block list 1. The reception data analysis unit 142 extracts a white list from the latest block list 1 stored in the block data storage unit 141, and stores the extracted white list in the storage unit 18. Thereafter, the process proceeds to step S106.

(ステップS106)機能制御部113は、記憶部18に記憶されたホワイトリストを構成するアプリケーション情報が示すアプリケーションのうち、自装置に起動が許可されたアプリケーションを示すアプリケーション起動指示情報を制御演算部11に出力する。これにより、制御演算部11は、ホワイトリスト情報が示すアプリケーションのうち、自装置に起動が許可されたアプリケーションを起動する。その後、ステップS108の処理に進む。
(ステップS108)制御演算部11は、自装置における、そのアプリケーションの起動が完了したとき、起動状態として起動完了を示す起動アプリケーション情報を記憶部18に記憶する。送信データ生成部143は、ブロックデータ保存部141から最新のブロックデータ1を前時点のブロックデータとして読み出し、記憶部18から最新の起動アプリケーション情報を読み出す。送信データ生成部143は、前時点のブロックデータに含まれている履歴情報に、最新の起動アプリケーション情報を追加して現時点の履歴情報を生成する。その後、ステップS110の処理に進む。
(ステップS110)送信データ生成部143は、現時点の履歴情報、現時点の履歴情報の検証値、及び前時点のブロックデータに含まれるブロックヘッダの検証値を含む現時点のブロックデータを送信ブロックデータとして生成する。送信データ生成部143は、生成した送信ブロックデータを、自装置とは異なる他の演算装置10に通信部16を介して送信し、ブロックデータ保存部141に保存する。これにより、送信ブロックデータが演算装置10の間で共有される。その後、ステップS112の処理に進む。
(Step S <b> 106) The function control unit 113 displays application activation instruction information indicating an application permitted to be activated by the own apparatus among the applications indicated by the application information included in the white list stored in the storage unit 18. Output to. Thereby, the control calculation part 11 starts the application permitted to start by the own apparatus among the applications indicated by the white list information. Thereafter, the process proceeds to step S108.
(Step S108) When the activation of the application in the own device is completed, the control calculation unit 11 stores activated application information indicating activation completion in the storage unit 18 as an activated state. The transmission data generation unit 143 reads the latest block data 1 from the block data storage unit 141 as the previous block data, and reads the latest startup application information from the storage unit 18. The transmission data generation unit 143 generates the current history information by adding the latest activated application information to the history information included in the previous block data. Thereafter, the process proceeds to step S110.
(Step S110) The transmission data generation unit 143 generates, as transmission block data, current block data including the current history information, the verification value of the current history information, and the verification value of the block header included in the previous block data. To do. The transmission data generation unit 143 transmits the generated transmission block data to the other arithmetic device 10 different from the own device via the communication unit 16 and stores it in the block data storage unit 141. Thereby, the transmission block data is shared between the arithmetic devices 10. Thereafter, the process proceeds to step S112.

(ステップS112)機能制御部113は、自装置の制御演算部11において新たにアプリケーションが起動したか否かを検知する。ここで、起動した状態には、起動中と起動済のいずれも含まれる。起動が検知されるとき(ステップS112 YES)、ステップS114の処理に進む。起動が検知されないとき(ステップS112 NO)、ステップS108に戻り、例えば、次の制御周期をむかえると、ステップS108以降の処理が繰り返される。
(ステップS114)機能制御部13は、起動が検知されたアプリケーションが、記憶部18に記憶されたホワイトリスト情報を参照して、そのアプリケーションが自装置に実行が許可されたアプリケーションであるか否かを判定する。実行が許可されたアプリケーションであると判定されるとき(ステップS114 YES)、ステップS120の処理に進む。実行が許可されていないアプリケーションであると判定されるとき(ステップS114 NO)、ステップS116の処理に進む。
(ステップS116)機能制御部13は、起動が検知されたアプリケーションの実行の停止を示すアプリケーション実行停止情報を制御演算部11に出力する。制御演算部11は、そのアプリケーションが起動中であるときには、その起動を停止し、そのアプリケーションが起動済である場合には、その実行を停止する(ブロック)。その後、ステップS118の処理に進む。
(ステップS118)機能制御部13は、そのアプリケーションの実行の停止を示すアラーム情報を生成し、生成したアラーム情報をOPS21に通信部を介して送信する。その後、ステップS112の処理に進む。
(Step S112) The function control unit 113 detects whether or not an application is newly activated in the control calculation unit 11 of the own device. Here, the activated state includes both activated and activated. When activation is detected (YES in step S112), the process proceeds to step S114. When activation is not detected (NO in step S112), the process returns to step S108, and, for example, when the next control cycle is started, the processes after step S108 are repeated.
(Step S114) The function control unit 13 refers to the white list information stored in the storage unit 18 with reference to the application whose activation is detected, and determines whether or not the application is permitted to be executed by the own device. Determine. When it is determined that the application is permitted to be executed (YES in step S114), the process proceeds to step S120. When it is determined that the application is not permitted to be executed (NO in step S114), the process proceeds to step S116.
(Step S116) The function control unit 13 outputs application execution stop information indicating stop of the execution of the application whose start is detected to the control calculation unit 11. The control calculation unit 11 stops the activation when the application is activated, and stops the execution when the application is activated (block). Thereafter, the process proceeds to step S118.
(Step S118) The function control unit 13 generates alarm information indicating stop of execution of the application, and transmits the generated alarm information to the OPS 21 via the communication unit. Thereafter, the process proceeds to step S112.

(ステップS120)機能制御部13は、制御演算部11にそのアプリケーションの実行を停止させず、実行を継続させる。その後、ステップS122の処理に進む。
(ステップS122)機能制御部13は、記憶部18に記憶されたホワイトリスト情報が更新されたか否かを判定する。なお、この判定は、前回の処理後に受信した新たなブロックデータに新しいホワイトリスト情報が追加されているかどうかによって判定する。更新後の新しいホワイトリスト情報は、新たに受信したブロックデータの履歴情報において、前回のホワイトリストに対して行われたアプリケーションの起動や停止の履歴を示す複数の起動アプリケーション情報の次に追加されている。ホワイトリスト情報が更新されたとき、機能制御部13は、自装置の制御演算部11において実行中のアプリケーションと、更新されたホワイトリスト情報が示すアプリケーションであって自装置に実行が許可されたアプリケーションとを比較する。
(Step S120) The function control unit 13 causes the control calculation unit 11 to continue the execution without stopping the execution of the application. Thereafter, the process proceeds to step S122.
(Step S122) The function control unit 13 determines whether or not the white list information stored in the storage unit 18 has been updated. This determination is made based on whether or not new white list information is added to new block data received after the previous processing. The new white list information after the update is added to the newly received block data history information next to the plurality of activated application information indicating the history of starting and stopping of the application performed on the previous white list. Yes. When the white list information is updated, the function control unit 13 determines whether the application being executed in the control calculation unit 11 of the own device and the application indicated by the updated white list information and permitted to be executed by the own device. And compare.

(ステップS124)ステップS122の処理において、ホワイトリスト情報に変更がないと判定された場合には、そのアプリケーションの実行を停止させず、制御演算部11に実行を継続させる。その後、ステップS108に戻り、例えば次の制御周期をむかえると、ステップS108以降の処理を繰り返す。
(ステップS126)ステップS122の処理において、実行中のアプリケーションに、更新されたホワイトリスト情報が示す実行が許可されたアプリケーション以外のアプリケーションが存在する場合、ステップS128の処理に進む。そのような場合は、自装置に実行が許可されたアプリケーションの一部又は全部の情報が、ホワイトリスト情報から削除される場合に起こりうる。
(ステップS128)機能制御部13は、実行が許可されたアプリケーション以外のアプリケーションの実行の停止を示すアプリケーション実行停止情報を制御演算部11に出力する。これにより、そのアプリケーションの実行を停止させる。その後、ステップS108に戻り、例えば次の制御周期をむかえると、ステップS108以降の処理を繰り返す。
(ステップS130)ステップS120の処理において、更新されたホワイトリスト情報が示す自装置に実行が許可されたアプリケーションに新たに追加されたアプリケーションが存在する場合、制御演算部11にそのアプリケーションの実行を停止させず、実行を継続させる。その後、ステップS108に戻り、例えば次の制御周期をむかえると、ステップS108以降の処理を繰り返す。
(Step S124) If it is determined in step S122 that there is no change in the white list information, the control calculation unit 11 continues the execution without stopping the execution of the application. Thereafter, returning to step S108, for example, when the next control cycle is started, the processing after step S108 is repeated.
(Step S126) In the process of step S122, when there is an application other than the application permitted to be executed indicated by the updated white list information in the application being executed, the process proceeds to step S128. Such a case may occur when a part or all of the application permitted to be executed by the own device is deleted from the white list information.
(Step S128) The function control unit 13 outputs application execution stop information indicating stop of execution of an application other than the application permitted to be executed to the control calculation unit 11. As a result, the execution of the application is stopped. Thereafter, returning to step S108, for example, when the next control cycle is started, the processing after step S108 is repeated.
(Step S130) In the process of Step S120, when there is an application newly added to the application permitted to be executed in the own device indicated by the updated white list information, the control arithmetic unit 11 stops the execution of the application. Continue execution. Thereafter, returning to step S108, for example, when the next control cycle is started, the processing after step S108 is repeated.

このように、ホワイトリスト情報をブロックデータに格納し、開始時点の履歴情報の検証値と共に次のブロックデータ内に反映させることにより、サイバー攻撃によるホワイトリスト情報の改ざん防止が可能になる。つまり、攻撃者は、ホワイトリスト情報を改ざんし自身の悪意あるプログラムに起動許可を与える企図を企てても、開始時点からのすべてのブロックデータを変更し、かつ履歴情報の検証値も再計算し反映する必要がある。さらに各演算装置がブロックデータ保存部に保存するブロックデータも全装置に亘り改ざんすることも必要になる。そして、すべてに成功しないとき、ユーザは履歴情報の検証値から改ざんをきわめて容易に検出できる。この改ざんの検出により、攻撃者の企図が発覚する。従って、本手法により、ホワイトリスト情報の改ざんをけん制する効果が生じる。   In this manner, by storing the white list information in the block data and reflecting it in the next block data together with the verification value of the history information at the start time, it becomes possible to prevent the white list information from being falsified by a cyber attack. In other words, even if the attacker falsifies the whitelist information and attempts to grant start permission to his malicious program, he changes all block data from the beginning and recalculates the verification value of the history information. Need to be reflected. Furthermore, the block data stored in the block data storage unit by each arithmetic device must be altered throughout the entire device. And when all are not successful, the user can detect tampering very easily from the verification value of the history information. By detecting this alteration, the attacker's intention is discovered. Therefore, this method has an effect of suppressing falsification of the white list information.

(変形例)
なお、上述では、ホワイトリスト情報が、ブログラムプロセス毎の実行が許可されたアプリケーションプログラムを示す場合を例にしたが、これには限られない。ホワイトリスト情報は、制御コマンド毎の実行が許可されたプログラムを示す情報であってもよい。その場合には、上述の例のようにプログラムプロセス単位ではなく、制御コマンド単位で実行が制御される。また、ホワイトリスト情報が示す各制御コマンドには、その実行に用いるためのパラメータの情報が付随していてもよい。制御演算部11は、その制御コマンドを実行するとき、付随した情報が示すパラメータを用いて、その制御コマンドの処理を実行する。
(Modification)
In the above description, the case where the white list information indicates an application program that is permitted to be executed for each program process is taken as an example, but the present invention is not limited to this. The white list information may be information indicating a program that is permitted to be executed for each control command. In such a case, execution is controlled in units of control commands, not in units of program processes as in the above example. Further, each control command indicated by the white list information may be accompanied by parameter information for use in the execution. When executing the control command, the control calculation unit 11 executes the process of the control command using the parameter indicated by the accompanying information.

なお、正規のアプリケーションプログラムに、不正な処理を実行するコードが含まれている場合には、上述の例のようにプログラムプロセス毎の制御では、その不正な処理の実行を防御することができないことがある。例えば、SQL(Structured Query Language)インジェクション、OS(Operating System)コマンドインジェクションなどのインジェクション攻撃が制御コマンドのレベルで行われる場合には、その攻撃に対する防御がなされない。しかしながら、制御コマンド単位でその実行の制御を行うことで、不正な処理の実行を阻止することができる。そのため、冗長化システム1のサイバーセキュリティを確保することができる。   In addition, when a legitimate application program includes a code for executing an illegal process, the control for each program process cannot prevent the execution of the illegal process as in the above example. There is. For example, when an injection attack such as SQL (Structured Query Language) injection or OS (Operating System) command injection is performed at the control command level, the attack is not protected. However, execution of unauthorized processing can be prevented by controlling the execution in units of control commands. Therefore, the cyber security of the redundancy system 1 can be ensured.

なお、上述では、演算装置10が主にサーバ装置である場合を例にしたが、これには限られない。例えば、図9に示す冗長化システム2の制御装置(LS:Logic Solver)24、入出力装置(IO:Input Output)28は、演算装置10と同様の構成を備えてもよい。制御装置24は、冗長化システム2が制御対象とするプラントの動作を制御するための装置である。入出力装置28は、プラントに各種の出力データを出力し、プラントから各種の入力データを入力するための装置である。ここで、制御装置24、入出力装置28は、それぞれ演算デバイスを備え、演算デバイスが所定のプログラムに記述された命令が示す処理を実行する。   In the above description, the case where the arithmetic device 10 is mainly a server device is taken as an example, but the present invention is not limited to this. For example, the control device (LS: Logic Solver) 24 and the input / output device (IO: Input Output) 28 of the redundancy system 2 illustrated in FIG. 9 may have the same configuration as the arithmetic device 10. The control device 24 is a device for controlling the operation of the plant to be controlled by the redundancy system 2. The input / output device 28 is a device for outputting various output data to the plant and inputting various input data from the plant. Here, each of the control device 24 and the input / output device 28 includes an arithmetic device, and the arithmetic device executes a process indicated by an instruction described in a predetermined program.

冗長化システム2は、OPS21、EMS22、NA(Network Adaptor;ネットワークアダプタ)23、複数の制御装置24a〜24d、IO(Input Output;入出力)スキャナ25、IOネットワーク26、IOアダプタ27a、27b、及び入出力装置28aa〜28aI、28ba〜28bJを含んで構成される制御システムである。制御装置24a〜24d、入出力装置28aa〜28aI、28ba〜28bJは、それぞれ互いに共通の構成を備える。制御装置24a等のa等の符号、入出力装置28aa等のaa等の符号は、個々の装置を識別するための符号である。   The redundancy system 2 includes an OPS 21, an EMS 22, an NA (Network Adapter) 23, a plurality of control devices 24a to 24d, an IO (Input Output) scanner 25, an IO network 26, IO adapters 27a and 27b, and The control system includes input / output devices 28aa to 28aI and 28ba to 28bJ. The control devices 24a to 24d, the input / output devices 28aa to 28aI, and 28ba to 28bJ each have a common configuration. A code such as a for the control device 24a and a code such as aa for the input / output device 28aa are codes for identifying individual devices.

以上に説明したように、本実施形態に係る冗長化システム1、2は、複数の演算装置(例えば、演算装置10、制御装置24、入出力装置28等)と、実行が許可されたプログラムを示すプログラムリスト情報(例えば、ホワイトリスト情報)を含む開始時点のブロックデータを前記複数の演算装置に提供する管理装置(例えば、EMS22)と、を備える情報処理システムである。複数の演算装置のそれぞれは、制御部(例えば、機能制御部13)、データ生成部(例えば、送信データ生成部143)及び通信部(例えば、通信部16)を備える。制御部は、プログラムリスト情報が示すプログラムに基づく処理の実行の許否を判定する。データ生成部は、前時点のブロックデータに基づく検証値と、処理の起動状態を示す起動プログラム情報(例えば、起動アプリケーション情報)が現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成する。通信部は、ブロックデータを複数の演算装置間で同報する。   As described above, the redundancy systems 1 and 2 according to the present embodiment include a plurality of arithmetic devices (for example, the arithmetic device 10, the control device 24, the input / output device 28, etc.) and a program permitted to be executed. An information processing system including a management device (for example, EMS22) that provides block data at the start point including program list information (for example, whitelist information) to the plurality of arithmetic devices. Each of the plurality of arithmetic devices includes a control unit (for example, function control unit 13), a data generation unit (for example, transmission data generation unit 143), and a communication unit (for example, communication unit 16). The control unit determines whether or not to execute the process based on the program indicated by the program list information. The data generation unit generates current block data including a verification value based on block data at the previous time point and history information in which start program information (for example, start application information) indicating the start state of the process is accumulated up to the present time To do. The communication unit broadcasts block data among a plurality of arithmetic devices.

この構成によれば、複数の演算装置間で同報されるブロックデータが共有される。そのため、送信対象の演算装置の数の増加による伝送量の増加が、個々の演算装置を特定してブロックデータが伝送される場合よりも抑制されるため、ブロックデータが効率的に共有される。また、ブロックデータに含まれるプログラムリスト情報の正当性を認証するための認証サーバを設置しなくても、冗長化された個々の演算装置の分散処理を維持しながら、ブロックデータに含まれるプログラムリスト情報に基づいて、そのプログラムに基づく処理の起動を制御することができる。実行が許可されない不正なプログラムの起動が抑制されことで、冗長化システムの信頼性が向上する。
また、ブロックデータに含まれる起動プログラム情報がネットワークを介して複数の演算装置間で共有される。そのため、ブロックデータを参照して、実行が許可されていないプログラムに基づく処理の実行の検知及びその実行の停止が効率よく行われるので、サイバーセキュリティが確保される。
According to this configuration, block data broadcast is shared among a plurality of arithmetic devices. For this reason, an increase in the transmission amount due to an increase in the number of computing devices to be transmitted is suppressed as compared with the case where block data is transmitted by specifying individual computing devices, so that the block data is efficiently shared. In addition, the program list included in the block data can be maintained while maintaining the distributed processing of each redundant computing device without installing an authentication server for authenticating the validity of the program list information included in the block data. Based on the information, it is possible to control activation of processing based on the program. By suppressing the activation of unauthorized programs that are not allowed to be executed, the reliability of the redundant system is improved.
In addition, activation program information included in the block data is shared among a plurality of arithmetic devices via a network. Therefore, referring to the block data, the detection of the execution of the process based on the program that is not permitted to execute and the stop of the execution are efficiently performed, so that cyber security is ensured.

<第二実施形態>
次に、本発明の第二実施形態について説明する。第一実施形態と同一の構成については、同一の符号を付してその説明を援用する。以下の説明では、主に第一実施形態の冗長化システム1との差異点について述べる。
<Second embodiment>
Next, a second embodiment of the present invention will be described. About the same structure as 1st embodiment, the same code | symbol is attached | subjected and the description is used. In the following description, differences from the redundancy system 1 of the first embodiment will be mainly described.

本実施形態に係るEMS22(図1)は、受け付けた操作に基づいて個々の演算装置10へのアクセスが許可されたユーザを示すユーザ情報を1個又は複数個含むホワイトリスト情報をさらに生成する。以下の説明では、このホワイトリスト情報を、ユーザリスト情報と呼んで第1の実施形態に係るホワイトリスト情報と区別する。ユーザ情報には、各ユーザの識別情報のハッシュ値、そのユーザの認証情報のハッシュ値、及びアクセス許可機能の情報が含まれる。ユーザの識別情報、認証情報として、例えば、ユーザID、パスワード、がそれぞれ用いられる。アクセス許可機能は、そのユーザにアクセスを許可する機能である。EMS22は、生成したユーザリスト情報を含むように開始時点のブロックデータを生成する。以下の説明では、ユーザリスト情報を含むブロックデータを、第2ブロックデータと呼んで第1の実施形態に係るブロックデータと区別する。開始時点の第2ブロックデータは、ユーザリスト情報を開始時点の履歴情報とし、所定の検証値の初期値、及び開始時点の履歴情報を含んで構成される。第2ブロックデータの具体例については後述する。EMS22は、生成した開始時点の第2ブロックデータを演算装置10にネットワークNWを介して送信する。   The EMS 22 (FIG. 1) according to the present embodiment further generates white list information including one or a plurality of user information indicating users who are permitted to access each arithmetic device 10 based on the accepted operation. In the following description, this white list information is called user list information and is distinguished from the white list information according to the first embodiment. The user information includes a hash value of identification information of each user, a hash value of authentication information of the user, and information on an access permission function. For example, a user ID and a password are used as user identification information and authentication information, respectively. The access permission function is a function that permits access to the user. The EMS 22 generates block data at the start time so as to include the generated user list information. In the following description, block data including user list information is referred to as second block data and is distinguished from block data according to the first embodiment. The second block data at the start time includes user list information as history information at the start time, and includes an initial value of a predetermined verification value and history information at the start time. A specific example of the second block data will be described later. The EMS 22 transmits the generated second block data at the start time to the arithmetic device 10 via the network NW.

次に、本実施形態に演算装置10(図2)の構成について説明する。本実施形態に係る機能制御部13は、自装置の外部からの入力情報に基づいてユーザアクセス情報を取得する。ユーザアクセス情報は、ユーザによる演算装置10が有する機能へのアクセスを示す情報である。ユーザアクセス情報には、例えば、アクセスユーザの識別情報のハッシュ値、アクセスユーザの認証情報のハッシュ値及びアクセス機能の情報が含まれる。アクセスユーザとは、アクセスを行うユーザである。アクセス機能とは、アクセスユーザが利用しようとする機能である。機能制御部13は、入力情報を取得する際、例えば、自装置が備える操作入力部(図示せず)が受け付けた操作によりアクセスユーザの識別情報、アクセスユーザの認証情報及びアクセス機能の情報を特定する。そして、機能制御部13は、特定したアクセスユーザの識別情報とアクセスユーザの認証情報のそれぞれの検証値を算出する。また、機能制御部13は、EMS22もしくはネットワークNWに接続された他の機器から通信部16を介して受信した操作又は設定情報が示すアクセスユーザの識別情報の検証値、アクセスユーザの認証情報の検証値及びアクセス機能の情報を取得してもよい。   Next, the configuration of the arithmetic device 10 (FIG. 2) will be described in this embodiment. The function control unit 13 according to the present embodiment acquires user access information based on input information from the outside of the own device. The user access information is information indicating access to a function of the computing device 10 by the user. The user access information includes, for example, a hash value of access user identification information, a hash value of access user authentication information, and access function information. An access user is a user who performs access. The access function is a function that an access user intends to use. When acquiring the input information, the function control unit 13 specifies, for example, access user identification information, access user authentication information, and access function information by an operation received by an operation input unit (not shown) included in the own device. To do. Then, the function control unit 13 calculates respective verification values of the identified access user identification information and access user authentication information. Further, the function control unit 13 verifies the verification value of the access user identification information indicated by the operation or setting information received from the EMS 22 or another device connected to the network NW via the communication unit 16 and the verification information of the access user. Information on values and access functions may be acquired.

機能制御部13は、記憶部18に記憶されたユーザリスト情報を参照して、取得したユーザアクセス情報についてユーザ認証処理を行う。ここで、機能制御部13は、ユーザリスト情報に含まれるユーザの識別情報のハッシュ値とユーザの認証情報のハッシュ値のセット毎に、ユーザアクセス情報に含まれるアクセスユーザの識別情報のハッシュ値とアクセスユーザの認証情報のハッシュ値とをそれぞれ照合する。機能制御部13は、ユーザアクセス情報に含まれるアクセスユーザの識別情報のハッシュ値とアクセスユーザの認証情報のハッシュ値とそれぞれ一致する、ユーザの識別情報のハッシュ値とユーザの認証情報のセットがユーザリスト情報に存在するか否かを判定する。存在すると判定するとき、機能制御部13は、さらにユーザアクセス情報に含まれるアクセス機能が、一致すると判定したセットに対応付けられたアクセス許可機能に該当するか否かを判定する。存在しないと判定するとき、機能制御部13は、そのユーザアクセス情報についてユーザ認証失敗と判定し、アクセスを許可しない。   The function control unit 13 refers to the user list information stored in the storage unit 18 and performs user authentication processing on the acquired user access information. Here, for each set of the hash value of the user identification information included in the user list information and the hash value of the user authentication information, the function control unit 13 sets the hash value of the access user identification information included in the user access information, The hash value of the access user authentication information is collated. The function control unit 13 determines that the set of the hash value of the user identification information and the authentication information of the access user, which match the hash value of the access user identification information and the access user authentication information included in the user access information, is a user It is determined whether or not the list information exists. When determining that it exists, the function control unit 13 further determines whether or not the access function included in the user access information corresponds to the access permission function associated with the set determined to match. When determining that it does not exist, the function control unit 13 determines that user authentication has failed for the user access information, and does not permit access.

また、機能制御部13は、ユーザアクセス情報に含まれるアクセス機能が、そのセットに対応付けられたアクセス許可機能に該当すると判定するとき、そのユーザアクセス情報についてユーザ認証成功と判定し、アクセスを許可する。機能制御部13は、アクセス機能が、そのセットに対応付けられたアクセス許可機能に該当しないと判定するとき、そのユーザアクセス情報についてユーザ認証失敗と判定し、アクセスを許可しない。機能制御部13は、その時点の日時を示すアクセス日時、アクセスユーザ、アクセス機能及びアクセス成否を示すアクセス状態情報を生成し、生成したアクセス状態情報を記憶部18に記憶する。機能制御部13は、アクセスを許可した機能を示す機能情報を制御演算部11に出力する。制御演算部11は、機能制御部13から入力される機能情報が示す機能を実現するためのプログラムを記憶部18から読み出し、読み出したプログラムを起動する。これにより、アクセスが許可された機能が実行される。   Further, when the function control unit 13 determines that the access function included in the user access information corresponds to the access permission function associated with the set, the function control unit 13 determines that the user authentication is successful for the user access information and permits the access. To do. When the function control unit 13 determines that the access function does not correspond to the access permission function associated with the set, the function control unit 13 determines that the user access information is a user authentication failure and does not permit the access. The function control unit 13 generates access date / time indicating the current date / time, access user, access function, and access status information indicating access success / failure, and stores the generated access status information in the storage unit 18. The function control unit 13 outputs function information indicating the function permitted to access to the control calculation unit 11. The control calculation unit 11 reads a program for realizing the function indicated by the function information input from the function control unit 13 from the storage unit 18 and activates the read program. Thereby, the function for which access is permitted is executed.

ブロックデータ保存部141は、EMS22又は自装置とは異なる他の演算装置10から通信部16を介して受信した第2ブロックデータと自装置の送信データ生成部143が生成した第2ブロックデータを一時的に保存する。
受信データ解析部142は、ブロックデータ保存部141に記憶されている第2ブロックデータのうち最新の第2ブロックデータを読み出す。読み出した最新の第2ブロックデータが、開始時点の第2ブロックデータである場合には、受信データ解析部142は、その第2ブロックデータから開始時点の履歴情報に相当するユーザリスト情報を抽出し、抽出したユーザリスト情報を記憶部18に記憶する。ユーザリスト情報の記憶は、必ずしも新たな第2ブロックデータの読出しの度に行われなくてもよい。新たなユーザリスト情報が取得されるとき、記憶部18に記憶されるユーザリスト情報が新たなユーザリスト情報に更新されればよい。
ブロックデータ保存部141から読み出した最新の第2ブロックデータが、開始時点よりも後の時点の第2ブロックデータである場合には、受信データ解析部142は、最新の第2ブロックデータの履歴情報から、最新のアクセス状態情報を抽出し、抽出したアクセス状態情報を記憶部18に記憶する。
The block data storage unit 141 temporarily stores the second block data received from the EMS 22 or another arithmetic device 10 different from the own device via the communication unit 16 and the second block data generated by the transmission data generating unit 143 of the own device. To save.
The reception data analysis unit 142 reads the latest second block data from the second block data stored in the block data storage unit 141. When the latest read second block data is the second block data at the start time, the reception data analysis unit 142 extracts user list information corresponding to the history information at the start time from the second block data. The extracted user list information is stored in the storage unit 18. The user list information need not always be stored each time new second block data is read. When new user list information is acquired, the user list information stored in the storage unit 18 may be updated to new user list information.
When the latest second block data read from the block data storage unit 141 is the second block data at a time point after the start time point, the reception data analysis unit 142 displays the history information of the latest second block data. Then, the latest access state information is extracted, and the extracted access state information is stored in the storage unit 18.

送信データ生成部143は、自装置におけるユーザからのアクセス状態を示す最新のアクセス状態情報を記憶部18から読み出す。また、送信データ生成部143は、ブロックデータ保存部141に保存された第2ブロックデータのうち最新の第2ブロックデータを前時点の第2ブロックデータとして読み出し、読み出した第2ブロックデータとアクセス状態情報とに基づいて現時点の第2ブロックデータを生成する。現時点の第2ブロックデータは、前時点の第2ブロックデータに基づく検証値と、その履歴情報に新たなアクセス状態情報を要素情報として追加して構成される現時点の履歴情報とを含むデータである。送信データ生成部143は、検証値として、例えば、前時点の第2ブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて所定の一方向関数を用いてハッシュ値を算出する。送信データ生成部143は、生成した第2ブロックデータを自装置とは異なる他の演算装置10に送信し、自装置のブロックデータ保存部141に保存する。これにより、自装置を含む複数の演算装置10の間で送信データ生成部143が生成した第2ブロックデータが同報され、互いに共有される。   The transmission data generation unit 143 reads the latest access state information indicating the access state from the user in the own device from the storage unit 18. The transmission data generation unit 143 reads the latest second block data from the second block data stored in the block data storage unit 141 as the second block data at the previous time point, and the read second block data and the access state Based on the information, the current second block data is generated. The second block data at the current time is data including a verification value based on the second block data at the previous time point and current history information configured by adding new access state information as element information to the history information. . For example, the transmission data generation unit 143 calculates a hash value using a predetermined one-way function for each of the block header included in the second block data at the previous time point and the current history information as the verification value. The transmission data generation unit 143 transmits the generated second block data to another arithmetic device 10 different from the own device, and stores the second block data in the block data storage unit 141 of the own device. As a result, the second block data generated by the transmission data generation unit 143 is broadcast among a plurality of arithmetic devices 10 including its own device and shared with each other.

(ブロックデータ)
次に、本実施形態に係るブロックデータの例について説明する。
図10は、本実施形態に係るブロックデータの例を示す図である。
BD21、BD22、BD23は、開始時点における第2ブロックデータ、開始時点よりも後の時点における第2ブロックデータ、その次の時点における第2ブロックデータをそれぞれ示す。
第2ブロックデータは、ブロックヘッダとその時点における履歴情報とを含んで構成される。第2ブロックヘッダには、前時点のブロックデータに基づく検証値、装置ID、演算回数、検証用データ及び履歴情報の検証値が含まれる。
(Block data)
Next, an example of block data according to the present embodiment will be described.
FIG. 10 is a diagram illustrating an example of block data according to the present embodiment.
BD21, BD22, and BD23 indicate second block data at the start time, second block data at a time later than the start time, and second block data at the next time, respectively.
The second block data includes a block header and history information at that time. The second block header includes a verification value based on the block data at the previous time point, a device ID, the number of operations, verification data, and a verification value of history information.

本実施形態では、履歴情報の検証値として、開始時点の第2ブロックデータについてはユーザリスト情報のハッシュ値が用いられ、それよりも後の各時点の履歴情報として、ユーザリスト情報と現時点までの全ユーザアクセス状態情報を累積して構成される履歴情報のハッシュ値が用いられる。   In the present embodiment, the hash value of the user list information is used for the second block data at the start time as the verification value of the history information, and the user list information and the current time information as the history information at each subsequent time point are used. A hash value of history information configured by accumulating all user access status information is used.

開始時点の第2ブロックデータの履歴情報には、ユーザリスト情報が含まれる。ユーザリスト情報の各行には、各ユーザのユーザ情報が含まれる。ユーザ情報には、各ユーザのユーザIDのハッシュ値、そのユーザのパスワードのハッシュ値、及びアクセスできる機能(アクセス許可機能)の情報が含まれる。
開始時点よりも後の時点の第2ブロックデータの履歴情報には、要素情報としてユーザリスト情報と現時点までのアクセス状態情報が含まれる。個々のアクセス状態情報には、アクセス日時、アクセスユーザ、アクセス機能、及びアクセス成否の情報が含まれる。アクセス機能には、その機能を有する演算装置10の情報が含まれてもよい。
なお、本実施形態及び変形例に係る冗長化システム1の構成は、冗長化システム2に適用されてもよい。ここで、制御装置24、入出力装置28は、それぞれ本実施形態に係る演算装置10と同様の構成を備えてもよい。
The history information of the second block data at the start time includes user list information. Each line of the user list information includes user information of each user. The user information includes a hash value of the user ID of each user, a hash value of the password of the user, and information on an accessible function (access permission function).
The history information of the second block data at a time later than the start time includes user list information and access status information up to the current time as element information. The individual access status information includes access date / time, access user, access function, and access success / failure information. The access function may include information on the arithmetic device 10 having the function.
Note that the configuration of the redundancy system 1 according to the present embodiment and the modification may be applied to the redundancy system 2. Here, the control device 24 and the input / output device 28 may each have the same configuration as the arithmetic device 10 according to the present embodiment.

以上に説明したように、本実施形態に係る冗長化システム(例えば、冗長化システム1、2)において、管理装置(例えば、EMS22)は、所定の機能へのアクセスが許可されたユーザを示すユーザリスト情報を含む開始時点の第2ブロックデータを複数の演算装置に提供する。各演算装置の制御部(例えば、機能制御部13)は、ユーザリスト情報に基づいてユーザからのその機能へのアクセスの許否を判定する。データ生成部(例えば、送信データ生成部143)は、 前時点の第2ブロックデータに基づく検証値と、その機能へのアクセス結果を示すアクセス状態情報が現時点まで累積された履歴情報であるアクセス履歴情報と、を含む現時点の第2ブロックデータを生成する。通信部(例えば、通信部16)は、第2ブロックデータを複数の演算装置間で同報する。   As described above, in the redundant system (for example, redundant systems 1 and 2) according to the present embodiment, the management device (for example, EMS22) is a user indicating a user who is permitted to access a predetermined function. The second block data at the start point including the list information is provided to a plurality of arithmetic devices. The control unit (for example, the function control unit 13) of each arithmetic device determines whether or not the user can access the function based on the user list information. The data generation unit (for example, the transmission data generation unit 143) is an access history that is history information in which the verification value based on the second block data at the previous time point and the access state information indicating the access result to the function are accumulated up to the present time. And current second block data including the information. The communication unit (for example, the communication unit 16) broadcasts the second block data among a plurality of arithmetic devices.

この構成により、ユーザリスト情報を含む第2ブロックデータが複数の演算装置間で分散処理を維持しながら同報される。そのため、冗長化システムにおいて認証局を設置しなくても、演算装置は、そのユーザリスト情報を用いてユーザ認証処理を行うことができる。そのため、サイバー攻撃等による単一障害点となりうる認証局が設置される場合よりも、冗長化システムの信頼性が向上する。
また、各演算装置10におけるアクセス状態情報を複数の演算装置間を接続するネットワーク上で取得することができるので、アクセス状態情報が示すアクセス日時、アクセスユーザ、アクセス機能などの情報をネットワークを介して入手することができる。そのため、ユーザのアクセス否認に対する検証の手がかりが得られる。その検証によりユーザの行動を牽制することで、サイバーセキュリティが確保される。
With this configuration, the second block data including the user list information is broadcast while maintaining distributed processing among a plurality of arithmetic devices. Therefore, the arithmetic unit can perform user authentication processing using the user list information without installing a certificate authority in the redundant system. Therefore, the reliability of the redundant system is improved as compared with the case where a certificate authority that can be a single point of failure due to a cyber attack or the like is installed.
Further, since the access status information in each computing device 10 can be acquired on a network connecting a plurality of computing devices, information such as access date and time, access user, and access function indicated by the access status information can be obtained via the network. It can be obtained. Therefore, a clue to verifying the user's access denial can be obtained. Cyber security is ensured by checking the user's actions through the verification.

<第三実施形態>
次に、本発明の第三実施形態について説明する。上述の実施形態と同一の構成については、同一の符号を付してその説明を援用する。以下の説明では、主に第一実施形態の冗長化システム1(図1)との差異点について述べる。本実施形態に係る冗長化システム1は、複数の演算装置10とEMS22の他、OPS21を備える。
まず、本実施形態に係る演算装置10の機能構成について説明する。図11は、本実施形態に係る演算装置10の一構成例を示すブロック図である。
本実施形態に係る演算装置10は、制御演算部11、検出部12、機能制御部13、ブロックデータ処理部14、通信部16、及び記憶部18を含んで構成される。
<Third embodiment>
Next, a third embodiment of the present invention will be described. About the same structure as the above-mentioned embodiment, the same code | symbol is attached | subjected and the description is used. In the following description, differences from the redundancy system 1 (FIG. 1) of the first embodiment will be mainly described. The redundancy system 1 according to the present embodiment includes an OPS 21 in addition to the plurality of arithmetic devices 10 and the EMS 22.
First, a functional configuration of the arithmetic device 10 according to the present embodiment will be described. FIG. 11 is a block diagram illustrating a configuration example of the arithmetic device 10 according to the present embodiment.
The arithmetic device 10 according to the present embodiment includes a control arithmetic unit 11, a detection unit 12, a function control unit 13, a block data processing unit 14, a communication unit 16, and a storage unit 18.

検出部12は、自装置における脅威を検出する。脅威とは、サイバーセキュリティが損なわれうる事象を意味する。検出部12は、脅威として、例えば、ログイン連続失敗、未定義ユーザの連続アクセス、未定義アドレスからのデータ受信、受信データ量の異常、未定義コマンドの受信、定義外サイズのパケットデータ受信などの事象を検出する。ログイン連続失敗とは、所定期間(例えば、1〜5秒)内に同一のアドレスで指定される機器からのログイン要求に応じたユーザ認証の失敗が複数回発生することである。未定義ユーザの連続アクセスとは、アクセスが許可されたユーザ以外のユーザからのアクセス要求が所定期間内に複数回発生することである。未定義アドレスからのデータ受信とは、予め設定アドレス以外の他のアドレスで指定された機器からデータを受信することである。受信データ量の異常とは、他の機器から受信するデータの情報量が、他の機能の実行に影響を及ぼさずに受信できる情報量の上限よりも大きいことである。受信データ量の異常は、例えば、DoS(Denial of Service)攻撃を受けているときに生じうる。未定義コマンドの受信とは、演算装置10の機能を指示するためのコマンドとして予め設定されていないコマンドを受信することである。定義外サイズのパケットデータ受信とは、予め設定されていない情報量を有するパケットデータを受信することである。検出部12は、脅威を検出した日時と、その脅威を示す脅威IDを示す脅威情報を生成し、生成した脅威情報を記憶部18に記憶する。ここで、検出部12は、記憶部18に予め記憶された脅威対処テーブル(図12)を参照して、検出した脅威を示す脅威IDを特定する。   The detection unit 12 detects a threat in the own device. A threat means an event that can compromise cybersecurity. For example, the detection unit 12 may detect, as a threat, such as consecutive login failures, continuous access by undefined users, data reception from undefined addresses, abnormal received data amount, reception of undefined commands, reception of undefined size packet data, etc. Detect events. The continuous login failure means that a plurality of user authentication failures occur in response to a login request from a device designated by the same address within a predetermined period (for example, 1 to 5 seconds). The continuous access of undefined users means that an access request from a user other than the user permitted to access is generated a plurality of times within a predetermined period. Data reception from an undefined address refers to receiving data from a device that is designated in advance by an address other than the set address. An abnormality in the amount of received data means that the information amount of data received from another device is larger than the upper limit of the information amount that can be received without affecting the execution of other functions. An abnormality in the amount of received data can occur, for example, when a DoS (Denial of Service) attack is underway. Receiving an undefined command means receiving a command that is not set in advance as a command for instructing the function of the arithmetic device 10. Receiving packet data of an undefined size means receiving packet data having an information amount not set in advance. The detection unit 12 generates threat information indicating a date and time when a threat is detected and a threat ID indicating the threat, and stores the generated threat information in the storage unit 18. Here, the detection unit 12 refers to the threat countermeasure table (FIG. 12) stored in advance in the storage unit 18 and identifies a threat ID indicating the detected threat.

検出部12は、特定した脅威IDをOPS21に通信部16を介して送信してもよい。もしくは、後述するように、送信データ生成部143は、その脅威IDが含まれる第3ブロックデータをOPS21に通信部16を介して送信してもよい。脅威対処テーブルは、各項目の脅威に脅威ID、脅威レベル及び推奨対策情報が対応付けて構成される脅威リスト情報である。脅威レベルは、その影響の度合いを定量化した数値であり、その数値が大きいほど影響が大きいことを示す。推奨対策情報は、脅威に対する望ましい対策、つまり、その脅威の抑止、その脅威による有害な事象の抑止、被害拡大の防止、再発防止、のいずれか又はその組み合わせを示す情報である。脅威対処テーブルの具体例については、後述する。   The detection unit 12 may transmit the identified threat ID to the OPS 21 via the communication unit 16. Alternatively, as will be described later, the transmission data generating unit 143 may transmit the third block data including the threat ID to the OPS 21 via the communication unit 16. The threat countermeasure table is threat list information configured by associating a threat ID, a threat level, and recommended countermeasure information with each item of threat. The threat level is a numerical value obtained by quantifying the degree of the influence. The larger the numerical value, the larger the influence. The recommended countermeasure information is information indicating a desirable countermeasure against the threat, that is, any one or combination of suppression of the threat, suppression of harmful events due to the threat, prevention of damage expansion, and prevention of recurrence. A specific example of the threat countermeasure table will be described later.

OPS21は、予め記憶させておいた脅威対処テーブルを参照し、演算装置10から受信した脅威IDに対応する脅威レベルと推奨対策情報を特定し、特定した脅威レベルと推奨対策情報を表示部に表示させてもよい。脅威レベルと推奨対策情報は、ダイアログ画面として表示されてもよい。ダイアログ画面には、推奨対策の実行を指示するための実行ボタンが含まれてもよい。OPS21は、操作によりその推奨対策の実行が指示されるとき、その実行の要求を示す推奨対策実行要求情報を、推奨対策情報の応答として演算装置10に送信してもよい。演算装置10の機能制御部13は、OPS21から通信部16を介して推奨対策実行要求情報を受信するとき、その推奨対策実行要求情報が示す推奨対策を実行する。   The OPS 21 refers to the threat countermeasure table stored in advance, identifies the threat level and recommended countermeasure information corresponding to the threat ID received from the computing device 10, and displays the identified threat level and recommended countermeasure information on the display unit. You may let them. The threat level and recommended countermeasure information may be displayed as a dialog screen. The dialog screen may include an execution button for instructing execution of recommended measures. When the operation is instructed to execute the recommended measure, the OPS 21 may transmit recommended measure execution request information indicating a request for the execution to the arithmetic device 10 as a response to the recommended measure information. When receiving the recommended measure execution request information from the OPS 21 via the communication unit 16, the function control unit 13 of the arithmetic device 10 executes the recommended measure indicated by the recommended measure execution request information.

なお、記憶部18には、自装置とは他の演算装置10から受信した最新の第3ブロックデータに含まれる新たな脅威情報が記憶される場合がある。その場合には、機能制御部13は、脅威対処テーブルを参照し、その脅威情報に含まれる脅威IDに対応する推奨対策情報を特定し、特定した推奨対策情報が示す推奨対策を実行してもよい。
機能制御部13は、推奨対策を実行した場合には、その実行を示す推奨対策実行情報を記憶部18に記憶してもよい。なお、特定した脅威レベルが所定の脅威レベルの閾値よりも高い場合には、検出部12は、その推奨対策情報が示す推奨対策の実行を示す推奨対策実行対策要求を、機能制御部13に出力することで、その推奨対策を実行させてもよい。
Note that the storage unit 18 may store new threat information included in the latest third block data received from the arithmetic device 10 other than the own device. In that case, the function control unit 13 refers to the threat countermeasure table, identifies the recommended countermeasure information corresponding to the threat ID included in the threat information, and executes the recommended countermeasure indicated by the identified recommended countermeasure information. Good.
When executing the recommended measure, the function control unit 13 may store recommended measure execution information indicating the execution in the storage unit 18. When the identified threat level is higher than a predetermined threat level threshold, the detection unit 12 outputs a recommended countermeasure execution countermeasure request indicating execution of the recommended countermeasure indicated by the recommended countermeasure information to the function control unit 13. By doing so, the recommended measures may be executed.

ブロックデータ保存部141は、自装置とは異なる他の演算装置10から通信部16を介して受信した第3ブロックデータと自装置の送信データ生成部143が生成した第3ブロックデータを一時的に保存する。
受信データ解析部142は、ブロックデータ保存部141に保存されている第3ブロックデータのうち最新の第3ブロックデータを読み出す。受信データ解析部142は、読み出した第3ブロックデータからその時点の履歴情報のうち最新の脅威情報を抽出し、抽出した脅威情報を記憶部18に記憶する。抽出した脅威情報に含まれる脅威IDは、自装置とは異なる他の演算装置10において検出された新たな脅威を示す。
The block data storage unit 141 temporarily stores the third block data received from the other arithmetic device 10 different from the own device via the communication unit 16 and the third block data generated by the transmission data generating unit 143 of the own device. save.
The reception data analysis unit 142 reads the latest third block data among the third block data stored in the block data storage unit 141. The received data analysis unit 142 extracts the latest threat information from the read third block data from the history information at that time, and stores the extracted threat information in the storage unit 18. The threat ID included in the extracted threat information indicates a new threat detected by another computing device 10 different from the own device.

送信データ生成部143は、自装置において検出された脅威を示す最新の脅威情報を記憶部18から読み出す。なお、その脅威に対する最新の推奨対策実行情報が記憶部18に記憶されている場合には、送信データ生成部143は、その推奨対策実行情報を脅威情報に追加してもよい。従って、脅威情報に、その脅威に対する推奨対策の実行の旨の情報が反映される。また、送信データ生成部143は、ブロックデータ保存部141に保存された第3ブロックデータのうち最新の第3ブロックデータを前時点の第3ブロックデータとして読み出し、読み出した第3ブロックデータと脅威情報とに基づいて現時点の第3ブロックデータを生成する。現時点の第3ブロックデータは、前時点の第3ブロックデータに基づく検証値と、その履歴情報に新たな脅威情報を要素情報として追加して構成される現時点の履歴情報とを含むデータである。送信データ生成部143は、検証値として、例えば、前時点の第3ブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて所定の一方向関数を用いてハッシュ値を算出する。送信データ生成部143は、生成した第3ブロックデータを自装置とは異なる他の演算装置10に送信し、自装置のブロックデータ保存部141に保存する。これにより、自装置を含む複数の演算装置10間で送信データ生成部143が生成した第3ブロックデータが同報され、互いに共有される。また、送信データ生成部143は、生成した第3ブロックデータをOPS21に送信してもよい。   The transmission data generation unit 143 reads the latest threat information indicating the threat detected in the own device from the storage unit 18. In addition, when the latest recommended countermeasure execution information for the threat is stored in the storage unit 18, the transmission data generation unit 143 may add the recommended countermeasure execution information to the threat information. Therefore, information indicating that the recommended countermeasure is executed for the threat is reflected in the threat information. Further, the transmission data generation unit 143 reads the latest third block data from the third block data stored in the block data storage unit 141 as the third block data at the previous time point, and reads the read third block data and threat information. Based on the above, the current third block data is generated. The third block data at the present time is data including a verification value based on the third block data at the previous time point, and current history information configured by adding new threat information as element information to the history information. For example, the transmission data generation unit 143 calculates a hash value as a verification value by using a predetermined one-way function for each of the block header included in the third block data at the previous time point and the current history information. The transmission data generation unit 143 transmits the generated third block data to another arithmetic device 10 different from the own device, and stores the third block data in the block data storage unit 141 of the own device. As a result, the third block data generated by the transmission data generation unit 143 is broadcast among a plurality of arithmetic devices 10 including the own device, and is shared with each other. Further, the transmission data generation unit 143 may transmit the generated third block data to the OPS 21.

(脅威対処テーブル)
次に、本実施形態に係る脅威対処テーブルについて説明する。
図12は、本実施形態に係る脅威対処テーブルの一例を示す図である。
脅威対処テーブルは、各項目の脅威、脅威ID、脅威レベル及び推奨対策の情報の組み合わせである脅威項目情報を1個又は複数個含んで構成される脅威リスト情報である。
図12の第2行に示す例では、脅威「ログイン連続失敗」に、脅威ID「Threat1」、脅威レベル「3」及び推奨対策「ユーザのアクセス許可を失効させる」を対応付けられ、脅威項目情報が形成されている。
(Threat Response Table)
Next, the threat countermeasure table according to the present embodiment will be described.
FIG. 12 is a diagram showing an example of a threat countermeasure table according to the present embodiment.
The threat countermeasure table is threat list information including one or a plurality of threat item information that is a combination of threat information, threat ID, threat level, and recommended countermeasure information for each item.
In the example shown in the second row of FIG. 12, the threat “login continuous failure” is associated with the threat ID “Threat 1”, the threat level “3”, and the recommended measure “revoke user access permission”, and threat item information Is formed.

(ブロックデータ)
次に、本実施形態に係るブロックデータについて説明する。
図13は、本実施形態に係るブロックデータの例を示す図である。
BD41、BD42、BD43は、ある時点における第3ブロックデータ、次の時点における第3ブロックデータ、その次の時点における第3ブロックデータをそれぞれ示す。
第3ブロックデータは、ブロックヘッダとその時点における履歴情報とを含んで構成される。第3ブロックヘッダには、前時点のブロックデータに基づく検証値、装置ID、演算回数、検証用データ及び履歴情報の検証値が含まれる。
本実施形態では、履歴情報の検証値として、開始時点から現時点までの全脅威情報を累積して構成される履歴情報のハッシュ値が用いられる。第3ブロックデータの履歴情報には、要素情報として現時点までの脅威情報が含まれる。個々の脅威情報には、日時と脅威IDが含まれる。
(Block data)
Next, block data according to the present embodiment will be described.
FIG. 13 is a diagram illustrating an example of block data according to the present embodiment.
BD41, BD42, and BD43 respectively indicate third block data at a certain time point, third block data at the next time point, and third block data at the next time point.
The third block data includes a block header and history information at that time. The third block header includes a verification value based on block data at the previous time point, a device ID, the number of operations, verification data, and a verification value of history information.
In this embodiment, a hash value of history information configured by accumulating all threat information from the start time to the present time is used as a verification value of history information. The history information of the third block data includes threat information up to the present time as element information. Each threat information includes a date and a threat ID.

(変形例)
上述した例では、各演算装置10の記憶部18に脅威対処テーブルを予め記憶しておき、検出部12が、その脅威対処テーブルを参照して、検出した脅威を特定する場合を例にしたが、これには限られない。次に説明する変形例において、EMS22は、受け付けた操作に基づいて脅威対処テーブルを生成してもよい。EMS22は、生成した脅威対処テーブルを含むように開始時点の第3ブロックデータを生成する。開始時点の第3ブロックデータは、脅威対処テーブルを開始時点の履歴情報とし、所定の検証値の初期値、及び開始時点の履歴情報を含んで構成される。EMS22は、生成した開始時点の第3ブロックデータを演算装置10にネットワークNWを介して送信する。
(Modification)
In the example described above, the threat handling table is stored in advance in the storage unit 18 of each arithmetic device 10, and the detection unit 12 refers to the threat handling table and identifies the detected threat. This is not a limitation. In the modification described below, the EMS 22 may generate a threat countermeasure table based on the accepted operation. The EMS 22 generates the third block data at the start time so as to include the generated threat countermeasure table. The third block data at the start time includes the threat countermeasure table as history information at the start time, and includes an initial value of a predetermined verification value and history information at the start time. The EMS 22 transmits the generated third block data at the start time to the arithmetic device 10 via the network NW.

ブロックデータ保存部141は、EMS22から通信部16を介して受信した第3ブロックデータを一時的に保存する。
受信データ解析部142は、ブロックデータ保存部141に記憶されている第3ブロックデータのうち最新の第3ブロックデータを読み出す。読み出した最新の第3ブロックデータが、開始時点の第3ブロックデータである場合には、受信データ解析部142は、その第3ブロックデータから開始時点の履歴情報に相当する脅威対処テーブルを抽出し、抽出した脅威対処テーブルを記憶部18に記憶する。脅威リスト情報の記憶は、必ずしも新たな第3ブロックデータの読出しの度に行われなくてもよい。新たな脅威対処テーブルが取得されるとき、記憶部18に記憶される脅威対処テーブルが新たな脅威対処テーブルに更新されればよい。上述したように、記憶部18に記憶される脅威対処テーブルが脅威リスト情報として、検出された脅威の特定に用いられる。
The block data storage unit 141 temporarily stores the third block data received from the EMS 22 via the communication unit 16.
The reception data analysis unit 142 reads the latest third block data from the third block data stored in the block data storage unit 141. When the latest read third block data is the third block data at the start time, the received data analysis unit 142 extracts a threat countermeasure table corresponding to the history information at the start time from the third block data. The extracted threat countermeasure table is stored in the storage unit 18. The threat list information need not always be stored each time new third block data is read. When a new threat countermeasure table is acquired, the threat countermeasure table stored in the storage unit 18 may be updated to a new threat countermeasure table. As described above, the threat handling table stored in the storage unit 18 is used as threat list information to identify the detected threat.

(ブロックデータ)
次に、本変形例に係るブロックデータについて説明する。
図14は、本変形例に係るブロックデータの例を示す図である。
BD61、BD62、BD63は、開始時点における第3ブロックデータ、開始時点よりも後の時点における第3ブロックデータ、次の時点における第3ブロックデータをそれぞれ示す。
本変形例では、開始時点における第3ブロックデータでは、前時点のブロックデータに基づく検証値に代えて、所定の初期値が用いられている。また、履歴情報の検証値として、脅威リスト情報、つまり脅威対処テーブルのハッシュ値が用いられる。開始時点の第3ブロックデータの履歴情報には、脅威対象テーブルが含まれる。脅威リスト情報の各行に、各項目の脅威項目情報が含まれる。脅威項目情報は、それぞれ脅威、脅威ID、脅威レベル及び推奨対策の情報が含まれる。開始時点よりも後の時点における第3ブロックデータの履歴情報には、要素情報として障害リスト情報と、現時点までの脅威情報が含まれる。
なお、本実施形態及び変形例に係る冗長化システム1の構成は、冗長化システム2に適用されてもよい。ここで、制御装置24、入出力装置28は、それぞれ本実施形態に係る演算装置10と同様の構成を備えてもよい。
(Block data)
Next, block data according to this modification will be described.
FIG. 14 is a diagram illustrating an example of block data according to the present modification.
BD61, BD62, and BD63 respectively indicate third block data at the start time, third block data at a time later than the start time, and third block data at the next time.
In this modification, in the third block data at the start time, a predetermined initial value is used instead of the verification value based on the block data at the previous time. In addition, threat list information, that is, a hash value of a threat countermeasure table is used as a verification value of history information. The history information of the third block data at the start time includes a threat target table. Each line of the threat list information includes threat item information of each item. The threat item information includes information on a threat, a threat ID, a threat level, and recommended measures, respectively. The history information of the third block data at a time later than the start time includes failure list information and threat information up to the present time as element information.
Note that the configuration of the redundancy system 1 according to the present embodiment and the modification may be applied to the redundancy system 2. Here, the control device 24 and the input / output device 28 may each have the same configuration as the arithmetic device 10 according to the present embodiment.

以上に説明したように、本実施形態に係る冗長化システム(例えば、冗長化システム1、2)において、複数の演算装置(例えば、演算装置10、制御装置24、入出力装置28)のそれぞれは、検出部(例えば、検出部12)、データ生成部(例えば、送信データ生成部143)及び通信部(例えば、通信部16)を備える。検出部は、サイバーセキュリティが損われうる事象(例えば、脅威)を検出する。データ生成部は、前時点の第3ブロックデータに基づく検証値と、検出された事象を示す事象情報(例えば、脅威情報)が現時点まで累積された履歴情報である事象履歴情報と、を含む現時点の第3ブロックデータを生成する。通信部は、第3ブロックデータを複数の演算装置間で同報する。   As described above, in the redundant system (for example, redundant systems 1 and 2) according to the present embodiment, each of the plurality of arithmetic devices (for example, the arithmetic device 10, the control device 24, and the input / output device 28) is , A detection unit (for example, detection unit 12), a data generation unit (for example, transmission data generation unit 143), and a communication unit (for example, communication unit 16). The detection unit detects an event (for example, a threat) that can damage cybersecurity. The data generation unit includes a verification value based on the third block data at the previous time point, and event history information that is history information in which event information (for example, threat information) indicating the detected event is accumulated to the present time The third block data is generated. The communication unit broadcasts the third block data among a plurality of arithmetic devices.

この構成によれば、複数の演算装置10間でサイバーセキュリティが損なわれうる事象を示す事象情報を含む第3ブロックデータが分散処理を維持しながら共有される。例えば、脅威としてサイバー攻撃の兆候となりうる事象の発生が、複数の演算装置10間で相互に、それらの発生が通知される。そのため、検出された脅威に対する対策の実行により、さらなる脅威、有害事象もしくは被害の拡大などを防止することができる。そのため、冗長化システムにおけるサイバーセキュリティが確保される。   According to this configuration, the third block data including event information indicating an event in which cyber security can be impaired is shared among the plurality of arithmetic devices 10 while maintaining the distributed processing. For example, the occurrence of an event that can be a sign of a cyber attack as a threat is notified between the plurality of computing devices 10 with each other. Therefore, further threats, adverse events, or the spread of damage can be prevented by executing countermeasures against the detected threats. This ensures cyber security in the redundant system.

<第四実施形態>
次に、本発明の第四実施形態について説明する。上述の実施形態と同一の構成については、同一の符号を付してその説明を援用する。以下の説明では、主に第一実施形態の冗長化システム1(図1)との差異点について述べる。
<Fourth embodiment>
Next, a fourth embodiment of the present invention will be described. About the same structure as the above-mentioned embodiment, the same code | symbol is attached | subjected and the description is used. In the following description, differences from the redundancy system 1 (FIG. 1) of the first embodiment will be mainly described.

本実施形態に係るEMS22は、受け付けた操作に基づいて、パッチとその所在を示すパッチ情報を生成する。パッチとは、プログラムの一部又は全部を更新してバグ修正や機能変更を行うための修正データである。本実施形態では、パッチは、少なくともいずれか1台の演算装置10において実行されるプログラムの修正データである。かかる修正データは、主にサイバーセキュリティ上の脆弱性を解消又は低減するためのセキュリティパッチである。EMS22は、各パッチの所在と適用が許可される演算装置10の情報を示すパッチ情報を1個又は複数個含むホワイトリスト情報をさらに生成する。以下の説明では、このホワイトリスト情報を、パッチリスト情報と呼んで、他の実施形態に係るホワイトリスト情報を区別する。パッチ情報には、例えば、各パッチのパッチ名、バージョン、そのパッチを構成するデータのハッシュ値、適用許可装置情報、保存場所情報及び再起動要否情報を含んで構成される。適用許可装置情報は、そのパッチの適用が許可される演算装置10を示す情報である。保存場所情報は、そのパッチの保存場所を示す情報である。再起動要否情報は、そのパッチの適用後に再起動を必要とするか否かを示す情報である。   The EMS 22 according to the present embodiment generates patch information indicating a patch and its location based on the accepted operation. A patch is correction data for updating a part or all of a program to perform bug correction or function change. In the present embodiment, the patch is correction data of a program executed in at least one of the arithmetic devices 10. Such correction data is mainly a security patch for eliminating or reducing cyber security vulnerabilities. The EMS 22 further generates white list information including one or a plurality of pieces of patch information indicating the location of each patch and information of the arithmetic device 10 that is permitted to apply. In the following description, this white list information is called patch list information, and white list information according to other embodiments is distinguished. The patch information includes, for example, the patch name and version of each patch, a hash value of data constituting the patch, application permission device information, storage location information, and restart necessity information. The application permission device information is information indicating the arithmetic device 10 that is permitted to apply the patch. The storage location information is information indicating the storage location of the patch. The restart necessity information is information indicating whether or not a restart is required after the patch is applied.

EMS22は、生成したパッチリスト情報を含むように開始時点のブロックデータを生成する。以下の説明では、パッチリスト情報を含むブロックデータを、第4ブロックデータと呼んで他の実施形態に係るブロックデータと区別する。開始時点の第4ブロックデータは、ユーザリスト情報を開始時点の履歴情報とし、所定の検証値の初期値、及び開始時点の履歴情報を含んで構成される。第4ブロックデータの具体例については後述する。EMS22は、生成した開始時点の第4ブロックデータを演算装置10にネットワークNWを介して送信する。   The EMS 22 generates block data at the start time so as to include the generated patch list information. In the following description, block data including patch list information is called fourth block data to be distinguished from block data according to other embodiments. The fourth block data at the start time includes user list information as history information at the start time, and includes an initial value of a predetermined verification value and history information at the start time. A specific example of the fourth block data will be described later. The EMS 22 transmits the generated fourth block data at the start time to the arithmetic device 10 via the network NW.

次に、本実施形態に演算装置10(図2)の構成について説明する。本実施形態に係る機能制御部13は、記憶部18に記憶されているパッチリスト情報に含まれる各パッチのパッチ情報を参照して、そのパッチの適用の要否を判定する。機能制御部13は、そのパッチの適用許可装置情報に自装置の情報が含まれ、かつそのパッチが自装置において未適用であるとき、そのパッチを適用すると判定し、機能制御部13は、適用許可装置情報に自装置の情報が含まれない、又はそのパッチが自装置において適用中もしくは適用済であるとき、そのパッチを適用しないと判定する。   Next, the configuration of the arithmetic device 10 (FIG. 2) will be described in this embodiment. The function control unit 13 according to the present embodiment refers to the patch information of each patch included in the patch list information stored in the storage unit 18 and determines whether the patch needs to be applied. The function control unit 13 determines that the patch is to be applied when the information about the own device is included in the application permission device information of the patch and the patch is not applied in the own device, and the function control unit 13 When the permitted device information does not include the information of the own device, or the patch is being applied or has been applied in the own device, it is determined that the patch is not applied.

適用すると判定するとき、機能制御部13は、そのパッチの保存場所情報が示す保存場所となる機器に、そのパッチの要求を示すパッチ要求信号を、通信部16を介して送信する。保存場所となる機器は、EMS22であってもよいし、EMS22以外のネットワークNWに接続された機器であってもよい。機能制御部13は、その機器から通信部16を介してパッチ要求信号に対する応答としてパッチを受信(ダウンロード)する。機能制御部13は、受信したパッチのハッシュ値を算出し、そのパッチのパッチ情報に含まれるハッシュ値と一致するか否かを判定する。一致すると判定するとき、機能制御部13は、そのパッチとそのパッチの再起動要否情報を制御演算部11に出力する。制御演算部11は、機能制御部13から入力されたパッチを、そのプログラムの対応する部分に置き換えることにより適用(インストール)する。制御演算部11は、機能制御部13から入力される再起動要否情報が再起動要を示すとき、そのプログラムの実行を停止し、パッチが適用されたプログラムの実行を開始する。   When it is determined to be applied, the function control unit 13 transmits a patch request signal indicating a request for the patch to the device serving as the storage location indicated by the storage location information of the patch via the communication unit 16. The device serving as the storage location may be the EMS 22 or a device connected to a network NW other than the EMS 22. The function control unit 13 receives (downloads) a patch from the device as a response to the patch request signal via the communication unit 16. The function control unit 13 calculates the hash value of the received patch and determines whether or not it matches the hash value included in the patch information of the patch. When it is determined that they match, the function control unit 13 outputs the patch and the restart necessity information of the patch to the control calculation unit 11. The control calculation unit 11 applies (installs) the patch input from the function control unit 13 by replacing it with a corresponding part of the program. When the restart necessity information input from the function control unit 13 indicates that restart is necessary, the control calculation unit 11 stops the execution of the program and starts executing the program to which the patch is applied.

機能制御部13は、そのパッチが適用中であるとき、そのパッチが自装置において適用中であることを示すパッチ適用情報を生成し、生成したパッチ適用情報を記憶部18に記憶する。機能制御部13は、そのパッチの適用が完了したとき、そのパッチが自装置において適用済であることを示すパッチ適用情報を生成し、生成したパッチ適用情報を記憶部18に記憶する。   When the patch is being applied, the function control unit 13 generates patch application information indicating that the patch is being applied in its own device, and stores the generated patch application information in the storage unit 18. When the application of the patch is completed, the function control unit 13 generates patch application information indicating that the patch has been applied in its own device, and stores the generated patch application information in the storage unit 18.

ブロックデータ保存部141は、EMS22又は自装置とは異なる他の演算装置10から通信部16を介して受信した第4ブロックデータと自装置の送信データ生成部143が生成した第4ブロックデータを一時的に保存する。
受信データ解析部142は、ブロックデータ保存部141に記憶されている第4ブロックデータのうち最新の第4ブロックデータを読み出す。読み出した最新の第4ブロックデータが、開始時点の第4ブロックデータである場合には、受信データ解析部142は、その第4ブロックデータから開始時点の履歴情報に相当するパッチリスト情報を抽出し、抽出したパッチリスト情報を記憶部18に記憶する。パッチリスト情報の記憶は、必ずしも新たな第4ブロックデータの読出しの度に行われなくてもよい。新たなパッチリスト情報が取得されるとき、記憶部18に記憶されるパッチリスト情報が新たなパッチリスト情報に更新されればよい。
The block data storage unit 141 temporarily stores the fourth block data received from the EMS 22 or another arithmetic device 10 different from the own device via the communication unit 16 and the fourth block data generated by the transmission data generating unit 143 of the own device. To save.
The reception data analysis unit 142 reads the latest fourth block data from the fourth block data stored in the block data storage unit 141. When the latest read fourth block data is the fourth block data at the start time, the reception data analysis unit 142 extracts patch list information corresponding to the history information at the start time from the fourth block data. The extracted patch list information is stored in the storage unit 18. The patch list information need not always be stored every time new fourth block data is read. When new patch list information is acquired, the patch list information stored in the storage unit 18 may be updated to new patch list information.

なお、受信データ解析部142は、開始時点よりも後の各時点の第4ブロックデータにから履歴情報の要素情報であるパッチ適用情報を抽出し、抽出したパッチ適用情報からパッチ毎にそのパッチを適用した演算装置10を特定してもよい。受信データ解析部142は、あるパッチのパッチ情報が示す適用許可装置情報が示す演算装置10の全てが、そのパッチを適用したと判定することがある。その場合には、受信データ解析部142は、ブロックデータ保存部141に記憶された最新の第4ブロックデータから、そのパッチに係るパッチ情報と、パッチ適用情報を削除してもよい。これにより、無用なデータの流通が防止されるので、通信量が低減する。   The received data analysis unit 142 extracts patch application information that is element information of history information from the fourth block data at each time point after the start time point, and extracts the patch for each patch from the extracted patch application information. The applied arithmetic device 10 may be specified. The received data analysis unit 142 may determine that all of the arithmetic devices 10 indicated by the application permission device information indicated by the patch information of a certain patch have applied the patch. In that case, the received data analysis unit 142 may delete the patch information and the patch application information related to the patch from the latest fourth block data stored in the block data storage unit 141. This prevents unnecessary data from being circulated, thereby reducing the amount of communication.

送信データ生成部143は、自装置におけるパッチの適用状態を示す最新のパッチ適用情報を記憶部18から読み出す。また、送信データ生成部143は、ブロックデータ保存部141に保存された第4ブロックデータのうち最新の第4ブロックデータを前時点の第4ブロックデータとして読み出し、読み出した第4ブロックデータとパッチ適用情報とに基づいて現時点の第4ブロックデータを生成する。現時点の第4ブロックデータは、前時点の第4ブロックデータに基づく検証値と、その履歴情報に新たなパッチ適用情報を要素情報として追加して構成される現時点の履歴情報とを含むデータである。送信データ生成部143は、検証値として、例えば、前時点の第4ブロックデータに含まれるブロックヘッダ、現時点の履歴情報のそれぞれについて所定の一方向関数を用いてハッシュ値を算出する。送信データ生成部143は、生成した第4ブロックデータを自装置とは異なる他の演算装置10に送信し、自装置のブロックデータ保存部141に保存する。これにより、自装置を含む複数の演算装置10の間で送信データ生成部143が生成した第4ブロックデータが同報され、互いに共有される。また、受信データ解析部142は、生成した第4ブロックデータをEMS22に通信部16を介して送信してもよい。   The transmission data generation unit 143 reads the latest patch application information indicating the patch application state in the own device from the storage unit 18. Also, the transmission data generation unit 143 reads the latest fourth block data from the fourth block data stored in the block data storage unit 141 as the fourth block data at the previous time point, and applies the read fourth block data and the patch application. The current fourth block data is generated based on the information. The fourth block data at the current time is data including a verification value based on the fourth block data at the previous time point, and current history information configured by adding new patch application information as element information to the history information. . For example, the transmission data generation unit 143 calculates a hash value as a verification value by using a predetermined one-way function for each of the block header included in the previous fourth block data and the current history information. The transmission data generation unit 143 transmits the generated fourth block data to another arithmetic device 10 different from the own device, and stores it in the block data storage unit 141 of the own device. As a result, the fourth block data generated by the transmission data generation unit 143 is broadcast among a plurality of arithmetic devices 10 including its own device, and is shared with each other. Further, the reception data analysis unit 142 may transmit the generated fourth block data to the EMS 22 via the communication unit 16.

(パッチリスト情報)
次に、本実施形態に係るパッチリスト情報について説明する。
図15は、本実施形態に係るパッチリスト情報の例を示す図である。
パッチリスト情報は、1個又は複数個のパッチ情報から構成される。各パッチのパッチ情報は、パッチ名、バージョン、そのパッチを構成するデータのハッシュ値、適用許可装置情報、保存場所情報及び再起動要否情報の組み合わせとして構成される。図15の第2行のパッチ情報は、パッチ名「パッチ1」、バージョン「1.00」、ハッシュ値「661957fd99573fbbe391b9b4a950a19b」、適用許可装置情報「ALL」、保存場所情報「ABC/DEF/GHIJK」、再起動「要」を含んで構成される。1種類のパッチは、パッチ名とバーションの組で表される。つまり、パッチ名が同一であっても、バージョンが異なっているパッチ同士は、互いに異なるパッチであるものとして扱われる。適用許可装置のALLとは、EMS22により第4ブロックデータの同報先として指示された演算装置10の全てを示す。図15に示す例では、保存場所情報は、パス名で表されているが、その所在を特定することができれば、他の情報、例えば、URL(Uniform Resource Locator)などを用いて指定されてもよい。
(Patch list information)
Next, patch list information according to the present embodiment will be described.
FIG. 15 is a diagram illustrating an example of patch list information according to the present embodiment.
The patch list information is composed of one or a plurality of pieces of patch information. The patch information of each patch is configured as a combination of a patch name, a version, a hash value of data constituting the patch, application permission device information, storage location information, and restart necessity information. The patch information in the second row in FIG. 15 includes the patch name “Patch 1”, version “1.00”, hash value “661957fd99573fbbe391b9b4a950a19b”, application permission device information “ALL”, storage location information “ABC / DEF / GHIJK”, It is configured to include “required” restart. One type of patch is represented by a set of patch name and version. That is, even if the patch names are the same, patches having different versions are treated as patches different from each other. The application permission device ALL indicates all of the arithmetic devices 10 instructed by the EMS 22 as the fourth block data broadcast destination. In the example shown in FIG. 15, the storage location information is represented by a path name. However, if the location can be specified, other information, for example, a URL (Uniform Resource Locator) may be used. Good.

(パッチ適用情報)
次に、本実施形態に係るパッチ適用情報について説明する。
図16は、本実施形態に係るパッチ適用情報の例を示す図である。
パッチ適用情報は、個々の演算装置10におけるパッチ毎の適用状態を示す情報である。図16に示す例では、パッチ毎にパッチ名、適用日時、及び適用状態を含んで構成される。図16の第2行は、パッチ名「パッチ1」、適用日時「2017/1/1」及び適用状態「適用済」を示す。なお、パッチ適用情報には、そのパッチのバージョンの情報がさらに含まれてもよい。
(Patch application information)
Next, patch application information according to the present embodiment will be described.
FIG. 16 is a diagram showing an example of patch application information according to the present embodiment.
The patch application information is information indicating an application state for each patch in each arithmetic device 10. In the example illustrated in FIG. 16, each patch includes a patch name, an application date and time, and an application state. The second row of FIG. 16 shows the patch name “Patch 1”, the application date and time “2017/1/1”, and the application state “Applied”. Note that the patch application information may further include information on the version of the patch.

(ブロックデータ)
次に、本実施形態に係るブロックデータについて説明する。
図17は、本実施形態に係るブロックデータの例を示す図である。
BD81、BD82、BD83は、開始時点における第4ブロックデータ、開始時点より後の時点における第4ブロックデータ、その次の時点における第4ブロックデータをそれぞれ示す。
第4ブロックデータは、ブロックヘッダとその時点における履歴情報とを含んで構成される。第4ブロックヘッダには、前時点のブロックデータに基づく検証値、装置ID、演算回数、検証用データ及び履歴情報の検証値が含まれる。
(Block data)
Next, block data according to the present embodiment will be described.
FIG. 17 is a diagram illustrating an example of block data according to the present embodiment.
BD81, BD82, and BD83 indicate the fourth block data at the start time point, the fourth block data at a time point after the start time point, and the fourth block data at the next time point, respectively.
The fourth block data includes a block header and history information at that time. The fourth block header includes a verification value based on the block data at the previous time point, a device ID, the number of operations, verification data, and a verification value of history information.

但し、履歴情報の検証値として、開始時点の第4ブロックデータについてはパッチリスト情報のハッシュ値が用いられ、それよりも後の各時点の履歴情報として、パッチリスト情報と現時点までの全パッチ適用情報を累積して構成される履歴情報のハッシュ値が用いられる。   However, as the verification value of the history information, the hash value of the patch list information is used for the fourth block data at the start time, and the patch list information and all the patches applied up to the present time are applied as the history information at each time after that. A hash value of history information configured by accumulating information is used.

開始時点の第4ブロックデータの履歴情報には、パッチリスト情報が含まれる。パッチリスト情報の各行には、各パッチのパッチ情報が含まれる。パッチ情報には、各パッチのパッチ名、バージョン、ハッシュ値、適用許可装置情報、保存場所情報及び再起動要否情報が含まれる。
開始時点よりも後の時点の第4ブロックデータの履歴情報には、要素情報として現時点までのパッチ適用情報が含まれる。個々のパッチ適用情報には、パッチ毎のパッチ名、適用日時、及び適用状態の各情報が含まれる。アクセスユーザ、アクセス機能、及びアクセス成否の情報が含まれる。アクセス機能には、その機能を有する演算装置10の情報が含まれてもよい。
The history information of the fourth block data at the start time includes patch list information. Each line of the patch list information includes patch information of each patch. The patch information includes the patch name, version, hash value, application permission device information, storage location information, and restart necessity information for each patch.
The history information of the fourth block data at a time later than the start time includes patch application information up to the present time as element information. Each piece of patch application information includes information on a patch name, an application date and time, and an application state for each patch. Information on the access user, access function, and access success / failure is included. The access function may include information on the arithmetic device 10 having the function.

なお、上述では、機能制御部13が、適用許可装置情報に基づいてパッチを適用すると判定するとき、パッチの要求及びその適用の制御を行う場合を例にしたが、これには限られない。機能制御部13は、パッチを適用すると判定するとき、パッチの適用をユーザに照会するためのパッチ適用照会情報をEMS22に通信部16を介して送信してもよい。EMS22は、演算装置10からパッチ適用照会情報を受信するとき、その表示部にパッチ適用照会画面を表示させてもよい。パッチ適用照会画面には、パッチ適用の要否の問合せを示すメッセージが含まれる。EMS22は、受け付けた操作がパッチ適用を示すとき、パッチ適用指示情報をパッチ適用照会情報に対する応答として送信する。機能制御部13は、通信部16を介してEMS22からパッチ適用指示情報を受信するとき、前述のパッチの要求及びその適用の制御を行う。これにより、ユーザの意思に応じてパッチが適用される。   In the above description, when the function control unit 13 determines to apply a patch based on the application permission apparatus information, the case where the request for the patch and the control of the application are performed is described as an example, but the present invention is not limited thereto. When the function control unit 13 determines to apply a patch, the function control unit 13 may transmit patch application inquiry information for inquiring the user to apply the patch to the EMS 22 via the communication unit 16. When receiving the patch application inquiry information from the arithmetic device 10, the EMS 22 may display a patch application inquiry screen on the display unit. The patch application inquiry screen includes a message indicating an inquiry as to whether patch application is necessary. When the received operation indicates patch application, the EMS 22 transmits patch application instruction information as a response to the patch application inquiry information. When receiving the patch application instruction information from the EMS 22 via the communication unit 16, the function control unit 13 performs the above-described patch request and control of the application. Thereby, a patch is applied according to a user's intention.

また、EMS22は、そのパッチをユーザの操作に基づいて生成する編集部を備えていてもよい。また、ネットワークNWには、さらに承認受付装置が接続されてもよい。その場合、演算装置10の機能制御部13が、適用許可装置情報に基づいてパッチを適用すると判定するとき、パッチ適用照会情報を承認受付装置に通信部16を介して送信してもよい。承認受付装置は、演算装置10からパッチ適用照会情報を受信するとき、その表示部にパッチ適用照会画面を表示させてもよい。承認受付装置は、そのパッチの生成に係るユーザとは別個のユーザ(Safety Supervisor)から受け付けた操作がパッチ適用を示すとき、パッチ適用指示情報をパッチ適用照会情報に対する応答として送信する。機能制御部13は、通信部16を介して承認受付装置からパッチ適用指示情報を受信するとき、前述のパッチの要求及びその適用の制御を行う。これにより、パッチの適用において、パッチの生成に係るユーザとは異なるユーザによる承認を必要とするため、無秩序なパッチの適用が回避される。承認受付装置として、OPS21が用いられてもよいし、OPS21とは別個の機器が用いられてもよい。   The EMS 22 may include an editing unit that generates the patch based on a user operation. Further, an approval accepting device may be further connected to the network NW. In this case, when the function control unit 13 of the arithmetic device 10 determines to apply a patch based on the application permission device information, the patch application inquiry information may be transmitted to the approval reception device via the communication unit 16. When receiving the patch application inquiry information from the arithmetic device 10, the approval receiving device may display a patch application inquiry screen on the display unit. The approval receiving apparatus transmits patch application instruction information as a response to the patch application inquiry information when an operation received from a user (Safety Supervisor) separate from the user involved in generating the patch indicates patch application. When the function control unit 13 receives patch application instruction information from the approval receiving apparatus via the communication unit 16, the function control unit 13 controls the above-described patch request and application. As a result, the application of the patch requires approval by a user different from the user related to the generation of the patch, so that the random application of the patch is avoided. As the approval receiving device, OPS 21 may be used, or a device separate from OPS 21 may be used.

なお、図17は、パッチリスト情報に、各パッチの保存場所情報を含む場合を例にするが、これには限られない。保存場所情報に代えて、そのパッチ自体が実行形式で含まれてもよい。その場合、機能制御部13は、保存場所情報が示す保存場所からパッチを受信することに代え、記憶部18に記憶されたパッチリスト情報から、そのパッチを抽出すればよい。この場合、パッチを含む第4ブロックデータが演算装置10間で同報される。そのため、パッチを保存する機器の障害を考慮する必要がなくなるので、分散システムとしての信頼性が高くなる。また、受信データ解析部142は、あるパッチのパッチ情報が示す適用許可装置情報が示す演算装置10の全てが、そのパッチを適用したと判定することがある。その場合、受信データ解析部142は、ブロックデータ保存部141に記憶された最新の第4ブロックデータから、そのパッチを削除してもよい。これにより、無用なデータの流通が防止されるので、通信量が低減する。
なお、本実施形態及び変形例に係る冗長化システム1の構成は、冗長化システム2に適用されてもよい。ここで、制御装置24、入出力装置28は、それぞれ本実施形態に係る演算装置10と同様の構成を備えてもよい。
FIG. 17 illustrates an example in which the patch list information includes storage location information of each patch, but is not limited thereto. Instead of the storage location information, the patch itself may be included in an execution format. In that case, the function control unit 13 may extract the patch from the patch list information stored in the storage unit 18 instead of receiving the patch from the storage location indicated by the storage location information. In this case, the fourth block data including the patch is broadcast between the arithmetic devices 10. Therefore, it is not necessary to consider the failure of the device that stores the patch, and the reliability as the distributed system is increased. Further, the received data analysis unit 142 may determine that all of the arithmetic devices 10 indicated by the application permission device information indicated by the patch information of a certain patch have applied the patch. In that case, the received data analysis unit 142 may delete the patch from the latest fourth block data stored in the block data storage unit 141. This prevents unnecessary data from being circulated, thereby reducing the amount of communication.
Note that the configuration of the redundancy system 1 according to the present embodiment and the modification may be applied to the redundancy system 2. Here, the control device 24 and the input / output device 28 may each have the same configuration as the arithmetic device 10 according to the present embodiment.

以上に説明したように、本実施形態に係る冗長化システム(例えば、冗長化システム1、2)において、管理装置(例えば、EMS22)は、プログラムのパッチを示すパッチリスト情報を含む開始時点の第4ブロックデータを複数の演算装置(例えば、演算装置10、制御装置24、入出力装置28)に提供する。また、複数の演算装置は、それぞれ制御部(例えば、機能制御部13)、データ生成部(例えば、送信データ生成部143)及び通信部(例えば、通信部16)を備える。制御部は、パッチリスト情報が示すパッチの適用の要否を判定する。データ生成部は、前時点の第4ブロックデータに基づく検証値と、パッチの適用状態を示すパッチ適用情報が現時点まで累積された履歴情報であるパッチ適用履歴情報と、を含む現時点の第4ブロックデータを生成する。通信部は、第4ブロックデータを前記複数の演算装置間で同報する。   As described above, in the redundant system (for example, the redundant systems 1 and 2) according to the present embodiment, the management device (for example, EMS 22) has the first point in time including the patch list information indicating the patch of the program. The 4-block data is provided to a plurality of arithmetic devices (for example, the arithmetic device 10, the control device 24, and the input / output device 28). Each of the plurality of arithmetic devices includes a control unit (for example, function control unit 13), a data generation unit (for example, transmission data generation unit 143), and a communication unit (for example, communication unit 16). The control unit determines whether it is necessary to apply the patch indicated by the patch list information. The data generation unit includes a verification value based on the fourth block data at the previous time point and patch application history information that is history information in which the patch application information indicating the patch application state is accumulated up to the present time. Generate data. The communication unit broadcasts the fourth block data among the plurality of arithmetic devices.

この構成によれば、その時点で最新のパッチリスト情報を有する第4ブロックデータが演算装置10間で分散処理を維持しながら共有される。そのため、各演算装置10において、自装置において適用が許可されたパッチが適用可能となる。例えば、パッチリストが示すパッチがセキュリティパッチである場合には、セキュリティパッチの適用によりサイバーセキュリティが確保される。
また、本実施形態によればEMS22は、個々の演算装置を指定して第4ブロックデータを送信する必要がなくなるので、個々の演算装置10を指定して第4ブロックデータを送信する場合よりも、送信先の演算装置の数の増加に伴う情報量の増加を抑制することができる。
また、各演算装置で適用されるパッチの適用状態を示すパッチ適用情報を含む第4ブロックデータが同報されるので、パッチが未適用である演算装置の発見が容易となる。例えば、パッチが未適用であることによる脆弱性を報知したままの演算装置10に対する対策(通信の遮断など)を実行することでサイバーセキュリティが向上する。
また、第4ブロックデータによりパッチリスト情報とパッチ適用情報とが演算装置10間で一元的に共有されるので、製造者、機種、機能など互いに種別が異なる制御装置が混在する冗長化システムであっても、パッチの適用を可能とし、その管理を可能とする環境が構築される。
According to this configuration, the fourth block data having the latest patch list information at that time is shared among the arithmetic devices 10 while maintaining the distributed processing. Therefore, each arithmetic device 10 can apply a patch that is permitted to be applied in its own device. For example, when the patch indicated by the patch list is a security patch, cyber security is ensured by applying the security patch.
Further, according to the present embodiment, the EMS 22 does not need to specify the individual arithmetic devices and transmit the fourth block data, so that it is more than when the individual arithmetic devices 10 are specified and the fourth block data is transmitted. Thus, it is possible to suppress an increase in the amount of information that accompanies an increase in the number of transmission destination computing devices.
In addition, since the fourth block data including patch application information indicating the application state of the patch applied by each arithmetic device is broadcast, it is easy to find an arithmetic device to which the patch has not been applied. For example, cyber security is improved by executing a countermeasure (blocking communication or the like) for the arithmetic device 10 that has been informed of the vulnerability due to the patch not being applied.
In addition, since the patch list information and the patch application information are centrally shared between the arithmetic devices 10 by the fourth block data, this is a redundant system in which different types of control devices such as manufacturers, models, and functions are mixed. However, it is possible to apply a patch, and an environment that enables management thereof is constructed.

以上、本発明の実施形態及び変形例について、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。   As described above, in the embodiments and modifications of the present invention, the constituent elements in the above-described embodiments can be appropriately replaced with known constituent elements without departing from the spirit of the present invention. The technical scope of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.

例えば、第二実施形態に係る演算装置10や第四実施形態に係る演算装置10は、それぞれ第三実施形態の検出部12を備え、機能制御部13、ブロックデータ処理部14は、それぞれ第三実施形態の機能制御部13、ブロックデータ処理部14と同様の処理を行ってもよい。
第三実施形態に係る演算装置において、機能制御部13、ブロックデータ処理部14は、それぞれ第四実施形態の機能制御部13、ブロックデータ処理部14と同様の処理を行ってもよい。
また、ブロックデータ処理部14は、自部で扱われる最新のブロックデータに含まれる履歴情報の情報量が、所定の情報量を超えたか否かを判定してもよい。所定の情報量を超えたと判定するとき、ブロックデータ処理部14は、その履歴情報を記憶部18に記憶し、新たに開始時点におけるブロックデータを生成してもよい。
また、各演算装置10の送信データ生成部143は、生成した各種のブロックデータをOPS21、EMS22の一方又は両方に通信部16を介して送信してもよい。
その他、上述した演算装置10と同様の構成を、ネットワークを介して接続される複数の電子機器のそれぞれが備えてもよい。かかる電子機器には、例えば、Webカメラ、センサユニットなどのIoT(Internet of Things;モノのインターネット)機器が該当する。
For example, the arithmetic device 10 according to the second embodiment and the arithmetic device 10 according to the fourth embodiment are each provided with the detection unit 12 of the third embodiment, and the function control unit 13 and the block data processing unit 14 are respectively third. You may perform the process similar to the function control part 13 and the block data processing part 14 of embodiment.
In the arithmetic device according to the third embodiment, the function control unit 13 and the block data processing unit 14 may perform the same processes as the function control unit 13 and the block data processing unit 14 of the fourth embodiment, respectively.
Further, the block data processing unit 14 may determine whether or not the amount of history information included in the latest block data handled by itself exceeds a predetermined amount of information. When determining that the predetermined amount of information has been exceeded, the block data processing unit 14 may store the history information in the storage unit 18 and newly generate block data at the start time.
The transmission data generation unit 143 of each arithmetic device 10 may transmit the generated various block data to one or both of the OPS 21 and the EMS 22 via the communication unit 16.
In addition, each of a plurality of electronic devices connected via a network may have the same configuration as the arithmetic device 10 described above. Examples of such electronic devices include IoT (Internet of Things) devices such as Web cameras and sensor units.

第二実施形態〜第四実施形態に係る演算装置10の各々は、第一実施形態をはじめとする他の実施形態の機能に依存せず、その実施形態に固有のブロックデータ(第2ブロックデータ〜第4ブロックデータ)を処理する機能のみを備えていてもよい。
なお、「実行が許可されたプログラムに基づく処理の実行」、「所定の機能へのアクセス」、「サイバーセキュリティが損なわれうる事象」、「パッチの適用」は演算装置10で許可又は許可しない事項の一例である。
また、冗長化システム1および冗長化システム2は情報処理システムの一例である。
Each of the arithmetic devices 10 according to the second embodiment to the fourth embodiment does not depend on the functions of the other embodiments including the first embodiment, and the block data (second block data) unique to the embodiment. (4th block data) may be provided only.
Note that “execution of processing based on a program that is permitted to execute”, “access to a predetermined function”, “an event that can damage cyber security”, and “application of a patch” are items that are not permitted or permitted by the computing device 10 It is an example.
Further, the redundancy system 1 and the redundancy system 2 are examples of an information processing system.

なお上述の演算装置10、制御装置24、入出力装置28は、内部にコンピュータシステムを有してもよい。そして、上述した演算装置10等における各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。   The arithmetic device 10, the control device 24, and the input / output device 28 described above may have a computer system therein. Each process in the arithmetic device 10 and the like described above is stored in a computer-readable recording medium in the form of a program, and the above-described processing is performed by the computer reading and executing this program. Here, the computer-readable recording medium means a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like. Alternatively, the computer program may be distributed to the computer via a communication line, and the computer that has received the distribution may execute the program.

また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。   The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, what is called a difference file (difference program) may be sufficient.

1、2…冗長化システム、10…演算装置、11…制御演算部、12…検出部、13…機能制御部、14…ブロックデータ処理部、16…通信部、18…記憶部、
21…OPS、22…EMS、23…NA、24…制御装置、25…IOスキャナ、26…IOネットワーク、27…IOアダプタ、28…入出力装置、141…ブロックデータ保存部、142…受信データ解析部、143…送信データ生成部
DESCRIPTION OF SYMBOLS 1, 2 ... Redundancy system, 10 ... Arithmetic unit, 11 ... Control operation part, 12 ... Detection part, 13 ... Function control part, 14 ... Block data processing part, 16 ... Communication part, 18 ... Memory | storage part,
21 ... OPS, 22 ... EMS, 23 ... NA, 24 ... control device, 25 ... IO scanner, 26 ... IO network, 27 ... IO adapter, 28 ... input / output device, 141 ... block data storage unit, 142 ... received data analysis Part, 143 ... transmission data generation part

Claims (6)

複数の演算装置を備える情報処理システムであって、
前記複数の演算装置のそれぞれは、
前記演算装置で許可又は許可しない事項を示すリスト情報に基づいて、前記事項についての処理の実行の許否を判定する制御部と、
前時点のブロックデータに基づく検証値と、前記事項の発生に関する現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成するデータ生成部と、
前記ブロックデータを前記複数の演算装置間で同報する通信部と、
を備える情報処理システム。
An information processing system including a plurality of arithmetic devices,
Each of the plurality of arithmetic units is
Based on list information indicating items that are permitted or not permitted in the arithmetic device, a control unit that determines whether or not to execute processing for the items;
A data generation unit for generating current block data including a verification value based on block data at the previous time point and history information accumulated up to the present time regarding the occurrence of the matter;
A communication unit for broadcasting the block data among the plurality of arithmetic devices;
An information processing system comprising:
実行が許可されたプログラムを示すプログラムリスト情報を含む開始時点の第1ブロックデータを前記複数の演算装置に提供する管理装置を備え、
前記制御部は、
前記プログラムリスト情報が示すプログラムに基づく処理の実行の許否を判定し、
前記データ生成部は、
前時点の第1ブロックデータに基づく検証値と、前記処理の起動状態を示す起動プログラム情報が現時点まで累積された履歴情報と、を含む現時点の第1ブロックデータを生成し、
前記通信部は、
前記第1ブロックデータを前記複数の演算装置間で同報する
請求項1に記載の情報処理システム。
A management device that provides the plurality of arithmetic devices with first block data at a start time including program list information indicating a program permitted to be executed;
The controller is
Determining whether to execute the process based on the program indicated by the program list information;
The data generator is
Generating the first block data at the present time including the verification value based on the first block data at the previous time point and the history information in which the activation program information indicating the activation state of the process is accumulated up to the present time;
The communication unit is
The information processing system according to claim 1, wherein the first block data is broadcast among the plurality of arithmetic devices.
所定の機能へのアクセスが許可されたユーザを示すユーザリスト情報を含む開始時点の第2ブロックデータを前記複数の演算装置に提供する管理装置を備え、
前記制御部は、
前記ユーザリスト情報に基づいてユーザからの前記機能へのアクセスの許否を判定し、
前記データ生成部は、
前時点の第2ブロックデータに基づく検証値と、前記機能へのアクセス結果を示すアクセス状態情報が現時点まで累積された履歴情報であるアクセス履歴情報と、を含む現時点の第2ブロックデータを生成し、
前記通信部は、
前記第2ブロックデータを前記複数の演算装置間で同報する
請求項1又は請求項2に記載の情報処理システム。
A management device that provides the plurality of arithmetic devices with second block data at the start point including user list information indicating users who are permitted to access a predetermined function;
The controller is
Determining whether to allow access to the function from the user based on the user list information;
The data generator is
Generating second block data at the present time including a verification value based on the second block data at the previous time point and access history information which is history information in which access status information indicating an access result to the function is accumulated up to the present time ,
The communication unit is
The information processing system according to claim 1, wherein the second block data is broadcast among the plurality of arithmetic devices.
前記複数の演算装置のそれぞれは、
サイバーセキュリティが損なわれうる事象を検出する検出部を備え、
前記データ生成部は、
前時点の第3ブロックデータに基づく検証値と、検出された前記事象を示す事象情報が現時点まで累積された履歴情報である事象履歴情報と、を含む現時点の第3ブロックデータを生成し、
前記通信部は、
前記第3ブロックデータを前記複数の演算装置間で同報する
請求項1から請求項3のいずれか一項に記載の情報処理システム。
Each of the plurality of arithmetic units is
It has a detection unit that detects events that can compromise cyber security,
The data generator is
Generating current third block data including a verification value based on the third block data of the previous time point, and event history information that is history information in which the event information indicating the detected event is accumulated up to the present time;
The communication unit is
The information processing system according to any one of claims 1 to 3, wherein the third block data is broadcast among the plurality of arithmetic devices.
プログラムのパッチを示すパッチリスト情報を含む開始時点の第4ブロックデータを前記複数の演算装置に提供する管理装置を備え、
前記制御部は、
前記パッチリスト情報が示すパッチの適用の要否を判定し、
前記データ生成部は、
前時点の第4ブロックデータに基づく検証値と、前記パッチの適用状態を示すパッチ適用情報が現時点まで累積された履歴情報であるパッチ適用履歴情報と、を含む現時点の第4ブロックデータを生成し、
前記通信部は、
前記第4ブロックデータを前記複数の演算装置間で同報する
請求項1から請求項4のいずれか一項に記載の情報処理システム。
A management device that provides the plurality of arithmetic devices with fourth block data at the start point including patch list information indicating a patch of the program;
The controller is
Determining whether or not to apply a patch indicated by the patch list information;
The data generator is
Generating current fourth block data including a verification value based on the fourth block data at the previous time point and patch application history information which is history information in which the patch application information indicating the patch application state is accumulated up to the present time ,
The communication unit is
The information processing system according to any one of claims 1 to 4, wherein the fourth block data is broadcast among the plurality of arithmetic devices.
複数の演算装置を備える情報処理システムにおける情報処理方法であって、
前記複数の演算装置のそれぞれが、
前記演算装置で許可又は許可しない事項を示すリスト情報に基づいて、前記事項についての処理の実行の許否を判定する制御過程と、
前時点のブロックデータに基づく検証値と、前記事項の発生に関する現時点まで累積された履歴情報と、を含む現時点のブロックデータを生成するデータ生成過程と、
前記ブロックデータを前記複数の演算装置間で同報する通信過程と、
を有する情報処理方法。
An information processing method in an information processing system including a plurality of arithmetic devices,
Each of the plurality of arithmetic units is
Based on list information indicating items that are permitted or not permitted in the arithmetic device, a control process for determining whether or not to execute processing for the items;
A data generation process for generating current block data including a verification value based on block data of the previous time point and history information accumulated up to the present time regarding the occurrence of the matter;
A communication process for broadcasting the block data between the plurality of computing devices;
An information processing method comprising:
JP2017034784A 2017-02-27 2017-02-27 Information processing system and information processing method Active JP6814659B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017034784A JP6814659B2 (en) 2017-02-27 2017-02-27 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017034784A JP6814659B2 (en) 2017-02-27 2017-02-27 Information processing system and information processing method

Publications (2)

Publication Number Publication Date
JP2018142078A true JP2018142078A (en) 2018-09-13
JP6814659B2 JP6814659B2 (en) 2021-01-20

Family

ID=63527991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017034784A Active JP6814659B2 (en) 2017-02-27 2017-02-27 Information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP6814659B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020026745A1 (en) 2018-07-30 2020-02-06 三菱マテリアル株式会社 LOW α-RAY EMISSION STANNOUS OXIDE AND METHOD FOR PRODUCING SAME
JP2021033452A (en) * 2019-08-20 2021-03-01 株式会社リコー Information processing apparatus, information processing method, and program
US11271757B2 (en) 2017-12-28 2022-03-08 Mitsubishi Heavy Industries, Ltd. Monitoring device, monitoring system, information processing device, monitoring method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124214A (en) * 1992-10-09 1994-05-06 Nec Corp Continuation control system for fault hot job
JPH08202665A (en) * 1995-01-30 1996-08-09 Hitachi Ltd Inter-computer coupling device of loosely coupled computer
JP2009122728A (en) * 2007-11-12 2009-06-04 Ricoh Co Ltd Information processor, information processing method, information processing program and recording medium
JP2010244226A (en) * 2009-04-03 2010-10-28 Nec Corp Authentication device, server system, server authentication method between a plurality of cells, and authentication program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06124214A (en) * 1992-10-09 1994-05-06 Nec Corp Continuation control system for fault hot job
JPH08202665A (en) * 1995-01-30 1996-08-09 Hitachi Ltd Inter-computer coupling device of loosely coupled computer
JP2009122728A (en) * 2007-11-12 2009-06-04 Ricoh Co Ltd Information processor, information processing method, information processing program and recording medium
JP2010244226A (en) * 2009-04-03 2010-10-28 Nec Corp Authentication device, server system, server authentication method between a plurality of cells, and authentication program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11271757B2 (en) 2017-12-28 2022-03-08 Mitsubishi Heavy Industries, Ltd. Monitoring device, monitoring system, information processing device, monitoring method, and program
WO2020026745A1 (en) 2018-07-30 2020-02-06 三菱マテリアル株式会社 LOW α-RAY EMISSION STANNOUS OXIDE AND METHOD FOR PRODUCING SAME
JP2021033452A (en) * 2019-08-20 2021-03-01 株式会社リコー Information processing apparatus, information processing method, and program
JP7293975B2 (en) 2019-08-20 2023-06-20 株式会社リコー Information processing device, information processing method, and program

Also Published As

Publication number Publication date
JP6814659B2 (en) 2021-01-20

Similar Documents

Publication Publication Date Title
US11856106B2 (en) Secure configuration of a device
US10367834B2 (en) Systems and methods for implementing intrusion prevention
US10963543B2 (en) Secure communication between operating system and processes
CN102947795B (en) The system and method that secure cloud calculates
US8161285B2 (en) Protocol-Independent remote attestation and sealing
RU2568295C2 (en) System and method for temporary protection of operating system of hardware and software from vulnerable applications
EP2652663B1 (en) Software signing certificate reputation model
US8935530B2 (en) Control device and computer readable medium
US8667294B2 (en) Apparatus and method for preventing falsification of client screen
RU2709287C1 (en) Device for safe and trusted image forming and method of monitoring thereof, as well as a system and an image forming method
JP2014021923A (en) Information processor and control method
JP6814659B2 (en) Information processing system and information processing method
CN111433774B (en) Method and device for confirming integrity of system
US9965625B2 (en) Control system and authentication device
US12039050B2 (en) Information processing device
KR101320680B1 (en) Method and apparatus for integrity check of software
JPWO2017150003A1 (en) Detection System, Web Application Device, Web Application Firewall Device, Detection Method in Detection System, Web Application Device Detection Method, and Web Application Firewall Device Detection Method
JP2006127422A (en) Terminal controller and terminal control method
US12039064B2 (en) Information processing device, information processing method, information processing program, and information processing system
US20220107834A1 (en) Task engine
CN106415565B (en) Protect software project
JP6041727B2 (en) Management apparatus, management method, and management program
CN113157543A (en) Credibility measuring method and device, server and computer readable storage medium
KR101071962B1 (en) Automatic Managing System and Method for Integrity Reference Manifest
EP4174697B1 (en) System, device and method for enabling identification when a security sensitive function has been previously enabled

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20181109

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201030

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201221

R150 Certificate of patent or registration of utility model

Ref document number: 6814659

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150