WO2015128933A1 - Data processing apparatus and secure communication method - Google Patents

Data processing apparatus and secure communication method Download PDF

Info

Publication number
WO2015128933A1
WO2015128933A1 PCT/JP2014/054495 JP2014054495W WO2015128933A1 WO 2015128933 A1 WO2015128933 A1 WO 2015128933A1 JP 2014054495 W JP2014054495 W JP 2014054495W WO 2015128933 A1 WO2015128933 A1 WO 2015128933A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
unit
storage device
arithmetic
communication
Prior art date
Application number
PCT/JP2014/054495
Other languages
French (fr)
Japanese (ja)
Inventor
松本 典剛
山田 勉
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/054495 priority Critical patent/WO2015128933A1/en
Publication of WO2015128933A1 publication Critical patent/WO2015128933A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Abstract

 A data processing apparatus provided with a storage device and a plurality of computational devices for processing data using the storage device, wherein the flow of data between the computational devices and the storage device is monitored. The attributes of the storage device, including whether or not the storage device can be shared among the plurality of computational devices, are set according to a communication rule applicable when a preset computational device has access to the storage device, and also according to the status of the data flow involved; data areas to be used in the storage device are selected; and communication channels and communication directions between the computational devices and the storage device are set. The communication channels and communication directions between the computational devices and the storage device are switched according to the content of the settings.

Description

データ処理装置及びセキュア通信方法Data processing apparatus and secure communication method
 本発明は、複数の演算装置が記憶装置を利用してデータ処理を行うデータ処理装置、及び、複数の演算装置の間での記憶装置を介したセキュア通信方法に関する。 The present invention relates to a data processing device in which a plurality of arithmetic devices perform data processing using a storage device, and a secure communication method via a storage device between the plurality of arithmetic devices.
 近年、プロセッサを高性能化するために、動作周波数を高めるのではなく、消費電力を抑えるために複数のコアを搭載することで処理能力を向上させる方法が主流となりつつある。また、一つのプロセッサ上で複数のOS(オペレーティングシステム)を搭載し、それぞれのOSを独立に動作させる技術も確立されている。このように、プロセッサやOSの実装技術の高度化により、単一もしくは複数のプロセッサ上に、様々なアプリケーションを同時に搭載して並列的に実行させることが可能となっている。例えば、制御システムで利用される組込み機器では、リアルタイム処理用の軽量OSとネットワーク処理用のOSとを同時にプロセッサに搭載して並列的に実行することで、リアルタイム制御に影響を与えることなく、豊富なネットワーク機能を利用できる環境を実現している。 In recent years, in order to improve the performance of a processor, a method of improving processing performance by mounting a plurality of cores to suppress power consumption, rather than increasing the operating frequency, is becoming mainstream. In addition, a technique has been established in which a plurality of OSs (operating systems) are mounted on one processor and each OS is operated independently. As described above, with the advancement of processor and OS mounting techniques, various applications can be simultaneously mounted and executed in parallel on a single or a plurality of processors. For example, in embedded devices used in control systems, a light-weight OS for real-time processing and an OS for network processing are installed in the processor at the same time and executed in parallel. Realizes an environment where various network functions can be used.
 このように複数のOSをプロセッサに搭載する際には、共有メモリを利用してOS間の通信を行うのが一般的である。その場合、一部のOSの動作が他のOSの処理に影響を与えないようにする必要がある。例えば、ネットワークに接続しているOSやアプリケーションがサイバー攻撃やウィルス感染などにより正常に動作できなくなった場合に、他のOSやアプリケーションへ被害が拡大することを防止しなければならない。 In this way, when a plurality of OSs are installed in a processor, communication between the OSs is generally performed using a shared memory. In that case, it is necessary to prevent the operation of some OSs from affecting the processing of other OSs. For example, when an OS or application connected to a network becomes unable to operate normally due to a cyber attack or virus infection, it is necessary to prevent damage from spreading to other OSs and applications.
 プロセッサ間やOS間でデータを安全に共有するために、既に様々な対策手段が講じられている。例えば、共有メモリと複数のプロセッサとルータ群とアドレス保護装置とを備え、アドレス保護装置が、共有メモリに接続されている第1ルータを通過するメモリアクセスパケットを検査して違反メモリアクセスを検出する情報処理装置が開示されている(例えば特許文献1参照)。 Various measures have already been taken to safely share data between processors and OSs. For example, a shared memory, a plurality of processors, a router group, and an address protection device are provided, and the address protection device inspects a memory access packet passing through a first router connected to the shared memory and detects a violation memory access. An information processing apparatus is disclosed (see, for example, Patent Document 1).
特開2013-196167号公報JP 2013-196167 A
 しかし、前述の公知技術では、共有メモリ内で利用する領域や、共有メモリの属性(複数のプロセッサでのデータ共有の可否等)が固定されているため、一度共有メモリのアクセス権を奪われてしまうと、再び復旧することは難しいという問題がある。また、前述の公知技術では、アクセス制御のためのルール自体を不正に書き換えられた場合の対策等については開示されていない。 However, in the above-described known technology, the area used in the shared memory and the attributes of the shared memory (whether or not data can be shared by a plurality of processors, etc.) are fixed. In that case, there is a problem that it is difficult to recover again. Further, the above-described known technique does not disclose a countermeasure when the rule for access control itself is illegally rewritten.
 本発明は、上述の点に鑑み、複数の演算装置の間での記憶装置を介したデータの通信をよりセキュアに行うことを目的とする。 The present invention has been made in view of the above points, and aims to more securely perform data communication between a plurality of arithmetic devices via a storage device.
 上記課題を解決し、本発明の目的を達成するため、本発明の一態様に係るデータ処理装置は、複数の演算装置が記憶装置を利用してデータ処理を行うデータ処理装置において、通信路切換え部と、データフロー制御部と、属性制御部と、領域選択部と、通信路制御部を備える。
 通信路切換え部は、演算装置と記憶装置との間の通信路及び通信方向を切換える。
 データフロー制御部は、演算装置と記憶装置との間のデータフローを監視する。
 属性制御部は、データフロー制御部の指示に従い、複数の演算装置の間での記憶装置の共有の可否を含む記憶装置の属性を設定する。
 領域選択部は、データフロー制御部の指示に従い、記憶装置内で利用するデータ領域を選択する。
 通信路制御部は、演算装置と記憶装置との間の通信路及び通信方向を設定する。
 そして、データフロー制御部は、予め設定された演算装置が記憶装置にアクセスする際の通信規則とデータフローの状態に応じて、属性制御部と領域選択部と通信路制御部とに指示し、通信路切換え部を介して記憶装置の属性を設定し、記憶装置内で利用するデータ領域を選択し、演算装置と記憶装置との間の通信路及び通信方向を設定する。
In order to solve the above problems and achieve the object of the present invention, a data processing device according to one aspect of the present invention is a data processing device in which a plurality of arithmetic devices perform data processing using a storage device. A data flow control unit, an attribute control unit, a region selection unit, and a communication path control unit.
The communication path switching unit switches a communication path and a communication direction between the arithmetic device and the storage device.
The data flow control unit monitors the data flow between the arithmetic device and the storage device.
The attribute control unit sets attributes of the storage device including whether or not the storage device can be shared among a plurality of arithmetic devices in accordance with an instruction from the data flow control unit.
The area selection unit selects a data area to be used in the storage device in accordance with an instruction from the data flow control unit.
The communication path control unit sets a communication path and a communication direction between the arithmetic device and the storage device.
Then, the data flow control unit instructs the attribute control unit, the region selection unit, and the communication path control unit according to a communication rule and a data flow state when a preset arithmetic device accesses the storage device, The attribute of the storage device is set via the communication path switching unit, the data area used in the storage device is selected, and the communication path and communication direction between the arithmetic device and the storage device are set.
 また、本発明の一態様に係るセキュア通信方法では、記憶装置と該記憶装置を利用してデータ処理を行う複数の演算装置とを備えるデータ処理装置が、演算装置と記憶装置との間のデータフローを監視する。次に、データ処理装置は、予め設定された演算装置が記憶装置にアクセスする際の通信規則とデータフローの状態に応じて、複数の演算装置の間での記憶装置の共有の可否を含む記憶装置の属性を設定し、記憶装置内で利用するデータ領域を選択し、演算装置と記憶装置との間の通信路及び通信方向を設定する。そして、データ処理装置は、これらの設定の内容に応じて演算装置と記憶装置との間の通信路及び通信方向を切換える。 In the secure communication method according to one embodiment of the present invention, a data processing device including a storage device and a plurality of arithmetic devices that perform data processing using the storage device includes data between the arithmetic device and the storage device. Monitor the flow. Next, the data processing device stores whether or not the storage device can be shared among the plurality of processing devices in accordance with a communication rule and a data flow state when a preset processing device accesses the storage device. The device attributes are set, the data area to be used in the storage device is selected, and the communication path and communication direction between the arithmetic device and the storage device are set. Then, the data processing device switches the communication path and the communication direction between the arithmetic device and the storage device according to the contents of these settings.
 本発明では、予め設定した通信規則とデータフローの状態に応じて、記憶装置の属性(複数の演算装置の間での記憶装置の共有の可否等)の設定や、記憶装置内で利用するデータ領域の選択や、演算装置と記憶装置との間の通信路や通信方向の切換えが行われる。これにより、複数のプロセッサでデータを共有する時のアクセス方向を制御し、共有する記憶装置を介した片方向通信を保証することができるので、一部の演算装置が処理するデータに問題があっても、他の演算装置へ問題が伝搬することを防ぐことができる。
 また、共有する記憶装置の領域を、必要最低限に設定し、又は、データアクセスが発生する度に設定することにより、共有する記憶装置が汚染されるリスクを低減することができる。
In the present invention, the setting of attributes of the storage device (whether or not the storage device can be shared among a plurality of arithmetic devices) and the data used in the storage device according to the communication rule and the data flow state set in advance. The area is selected, and the communication path and communication direction between the arithmetic device and the storage device are switched. As a result, it is possible to control the access direction when data is shared by a plurality of processors and to guarantee one-way communication via the shared storage device, so there is a problem with data processed by some arithmetic devices. However, it is possible to prevent the problem from propagating to other arithmetic devices.
In addition, by setting the area of the shared storage device to the minimum necessary or every time data access occurs, the risk of contamination of the shared storage device can be reduced.
本発明の第1の実施の形態に係るデータ処理装置の構成例を示す図である。It is a figure which shows the structural example of the data processor which concerns on the 1st Embodiment of this invention. 図2は、第1の実施の形態における通信路、通信方向、記憶部の属性の設定例を示す図であり、図2Aは第1の設定例、図2Bは第2の設定例、図2Cは第3の設定例である。FIG. 2 is a diagram illustrating an example of setting the communication path, the communication direction, and the attribute of the storage unit in the first embodiment. FIG. 2A is a first setting example, FIG. 2B is a second setting example, and FIG. Is a third setting example. 第1の実施の形態におけるアクセス制御部の処理フローの例を示す図である。It is a figure which shows the example of the processing flow of the access control part in 1st Embodiment. 図4は、第1の実施の形態におけるホワイトリスト及びブラックリストの例を示す図であり、図4Aはホワイトリストの例、図4Bはブラックリストの例である。FIG. 4 is a diagram illustrating an example of a white list and a black list according to the first embodiment. FIG. 4A is an example of a white list, and FIG. 4B is an example of a black list. 第1の実施の形態における記憶部設定情報の例を示す図である。It is a figure which shows the example of the memory | storage part setting information in 1st Embodiment. 第1の実施の形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 1st Embodiment. 第1の実施の形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 1st Embodiment. 第1の実施の形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 1st Embodiment. 第1の実施の形態における記憶部の属性の管理テーブルの例を示す図である。It is a figure which shows the example of the management table of the attribute of the memory | storage part in 1st Embodiment. 本発明の第2の実施の形態に係るデータ処理装置の構成例を示す図である。It is a figure which shows the structural example of the data processor which concerns on the 2nd Embodiment of this invention. 第2の実施の形態におけるアクセス制御部の処理フローの例を示す図である。It is a figure which shows the example of the processing flow of the access control part in 2nd Embodiment. 図12は、第2の実施の形態における通信路、通信方向、記憶部の属性の設定例を示す図であり、図12Aは第1の設定例、図12Bは第2の設定例である。FIG. 12 is a diagram illustrating a setting example of the communication path, the communication direction, and the attribute of the storage unit in the second embodiment. FIG. 12A is a first setting example, and FIG. 12B is a second setting example. 第2の実施の形態における負荷分散部の処理フローの例を示す図である。It is a figure which shows the example of the processing flow of the load distribution part in 2nd Embodiment. 図14は、第2の実施の形態における負荷分散部の処理フローによる処理の例を示す図であり、図14Aはセキュリティレベル変更前の設定例、図14Bはセキュリティレベル変更後の設定例である。FIG. 14 is a diagram illustrating an example of processing according to the processing flow of the load distribution unit according to the second embodiment. FIG. 14A is a setting example before the security level is changed, and FIG. 14B is a setting example after the security level is changed. . 本発明の第3の実施の形態に係るデータ処理装置の構成例を示す図である。It is a figure which shows the structural example of the data processor which concerns on the 3rd Embodiment of this invention. 第3の実施の形態における通信路、通信方向、記憶部及び仮想記憶部の属性の設定例を示す図である。It is a figure which shows the example of a setting of the attribute of a communication channel in 3rd Embodiment, a communication direction, a memory | storage part, and a virtual memory | storage part. 第3の実施の形態におけるアクセス制御部の処理フローの例を示す図である。It is a figure which shows the example of the processing flow of the access control part in 3rd Embodiment. 第3の実施の形態におけるデータフローの例を示す図である。It is a figure which shows the example of the data flow in 3rd Embodiment.
 以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
(データ処理装置の構成)
 図1は、本発明の第1の実施の形態に係るデータ処理装置の構成例を示す。
 データ処理装置1は、演算部2A及び2B(演算装置の一例)と、記憶部3A、3B及び3C(記憶装置の一例)と、アクセス制御部4と、通信路切換え部5とから構成される。なお、演算部2A、2Bを総称する際には演算部2と称し、記憶部3A、3B、3Cを総称する際には記憶部3と称することにする。データ処理装置1には、外部の入力部50から指示が入力される。入力部50は、例えば、ユーザの操作を受け付ける操作部、又はネットワークから指示を受信する通信部である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First embodiment]
(Configuration of data processing device)
FIG. 1 shows an example of the configuration of a data processing apparatus according to the first embodiment of the present invention.
The data processing device 1 includes operation units 2A and 2B (an example of an operation device), storage units 3A, 3B, and 3C (an example of a storage device), an access control unit 4, and a communication path switching unit 5. . Note that the computing units 2A and 2B are collectively referred to as the computing unit 2, and the storage units 3A, 3B, and 3C are collectively referred to as the storage unit 3. An instruction is input to the data processing apparatus 1 from the external input unit 50. The input unit 50 is, for example, an operation unit that receives a user operation or a communication unit that receives an instruction from a network.
 演算部2は、記憶部3に対してデータの読み書きを実行し、記憶部3に格納された命令に従って演算処理を行う機能を有する。演算部2は、例えば、プロセッサや、プロセッサのコアや、LSI(Large Scale Integration)等の集積回路である。また、演算部2は、記憶部3のデータや演算処理のための中間データを、一時的に保持するためのレジスタやキャッシュを有していてもよい。ここでは、演算部2Aと演算部2Bは、互いに異なるOSを搭載しており、一つのデータ処理装置1上でそれぞれのOSを独立に動作させるものとする。 The calculation unit 2 has a function of reading and writing data from and to the storage unit 3 and performing calculation processing in accordance with instructions stored in the storage unit 3. The computing unit 2 is, for example, a processor, a core of the processor, or an integrated circuit such as an LSI (Large Scale Integration). Further, the calculation unit 2 may have a register or a cache for temporarily holding data in the storage unit 3 and intermediate data for calculation processing. Here, it is assumed that the calculation unit 2A and the calculation unit 2B are equipped with different OSs, and each OS is operated independently on one data processing device 1.
 記憶部3は、プログラムなどのデータを保持する機能を有する。記憶部3は、例えば、揮発性メモリ、不揮発性メモリ、ハードディスクの他、CD(Compact Disc)、DVD(DigitalVersatile Disc)、ブルーレイディスクなどの記録メディアであってもよい。また、記憶部3A、3B、3Cは、別々のメモリ等であってもよいし、同じメモリ等の内部の異なる領域であってもよい。 The storage unit 3 has a function of holding data such as programs. The storage unit 3 may be, for example, a recording medium such as a volatile memory, a non-volatile memory, a hard disk, a CD (Compact Disc), a DVD (Digital Versatile Disc), or a Blu-ray disc. The storage units 3A, 3B, and 3C may be separate memories or the like, or may be different areas inside the same memory or the like.
 通信路切換え部5は、複数の演算部2と記憶部3との間に配置され、アクセス制御部4の指示に従って、演算部2と記憶部3との間の通信路及び通信方向を切換える機能を有する。例えば、通信路切換え部5は、演算部2Aや演算部2Bが記憶部3内のどの領域と直接通信できるかを決定する。記憶部3の属性については後述する。通信路切換え部5は、設定された通信路及び通信方向と記憶部3の属性に従い、演算部2が記憶部3の特定の領域へアクセスを試みた際に、そのアクセスが許可できるものであれば実行し、許可できないものであれば実行を停止する。その際に、通信路切換え部5は、許可できる場合には、他の演算部2に対して割込みを発生させ、許可できない場合には、アクセスを試みた演算部2にエラーを通知する等の処理を実行してもよい。 The communication path switching unit 5 is disposed between the plurality of calculation units 2 and the storage unit 3, and switches the communication path and communication direction between the calculation unit 2 and the storage unit 3 in accordance with instructions from the access control unit 4. Have For example, the communication path switching unit 5 determines which area in the storage unit 3 the calculation unit 2A and the calculation unit 2B can directly communicate with. The attributes of the storage unit 3 will be described later. The communication path switching unit 5 can permit the access when the calculation unit 2 tries to access a specific area of the storage unit 3 according to the set communication path and communication direction and the attributes of the storage unit 3. If it is not permitted, stop execution. At that time, the communication path switching unit 5 generates an interrupt to the other calculation unit 2 if it is permitted, and notifies an error to the calculation unit 2 that has attempted access if it cannot be permitted. Processing may be executed.
 アクセス制御部4は、データフロー制御部6と、属性制御部7と、領域選択部8と、通信路制御部9とから構成される。アクセス制御部4は、演算部2が記憶部3にアクセスする際の通信規則を設定することにより、通信路切換え部5の処理方法を決定する機能を有する。アクセス制御部4及び通信路切換え部5は、演算部2とは別のハードウェア又はソフトウェアで実装されていていてもよく、演算部2の何れかがアクセス制御部4や通信路切換え部5の機能を有していてもよい。ただし、全ての演算部2が同時にアクセス制御部4と通信路切換え部5の機能を有することはないものとする。 The access control unit 4 includes a data flow control unit 6, an attribute control unit 7, an area selection unit 8, and a communication path control unit 9. The access control unit 4 has a function of determining a processing method of the communication path switching unit 5 by setting a communication rule when the calculation unit 2 accesses the storage unit 3. The access control unit 4 and the communication path switching unit 5 may be implemented by hardware or software different from the calculation unit 2, and any one of the calculation units 2 is connected to the access control unit 4 or the communication path switching unit 5. It may have a function. However, it is assumed that not all the arithmetic units 2 have the functions of the access control unit 4 and the communication path switching unit 5 at the same time.
 図1には2個の演算部2と3個の記憶部3を示したが、データ処理装置1を構成する演算部2と記憶部3の個数には特に制限はない。また、アクセス制御部4及び通信路切換え部5の機能の全て又は一部は、ソフトウェアとして実装されてもよいし、論理回路などのハードウェアとして実装されていてもよい。また、図1には演算部2が通信路切換え部5に接続されている例を示したが、演算部2がアクセス制御部4に接続されていてもよい。また、アクセス制御部4と通信路切換え部5は、一体としてソフトウェア又はハードウェアとして実装されていてもよい。 Although FIG. 1 shows two calculation units 2 and three storage units 3, the number of calculation units 2 and storage units 3 constituting the data processing apparatus 1 is not particularly limited. Further, all or a part of the functions of the access control unit 4 and the communication path switching unit 5 may be implemented as software, or may be implemented as hardware such as a logic circuit. 1 shows an example in which the calculation unit 2 is connected to the communication path switching unit 5, the calculation unit 2 may be connected to the access control unit 4. Further, the access control unit 4 and the communication path switching unit 5 may be integrally implemented as software or hardware.
 データフロー制御部6は、演算部2と記憶部3との間のデータフローを監視し、予め設定された演算部2が記憶部3にアクセスする際の通信規則とデータフローの状態に応じて、属性制御部7と領域選択部8と通信路制御部9とに処理を指示する機能を有する。また、データフロー制御部6は、複数の演算部2の間で記憶部3を介したデータの通信を行うためのデータアクセスが発生した際に、演算部2と記憶部3との間の通信の許可又は不許可の判定を行う。そして、通信を許可する場合には、属性制御部7と領域選択部8と通信路制御部9に処理を指示し、演算部2と記憶部3との間のデータ通信路を生成するよう制御する。 The data flow control unit 6 monitors the data flow between the calculation unit 2 and the storage unit 3, and according to a communication rule and a state of the data flow when the calculation unit 2 is set in advance to access the storage unit 3. The attribute control unit 7, the region selection unit 8, and the communication path control unit 9 have a function of instructing processing. In addition, the data flow control unit 6 communicates between the calculation unit 2 and the storage unit 3 when a data access for performing data communication between the plurality of calculation units 2 via the storage unit 3 occurs. Judgment of permission or non-permission. When communication is permitted, control is performed to instruct the attribute control unit 7, the region selection unit 8, and the communication path control unit 9 to generate a data communication path between the calculation unit 2 and the storage unit 3. To do.
 属性制御部7は、データフロー制御部6の指示に従い、複数の演算部2の間での記憶部3の共有の可否を含む記憶部3の属性を設定する機能を有する。 The attribute control unit 7 has a function of setting the attributes of the storage unit 3 including whether or not the storage unit 3 can be shared among the plurality of calculation units 2 in accordance with instructions from the data flow control unit 6.
 図9は、記憶部3の属性を設定した管理テーブルの例を示す。
 この管理テーブル13には、記憶部3のアドレス領域ごとに、「演算部」「特権」「共有」「ライト」「リード」「キャッシュ」「セキュア」という項目(フィールド)が存在する。「演算部」は、複数の演算部2のうちそのアドレス領域を利用する演算部を設定する項目である。「特権」は、演算部2の特権モードに応じたアクセス制御を行うか否か(行わない場合は演算部2のユーザモードに応じたアクセス制御を行う)ことを設定する項目である。「共有」は、複数の演算部2からのデータ共有を許可するか否かを設定する項目である。「ライト」、「リード」は、そのアドレス領域へのデータ書き込み、そのアドレス領域からのデータ読み出しを許可するか否かを設定する項目である。「キャッシュ」は、そのアドレス領域へのアクセス時にキャッシュの利用を許可するか否かを設定する項目である。「セキュア」は、そのアドレス領域に保存するデータを暗号化してセキュアにするか否かを設定する項目である。記憶部3の属性の設定とは、この図9に例示したように、複数の演算部2の間での記憶部3の共有の可否を含む各種項目を設定することである。
FIG. 9 shows an example of a management table in which attributes of the storage unit 3 are set.
In the management table 13, for each address area of the storage unit 3, there are items (fields) of “calculation unit”, “privilege”, “shared”, “write”, “read”, “cache”, and “secure”. The “calculation unit” is an item for setting a calculation unit that uses the address area among the plurality of calculation units 2. “Privilege” is an item for setting whether or not to perform access control according to the privilege mode of the computing unit 2 (if not, perform access control according to the user mode of the computing unit 2). “Sharing” is an item for setting whether or not data sharing from a plurality of calculation units 2 is permitted. “Write” and “Read” are items for setting whether or not data writing to the address area and data reading from the address area are permitted. “Cache” is an item for setting whether or not to permit use of the cache when accessing the address area. “Secure” is an item for setting whether or not the data stored in the address area is encrypted and secured. The setting of the attributes of the storage unit 3 is to set various items including whether or not the storage unit 3 can be shared among the plurality of calculation units 2 as illustrated in FIG.
 なお、図9の管理テーブル13に設定されていないアドレス領域については、どの演算部2からアクセスできないとしてもよいし、逆にどの演算部2からもアクセスできるとしてもよい。 Note that an address area not set in the management table 13 of FIG. 9 may be inaccessible from any arithmetic unit 2, or conversely, may be accessible from any arithmetic unit 2.
 領域選択部8は、データフロー制御部6の指示に従い、演算部2が利用する記憶部3の領域を選択する機能を有する。記憶部3の領域とは、例えば、アドレスやアドレス範囲であり、論理アドレス、仮想アドレス、物理アドレスの何れであってもよい。あるいはまた、記憶部3の領域は、アドレスではなくID(Identification)番号等の識別情報によって区別される物理的な位置情報などでもよい。アクセス制御部4は、例えば図9に示したように記憶部3のアドレス領域ごとに各属性を定義した管理テーブルを用いることによって、演算部2の記憶部3に対するデータアクセスを制御する。なお、図9に示した管理テーブルの形式は一例であり、管理テーブルは図9に示した形式以外の形式のものであってもよい。また、アクセス制御部4が各記憶部3の領域の管理を実行する代わりに、演算部2がそれぞれアクセスする記憶部3の領域を論理アドレスもしくは仮想アドレスとして別個に管理し、アクセス制御部4が物理アドレスを監視してもよい。 The area selection unit 8 has a function of selecting an area of the storage unit 3 used by the calculation unit 2 in accordance with an instruction from the data flow control unit 6. The area of the storage unit 3 is, for example, an address or an address range, and may be any of a logical address, a virtual address, and a physical address. Alternatively, the area of the storage unit 3 may be physical position information that is distinguished by identification information such as an ID (Identification) number instead of an address. For example, as shown in FIG. 9, the access control unit 4 controls data access to the storage unit 3 of the calculation unit 2 by using a management table in which each attribute is defined for each address area of the storage unit 3. The format of the management table shown in FIG. 9 is an example, and the management table may have a format other than the format shown in FIG. In addition, instead of the access control unit 4 managing the areas of the storage units 3, the storage unit 3 areas that are accessed by the calculation unit 2 are separately managed as logical addresses or virtual addresses, and the access control unit 4 The physical address may be monitored.
 通信路制御部9は、データフロー制御部6の指示に従い、演算部2が処理するデータの通信路や通信方向を制御する機能を有する。通信路とは、演算部2が処理するデータがどのような経路(送信元及び送信先)を通るかを示すものである。例えば、図1に示すように、記憶部3Aは演算部2Aのみがアクセス可能な専用領域、記憶部3Bは演算部2Bのみがアクセス可能な専用領域、記憶部3Cは演算部2A及び演算部2Bともにアクセス可能な共有領域であるとする。この場合、演算部2Aが処理するデータを演算部2Bに伝送するためには、まず演算部2Aは、記憶部3Aから読み出したデータを記憶部3Cに書き込む。次に、演算部2Bは、記憶部3Cからデータを読み出して記憶部3Bに書き込む、という流れになる。この演算部2Aから演算部2Bへのデータ伝送では、通信路は、演算部2Aと記憶部3Aとの間、演算部2Aと記憶部3Cとの間、演算部2Bと記憶部3Cとの間、演算部2Bと記憶部3Bとの間である。また、この演算部2Aから演算部2Bへのデータ伝送では、通信方向は、記憶部3Aから演算部2A、演算部2Aから記憶部3C、記憶部3Cから演算部2B、演算部2Bから記憶部3Bとなる。ここで、通信方向は、単に「演算部2Aから演算部2B」のように表してもよい。 The communication path control unit 9 has a function of controlling a communication path and a communication direction of data processed by the calculation unit 2 in accordance with an instruction from the data flow control unit 6. The communication path indicates what path (transmission source and transmission destination) the data processed by the calculation unit 2 passes through. For example, as shown in FIG. 1, the storage unit 3A is a dedicated area accessible only by the calculation unit 2A, the storage unit 3B is a dedicated area accessible only by the calculation unit 2B, and the storage unit 3C is the calculation unit 2A and the calculation unit 2B. Assume that both are accessible shared areas. In this case, in order to transmit the data processed by the calculation unit 2A to the calculation unit 2B, the calculation unit 2A first writes the data read from the storage unit 3A to the storage unit 3C. Next, the calculation unit 2B reads data from the storage unit 3C and writes it to the storage unit 3B. In data transmission from the computing unit 2A to the computing unit 2B, the communication path is between the computing unit 2A and the storage unit 3A, between the computing unit 2A and the storage unit 3C, and between the computing unit 2B and the storage unit 3C. , Between the calculation unit 2B and the storage unit 3B. Further, in the data transmission from the calculation unit 2A to the calculation unit 2B, the communication direction is determined from the storage unit 3A to the calculation unit 2A, the calculation unit 2A to the storage unit 3C, the storage unit 3C to the calculation unit 2B, and the calculation unit 2B to the storage unit. 3B. Here, the communication direction may be simply expressed as “calculation unit 2A to calculation unit 2B”.
 図2は、演算部2と記憶部3との間の通信路及び通信方向と、記憶部3の属性の設定の例を示す。なお、図2の記憶部3A-1~3A-5、記憶部3B-1~3B-4、記憶部3C-1~3C-3は、それぞれ図1の記憶部3A、記憶部3B、記憶部3Cの一部ずつの領域である。 FIG. 2 shows an example of setting the communication path and communication direction between the calculation unit 2 and the storage unit 3 and the attributes of the storage unit 3. The storage units 3A-1 to 3A-5, storage units 3B-1 to 3B-4, and storage units 3C-1 to 3C-3 in FIG. 2 are the storage unit 3A, storage unit 3B, and storage unit in FIG. It is an area of a part of 3C.
 図2Aの第1の設定例では、演算部2Aと記憶部3A-1との間に双方向の通信路を設定し、演算部2Aと記憶部3A-2との間にも双方向の通信路を設定している。また、演算部2Aから記憶部3C-1への片方向の通信路を設定し、記憶部3C-1から演算部2Bへの片方向の通信路を設定している。また、演算部2Bと記憶部3B-1との間に双方向の通信路を設定している。 In the first setting example of FIG. 2A, a bidirectional communication path is set between the calculation unit 2A and the storage unit 3A-1, and bidirectional communication is also performed between the calculation unit 2A and the storage unit 3A-2. The road is set. In addition, a one-way communication path from the calculation unit 2A to the storage unit 3C-1 is set, and a one-way communication path from the storage unit 3C-1 to the calculation unit 2B is set. In addition, a bidirectional communication path is set between the calculation unit 2B and the storage unit 3B-1.
 そして、記憶部3A-1の属性は、データ共有を許可せず、特権モードでデータ読み出し及びデータ書き込みを許可するように設定している。また、記憶部3A-2の属性は、データ共有を許可せず、ユーザモードでデータ読み出し及びデータ書き込みを許可するように設定している。また、記憶部3C-1の属性は、データ共有を許可し、演算部2Aには特権モードでデータ書き込みのみを許可し、演算部2Bには特権モードでデータ読み出しのみを許可するように設定している。また、記憶部3B-1の属性は、データ共有を許可せず、ユーザモードでデータ読み出し及びデータ書き込みを許可するように設定している。この図2Aの設定例における特徴は、演算部2Aの側の重要データを演算部2Bに伝送することは出来るが、演算部2Bの側では特権モードでのみその重要データにアクセスすることが可能な点である。 The attribute of the storage unit 3A-1 is set so as to permit data reading and data writing in the privileged mode without permitting data sharing. Further, the attribute of the storage unit 3A-2 is set so that data sharing is not permitted and data reading and data writing are permitted in the user mode. The attributes of the storage unit 3C-1 are set so that data sharing is permitted, the arithmetic unit 2A is permitted only to write data in the privileged mode, and the arithmetic unit 2B is permitted only to read data in the privileged mode. ing. Further, the attribute of the storage unit 3B-1 is set so that data sharing is not permitted and data reading and data writing are permitted in the user mode. The feature in the setting example of FIG. 2A is that the important data on the arithmetic unit 2A side can be transmitted to the arithmetic unit 2B, but the important data can be accessed only on the privileged mode on the arithmetic unit 2B side. Is a point.
 図2Bの第2の設定例では、記憶部3A-3から演算部2Aへの片方向の通信路を設定し、演算部2Aから記憶部3A-4への片方向の通信路を設定している。また、記憶部3C-2から演算部2Aへの片方向の通信路を設定している。また、演算部2Bから記憶部3C-2への片方向の通信路を設定し、記憶部3B-2から演算部2Bへの片方向の通信路を設定し、演算部2Bから記憶部3B-3への片方向の通信路を設定している。 In the second setting example of FIG. 2B, a one-way communication path from the storage unit 3A-3 to the calculation unit 2A is set, and a one-way communication path from the calculation unit 2A to the storage unit 3A-4 is set. Yes. In addition, a one-way communication path from the storage unit 3C-2 to the calculation unit 2A is set. Also, a one-way communication path from the calculation unit 2B to the storage unit 3C-2 is set, a one-way communication path from the storage unit 3B-2 to the calculation unit 2B is set, and the calculation unit 2B to the storage unit 3B- A one-way communication path to 3 is set.
 そして、記憶部3A-3の属性は、データ共有を許可せず、ユーザモードでデータ読み出しのみを許可するように設定している。また、記憶部3A-4の属性は、データ共有を許可せず、ユーザモードでデータ書き込みのみを許可するように設定している。また、記憶部3C-2の属性は、データ共有を許可し、演算部2Aには特権モードでデータ読み出しのみを許可し、演算部2Bには特権モードでデータ書き込みのみを許可するように設定している。また、記憶部3B-2の属性は、データ共有を許可せず、特権モードでデータ読み出しのみを許可するように設定している。また、記憶部3B-3の属性は、データ共有を許可せず、特権モードでデータ書き込みのみを許可するように設定している。この図2Bの設定例における特徴は、演算部2Bから演算部2Aへのデータ転送は特権モードでのみ許可し、万が一データに異常があった場合でも、演算部2Aのユーザモードには影響を与えないことである。 The attributes of the storage unit 3A-3 are set so that data sharing is not permitted and only data reading is permitted in the user mode. Further, the attribute of the storage unit 3A-4 is set so that data sharing is not permitted, and only data writing is permitted in the user mode. The attribute of the storage unit 3C-2 is set so that data sharing is permitted, the arithmetic unit 2A is permitted only to read data in the privileged mode, and the arithmetic unit 2B is permitted only to write data in the privileged mode. ing. Further, the attribute of the storage unit 3B-2 is set so that data sharing is not permitted and only data reading is permitted in the privileged mode. Further, the attribute of the storage unit 3B-3 is set so that data sharing is not permitted, and only data writing is permitted in the privileged mode. The feature of the setting example of FIG. 2B is that data transfer from the computing unit 2B to the computing unit 2A is permitted only in the privileged mode, and even if there is an abnormality in the data, the user mode of the computing unit 2A is affected. It is not.
 図2Cの第3の設定例では、演算部2Aから記憶部3A-5への片方向の通信路を設定し、記憶部3A-5から記憶部3C-3への片方向の通信路を設定している。また、記憶部3C-3から記憶部3B-4への片方向の通信路を設定し、記憶部3B-4から演算部2Bへの片方向の通信路を設定している。ここで、演算部2を介さない記憶部3同士の通信には、例えばDMA(ダイレクトメモリアクセス)などの既存技術を活用することが可能である。 In the third setting example in FIG. 2C, a one-way communication path from the calculation unit 2A to the storage unit 3A-5 is set, and a one-way communication path from the storage unit 3A-5 to the storage unit 3C-3 is set. is doing. In addition, a one-way communication path from the storage unit 3C-3 to the storage unit 3B-4 is set, and a one-way communication path from the storage unit 3B-4 to the calculation unit 2B is set. Here, it is possible to utilize an existing technology such as DMA (direct memory access) for communication between the storage units 3 without using the calculation unit 2.
 そして、記憶部3A-5の属性は、データ共有を許可せず、演算部2Aには特権モードでデータ書き込みのみを許可し、ダイレクトメモリアクセスに対しては特権モードでデータ読み出しのみを許可するように設定している。また、記憶部3C-3の属性は、データ共有を許可し、ダイレクトメモリアクセスに対して特権モードでデータ読み出し及びデータ書き込みを許可するように設定している。また、記憶部3B-4の属性は、データ共有を許可せず、演算部2Bにはデータ読み出しのみを許可し、ダイレクトメモリアクセスに対してはデータ書き込みのみを許可するように設定している。この図2Cの設定例における特徴は、演算部2Aから演算部2Bへのデータ転送をセキュア且つ高速に実行できる点にある。 The attribute of the storage unit 3A-5 does not permit data sharing, permits only the data write in the privileged mode for the arithmetic unit 2A, and permits only data read in the privileged mode for direct memory access. Is set. The attribute of the storage unit 3C-3 is set to permit data sharing and to permit data reading and data writing in a privileged mode for direct memory access. Further, the attribute of the storage unit 3B-4 is set so that data sharing is not permitted, the arithmetic unit 2B is permitted only to read data, and only direct data access is permitted for direct memory access. A feature of the setting example of FIG. 2C is that data transfer from the computing unit 2A to the computing unit 2B can be executed securely and at high speed.
 図2に示した以外にも、データの利用目的や高速性やセキュリティの厳重度等の要求に応じて、演算部2と記憶部3との間の通信路及び通信方向と、記憶部3の属性を設定することが可能である。 In addition to those shown in FIG. 2, the communication path and communication direction between the calculation unit 2 and the storage unit 3, and the storage unit 3 according to requests such as the purpose of use of data, high speed, and the severity of security. It is possible to set attributes.
(アクセス制御部の処理例)
 図3は、アクセス制御部4の処理フローの例を示す。
 まず、アクセス制御部4内のデータフロー制御部6が、演算部2及び記憶部3のデータフローを監視し、発生したデータフローが規定の通信規則に従っているか否かを判定する(ステップS301及びステップS302)。
(Processing example of the access control unit)
FIG. 3 shows an example of the processing flow of the access control unit 4.
First, the data flow control unit 6 in the access control unit 4 monitors the data flows in the calculation unit 2 and the storage unit 3 and determines whether or not the generated data flow conforms to a prescribed communication rule (step S301 and step S301). S302).
 既定の通信規則とは、通信方向やアクセス対象の記憶部3の属性等が設定されたものであり、例えば、通信を許可できない通信規則をブラックリストとして登録しておき、通信を許可できる通信規則をホワイトリストとして登録しておく。発生したデータアクセスをブラックリストと照合し、ブラックリストに登録された通信規則と一致した場合(ステップS301のYES)には、アクセス制御部4は、禁止されたアクセスが発生したものとし、エラーを通知もしくは警告を発して(ステップS310)、処理を終了する。一方、発生したデータアクセスが、ブラックリストに登録されておらず(ステップS301のNO)、かつホワイトリストに登録された通信規則と一致した場合(ステップS302のYES)には、アクセス制御部4は、データアクセスを許可し、処理を終了する。 The default communication rules are those in which the communication direction, the attributes of the storage unit 3 to be accessed, and the like are set. For example, communication rules that cannot permit communication are registered as a black list, and communication rules that allow communication are allowed. Is registered as a white list. The generated data access is checked against the black list, and if it matches the communication rule registered in the black list (YES in step S301), the access control unit 4 assumes that the prohibited access has occurred and gives an error. A notification or warning is issued (step S310), and the process ends. On the other hand, if the generated data access is not registered in the black list (NO in step S301) and matches the communication rule registered in the white list (YES in step S302), the access control unit 4 The data access is permitted and the process is terminated.
 ホワイトリストにもブラックリストにも登録されていないアクセスについては、アクセス制御部4は、未定義もしくは暫定的なデータアクセスとして、以降の処理を継続する。なお、ステップS301の処理とステップS302の処理は、順番が逆であってもよい。ステップS302のホワイトリストによる判定を先に実行する場合の利点は、許可されたデータアクセスを迅速に実行できる点にある。一方、ステップS301のブラックリストによる判定を先に実行する場合の利点は、禁止されたデータアクセスを迅速に排除できる点にある。ステップS301とステップ302のどちらを先に実行するかは、アクセス制御部4の設定として予め固定しておいてもよいし、処理中に変更してもよい。 For access that is not registered in the white list or black list, the access control unit 4 continues the subsequent processing as undefined or provisional data access. Note that the order of the process of step S301 and the process of step S302 may be reversed. An advantage of executing the determination based on the white list in step S302 is that the permitted data access can be executed quickly. On the other hand, an advantage of executing the blacklist determination in step S301 first is that the prohibited data access can be quickly eliminated. Whether to execute step S301 or step 302 first may be fixed in advance as a setting of the access control unit 4, or may be changed during the process.
 図4は、ホワイトリスト及びブラックリストの例を示す。
 このうち図4Aは、ホワイトリストの例を示している。ホワイトリストは、図4Aの左側のホワイトリスト10Aのように、各演算部2に対して許可する対象(どの記憶部3か)とアクセス(書き込みか読み出しか)と動作モード(ユーザモードか特権モードか)の組合せを登録したものであってよい。あるいは、ホワイトリストは、図4Aの右側のホワイトリスト10Bのように、許可するデータの送信元と送信先の組合せを登録したものであってもよい。
FIG. 4 shows an example of a white list and a black list.
Among these, FIG. 4A shows an example of a white list. As in the white list 10A on the left side of FIG. 4A, the white list is a target (which storage unit 3) to be permitted to each arithmetic unit 2, access (write or read), and operation mode (user mode or privilege mode). May be registered. Alternatively, the white list may be a list in which combinations of permitted transmission sources and transmission destinations are registered, as in the white list 10B on the right side of FIG. 4A.
 図4Bは、ブラックリストの例を示している。ブラックリストは、図4Bの左側のブラックリスト11Aのように、各演算部2に対して許可しない対象とアクセスと動作モードの組合せを登録したものであってよい。あるいは、ブラックリストは、図4Bの右側のブラックリスト11Bのように、許可しないデータの送信元と送信先の組合せを登録したものであってもよい。なお、ホワイトリストやブラックリストは、図4に示した項目以外の項目の組合せを登録したものや、図4に示した形式以外の形式のものであってもよい。 FIG. 4B shows an example of a black list. As in the black list 11A on the left side of FIG. 4B, the black list may be a list in which combinations of targets, access, and operation modes that are not permitted to each computing unit 2 are registered. Alternatively, the black list may be registered with a combination of a transmission source and a transmission destination of data that is not permitted, like the black list 11B on the right side of FIG. 4B. The white list and the black list may be registered with combinations of items other than the items shown in FIG. 4 or may have a format other than the format shown in FIG.
 図3の説明に戻る。ホワイトリストにもブラックリストにも登録されていないアクセスである場合、アクセス制御部4内の領域選択部8が、発生したデータフローに使用可能な記憶部3の領域が確保可能か否かを判定する(ステップS303)。このステップS303の判定は、例えば図9に示したような記憶部3のアドレス領域ごとの属性が設定された管理テーブルを参照して行われる。 Returning to the explanation of FIG. When the access is not registered in the white list or the black list, the area selection unit 8 in the access control unit 4 determines whether or not the area of the storage unit 3 that can be used for the generated data flow can be secured. (Step S303). The determination in step S303 is performed with reference to, for example, a management table in which attributes for each address area of the storage unit 3 are set as shown in FIG.
 利用可能な領域が確保できない場合には、アクセス制御部4は、エラーを通知もしくは警告を発して(ステップS310)、処理を終了する。利用可能な領域が確保できる場合には、アクセス制御部4内の通信路制御部9が、演算部2と記憶部3との間の通信路及び通信方向(図3では単に通信路と略記している)を設定する。そして、アクセス制御部4内の属性制御部7が、各記憶部3の領域の属性を設定する(ステップS304)。これにより、演算部2と記憶部3との間でデータ通信路が生成される。 If the usable area cannot be secured, the access control unit 4 notifies an error or issues a warning (step S310) and ends the process. When an available area can be secured, the communication path control unit 9 in the access control unit 4 communicates between the calculation unit 2 and the storage unit 3 and the communication direction (in FIG. 3 simply abbreviated as a communication path). Set). And the attribute control part 7 in the access control part 4 sets the attribute of the area | region of each memory | storage part 3 (step S304). Thereby, a data communication path is generated between the calculation unit 2 and the storage unit 3.
 このステップS304により、例えば図2に示したような通信路や通信方向や属性が設定される。ステップS304において必要な通信路や通信方向や属性の設定を選択する方法としては、例えば、データフロー制御部6が予め複数の設定パターンをリストとして保持しておき、その中から順番に又はランダムに選択する方法がある。あるいはまた、データフロー制御部6が、データのプロトコル種別やデータサイズに応じて、必要な記憶部3のアドレスとサイズ、通信路、通信方向及び属性情報を選択してもよい。 In step S304, for example, the communication path, communication direction, and attributes as shown in FIG. 2 are set. As a method of selecting the required communication path, communication direction, and attribute setting in step S304, for example, the data flow control unit 6 holds a plurality of setting patterns in advance as a list, and sequentially or randomly from among them. There is a way to choose. Alternatively, the data flow control unit 6 may select a necessary address and size of the storage unit 3, a communication path, a communication direction, and attribute information according to the data protocol type and data size.
 図5は、プロトコル種別に応じて記憶部3のアドレスとサイズ、通信路及び属性を設定した記憶部設定情報の例を示す。この記憶部設定情報12では、プロトコル種別Aの場合は、メモリ内のアドレスに小サイズの領域を確保し、演算部2を介した通信路を設定し、特権モードとセキュアアクセスの属性を設定している。また、この記憶部設定情報12では、プロトコル種別Bの場合は、大容量HDD内のアドレスに中サイズの領域を確保し、DMAを利用して演算部2を介さない通信路を設定し、ユーザモードの属性を設定している。また、この記憶部設定情報12では、プロトコル種別Cの場合は、外部記憶装置内のアドレスに大サイズの領域を確保し、DMAを利用して演算部2を介さない通信路を設定し、ユーザモード及びセキュアアクセスの属性を設定している。 FIG. 5 shows an example of storage unit setting information in which the address, size, communication path, and attribute of the storage unit 3 are set according to the protocol type. In the storage unit setting information 12, in the case of the protocol type A, a small size area is secured at the address in the memory, the communication path via the arithmetic unit 2 is set, and the privilege mode and secure access attributes are set. ing. In the storage unit setting information 12, in the case of the protocol type B, a medium-sized area is secured at the address in the large-capacity HDD, a communication path that does not pass through the arithmetic unit 2 is set using DMA, and the user The mode attribute is set. Further, in the storage unit setting information 12, in the case of the protocol type C, a large size area is secured at the address in the external storage device, a communication path that does not pass through the arithmetic unit 2 is set using DMA, and the user The mode and secure access attributes are set.
 図3の説明に戻る。ステップS304に続き、アクセス制御部4は、実際に読み出し又は書き込みのデータアクセスが演算部2の要求通りに正常に実行されたか否かを判定する(ステップS305)。例えば、ステップS305では、発生したデータアクセスが、ステップS304で設定した通信路や通信方向や属性に適合していなければ、データアクセスは要求通りに実行されず、アクセス制御部4は異常と判定する。あるいはまた、複数の演算部2の間でのデータ通信であれば、データの受信側の演算部2が送信側の演算部2に対して受信を完了したことを割込み等で通知し、ステップS304では、アクセス制御部4がこの通知に基づいて正常なデータの送受信の完了を判定してもよい。データアクセスが正常に完了しなかった場合には、アクセス制御部4は、エラーを通知もしくは警告を発して(ステップS310)、処理を終了する。 Returning to the explanation of FIG. Subsequent to step S304, the access control unit 4 determines whether or not the read or write data access has been normally executed normally as requested by the calculation unit 2 (step S305). For example, in step S305, if the generated data access does not conform to the communication path, communication direction, or attribute set in step S304, the data access is not performed as requested, and the access control unit 4 determines that there is an abnormality. . Alternatively, in the case of data communication among a plurality of calculation units 2, the calculation unit 2 on the data reception side notifies the transmission-side calculation unit 2 that reception has been completed by an interrupt or the like, and step S304 Then, the access control unit 4 may determine the completion of normal data transmission / reception based on this notification. If the data access is not normally completed, the access control unit 4 notifies an error or issues a warning (step S310), and ends the process.
 ここで、ステップS304において設定する通信路や通信方向や属性を予め固定しておいて変更できないようにしてもよい。あるいは、ステップS304で通信路や通信方向や属性を設定した後その通信路や通信方向や属性を変更できないようにしてもよい。そうすれば、ステップS304で通信路や通信方向や属性を設定した後でブラックリストやホワイトリストなどの通信規則が不正に書き換えられた場合でも、通信路や通信方向や属性の設定がセキュアな状態なので、不正なデータアクセスを検知して排除することが可能である。 Here, the communication path, communication direction, and attributes set in step S304 may be fixed in advance so that they cannot be changed. Alternatively, after setting the communication path, communication direction, and attribute in step S304, the communication path, communication direction, and attribute may not be changed. Then, even if the communication rules such as the black list and the white list are illegally rewritten after setting the communication channel, communication direction, and attributes in step S304, the communication channel, communication direction, and attribute settings are secure. Therefore, it is possible to detect and eliminate unauthorized data access.
 データアクセスが正常に実行された場合には、アクセス制御部4は、使用した通信路や記憶部3の領域の属性を変更して処理を継続する必要があるか否かを判定する(ステップS306)。例えば、ステップS306では、データアクセスが複数の記憶部3を経由して処理される場合などには、処理を継続する必要があると判定される。処理を継続する必要がある場合には、アクセス制御部4内の通信路制御部9及び属性制御部7が、再びステップS304における通信路、通信方向及び属性の設定の処理を実行する。 When the data access is normally executed, the access control unit 4 determines whether it is necessary to continue the processing by changing the attribute of the used communication path or the area of the storage unit 3 (step S306). ). For example, in step S306, when data access is processed via a plurality of storage units 3, it is determined that the process needs to be continued. When it is necessary to continue the process, the communication path control unit 9 and the attribute control unit 7 in the access control unit 4 execute the process of setting the communication path, the communication direction, and the attribute in step S304 again.
 ステップS306で処理の継続が不要であった場合には、アクセス制御部4は、ステップS304で使用した記憶部3の領域及びその領域について設定した属性を、新たに許可するデータフロー(通信路及び通信方向)としてホワイトリスト10に登録する必要があるか、又は、その使用した領域を解放する必要があるか否かを判定する(ステップS307)。 If it is not necessary to continue the processing in step S306, the access control unit 4 newly permits the data flow (communication path and communication) for the area of the storage unit 3 used in step S304 and the attributes set for the area. It is determined whether it is necessary to register in the white list 10 as the (communication direction) or to release the used area (step S307).
 ホワイトリスト10に登録する必要がある場合、アクセス制御部4は、その使用した領域及びその領域について設定した属性をホワイトリスト10に登録して(ステップS308)、処理を終了する。この登録により、演算部2と記憶部3との間に新たなデータ通信路が生成される。そして、ホワイトリスト10に登録した場合には、次に同じデータフローが発生した際に、ステップS303以降の処理を省略して高速に処理が可能となる。
 また、記憶部3のその使用した領域を解放する必要がある場合、アクセス制御部4は、その領域を解放して未使用領域にして(ステップS309)、処理を終了する。使用した領域を解放した場合には、ステップS304で設定した通信路、通信方向及び属性に従ったデータアクセスは一度きりしか実行できない。すなわち、データフローが発生する度に通信路、通信方向及び属性を再設定することになるので、セキュリティが向上する。
 また、いずれの必要もない場合、アクセス制御部4は、特に何もせずに処理を終了する。この場合には、ステップS304で設定した通信路、通信方向及び属性に従ったデータアクセスを再度実行することが可能である。
 ホワイトリスト10に登録するか、記憶部3の使用した領域を解放するかは、図1の入力部50を用いたユーザの指示によって任意に選択してもよいし、あるいはシステムの設定として予め決めておいてもよい。
When it is necessary to register in the white list 10, the access control unit 4 registers the used area and the attribute set for the area in the white list 10 (step S308), and ends the process. By this registration, a new data communication path is generated between the calculation unit 2 and the storage unit 3. If the data is registered in the white list 10, the processing after step S303 can be omitted at the high speed when the same data flow occurs next time.
If it is necessary to release the used area of the storage unit 3, the access control unit 4 releases the area to make it an unused area (step S309), and ends the process. When the used area is released, data access according to the communication path, communication direction and attributes set in step S304 can be executed only once. That is, every time a data flow occurs, the communication path, communication direction, and attribute are reset, so that security is improved.
If none of these is necessary, the access control unit 4 ends the process without doing anything. In this case, data access according to the communication path, communication direction, and attribute set in step S304 can be executed again.
Whether to register in the white list 10 or release the used area of the storage unit 3 may be arbitrarily selected by a user instruction using the input unit 50 of FIG. 1, or determined in advance as a system setting You may keep it.
 ステップS303以降の処理については、例えばデータ処理装置1の初期設定時にのみ有効とし、データ処理装置1の通常動作時には無効としてもよい。そうすることにより、データ処理装置1の動作中に不正な通信規則が追加されることを防止できる。 The processing after step S303 may be valid only at the time of initial setting of the data processing device 1, for example, and may be invalid at the time of normal operation of the data processing device 1. By doing so, it is possible to prevent an unauthorized communication rule from being added during the operation of the data processing device 1.
(演算部2Aの側から演算部2Bの側へのデータ送信例)
 図6は、演算部2Aの処理するプログラムが、演算部2Bの処理するプログラムに対してデータを送信する場合のデータフローの例を示す。なお、図6の例では、演算部2Aがより重要度の高いデータを扱うことを想定している。
(Example of data transmission from the computing unit 2A side to the computing unit 2B side)
FIG. 6 shows an example of a data flow when the program processed by the calculation unit 2A transmits data to the program processed by the calculation unit 2B. In the example of FIG. 6, it is assumed that the arithmetic unit 2A handles data with higher importance.
 まず、演算部2Aは、アクセス制御部4にデータ転送を要求する(処理S601)。アクセス制御部4は、演算部2Aと記憶部3Aとの間の通信路、通信方向(図6では単に通信路と略記している)と記憶部3Aの属性を設定する(処理S602)。演算部2Aは、記憶部3Aからデータを読み出す(処理S603)。 First, the arithmetic unit 2A requests the access control unit 4 for data transfer (processing S601). The access control unit 4 sets the communication path between the computing unit 2A and the storage unit 3A, the communication direction (simply abbreviated as “communication path” in FIG. 6), and the attributes of the storage unit 3A (processing S602). The computing unit 2A reads data from the storage unit 3A (processing S603).
 次に、演算部2Aは、アクセス制御部4にデータ転送を要求する(処理S604)。アクセス制御部4は、演算部2Aと記憶部3Cとの間の通信路、通信方向と記憶部3Cの属性を設定する(処理S605)。演算部2Aは、記憶部3Cにデータを書き込み(処理S606)、演算部2Bに割込みなどで通知する(処理S607)。また、演算部2Aは、演算部2Bに対して、共有する記憶部3Cの領域情報としてアドレスやサイズ等を通知する(処理S608)。例えば、処理S607の割込み通知時にID情報を付加しておき、処理S608では、そのID情報をもとに予め演算部2Aと演算部2Bとの間で規定しておいたルールに従ってアドレスを設定してもよい。あるいはまた、演算部2Aと演算部2B間に記憶部3を介さずに直接的に領域情報を交換するためのインタフェースを用意しておき、処理S608でそのインタフェースを使用してもよい。 Next, the calculation unit 2A requests the access control unit 4 to transfer data (processing S604). The access control unit 4 sets the communication path between the calculation unit 2A and the storage unit 3C, the communication direction, and the attributes of the storage unit 3C (processing S605). The computing unit 2A writes data to the storage unit 3C (processing S606), and notifies the computing unit 2B with an interrupt or the like (processing S607). Further, the calculation unit 2A notifies the calculation unit 2B of the address, size, and the like as area information of the shared storage unit 3C (processing S608). For example, ID information is added at the time of interrupt notification in step S607, and in step S608, an address is set according to a rule defined in advance between the calculation unit 2A and the calculation unit 2B based on the ID information. May be. Alternatively, an interface for directly exchanging region information may be prepared between the calculation unit 2A and the calculation unit 2B without using the storage unit 3, and the interface may be used in step S608.
 次に、演算部2Bは、アクセス制御部4にデータ転送を要求する(処理S609)。アクセス制御部4は、記憶部3Cと演算部2Bとの間の通信路、通信方向と記憶部3Cの属性を設定する(処理S610)。この処理S610では、アクセス制御部4は、例えば、記憶部3Cに対して演算部2Bがアクセスできる状態に属性を変更し、逆に演算部2Aは記憶部3Cに対してアクセスできないように属性を変更する。次に、演算部2Bは、記憶部3Cからデータを読み出す(処理S611)。ここで、演算部2Bは、演算部2Aに対して、正常にデータを受信したことを知らせるために割込みなどで通知してもよい(処理S612)。なお、演算部2Aは、演算部2Bからのこの通知が所定の時間内に行われなかった場合には、データの再送処理などを実行してもよい。 Next, the calculation unit 2B requests the access control unit 4 to transfer data (processing S609). The access control unit 4 sets the communication path, the communication direction, and the attributes of the storage unit 3C between the storage unit 3C and the calculation unit 2B (processing S610). In this process S610, for example, the access control unit 4 changes the attribute so that the calculation unit 2B can access the storage unit 3C, and conversely, the calculation unit 2A sets the attribute so that the calculation unit 2C cannot access the storage unit 3C. change. Next, the computing unit 2B reads data from the storage unit 3C (processing S611). Here, the calculation unit 2B may notify the calculation unit 2A by an interrupt or the like in order to notify that the data has been normally received (step S612). Note that the arithmetic unit 2A may execute data retransmission processing or the like when the notification from the arithmetic unit 2B is not performed within a predetermined time.
 次に、演算部2Bは、アクセス制御部4にデータ転送を要求する(処理S613)。アクセス制御部4は、記憶部3Bと演算部2Bとの間の通信路、通信方向と記憶部3Bの属性を設定する(処理S614)。演算部2Bは、記憶部3Bへデータを書き込む(処理S615)。最後に、アクセス制御部4は、記憶部3Bの属性を設定する(処理S616)。この処理S616では、アクセス制御部4は、例えば、特権モードからユーザモードに変更することによって、ユーザアプリケーションが記憶部3Bのデータにアクセスできるように設定する処理などを実行する。 Next, the calculation unit 2B requests the access control unit 4 to transfer data (processing S613). The access control unit 4 sets the communication path between the storage unit 3B and the calculation unit 2B, the communication direction, and the attributes of the storage unit 3B (processing S614). The calculation unit 2B writes data to the storage unit 3B (processing S615). Finally, the access control unit 4 sets the attribute of the storage unit 3B (processing S616). In this process S616, for example, the access control unit 4 executes a process for setting the user application to access the data in the storage unit 3B by changing from the privilege mode to the user mode.
 なお、図6における処理S601、処理S604、処理S609、処理S613のデータ転送要求、及び、処理S602、処理S605、処理S614の通信路と属性の設定に関する処理は、図6に示したように分割して実行してもよいし、あるいは、最初に演算部2がアクセス制御部4にデータ転送を要求した時点で纏めて実行してもよい。また、アクセス制御部4の処理内容は、より重要度の高いデータを扱う側の演算部2、すなわち演算部2Aが代行してもよい。 6, the data transfer request in steps S601, S604, S609, and S613, and the processing relating to the setting of the communication path and attribute in steps S602, S605, and S614 are divided as illustrated in FIG. Alternatively, it may be executed at the time when the arithmetic unit 2 first requests the access control unit 4 to transfer data. The processing content of the access control unit 4 may be substituted by the calculation unit 2 on the side that handles data with higher importance, that is, the calculation unit 2A.
(演算部2Bの側から演算部2Aの側へのデータ送信例)
 図7は、演算部2Bの処理するプログラムが、演算部2Aの処理するプログラムに対してデータを送信する場合のデータフローの例を示す。なお、図7の例でも、演算部2Aがより重要度の高いデータを扱うことを想定している。
(Example of data transmission from the computing unit 2B side to the computing unit 2A side)
FIG. 7 shows an example of a data flow when the program processed by the calculation unit 2B transmits data to the program processed by the calculation unit 2A. In the example of FIG. 7 also, it is assumed that the calculation unit 2A handles data with higher importance.
 まず、演算部2Bは、アクセス制御部4に、演算部2Aへのデータ転送を要求する(処理S701)。アクセス制御部4は、記憶部3A、記憶部3B及び記憶部3Cについての必要な通信路、通信方向(図7では単に通信路と略記している)及び属性の設定を纏めて実行する(処理S702~処理S704)。ただし、図6に示したように、各記憶部3A、記憶部3B、記憶部3Cについての通信路、通信方向及び属性の設定を、それぞれ当該記憶部に対してデータ転送が行われる直前に実行してもよい。 First, the calculation unit 2B requests the access control unit 4 to transfer data to the calculation unit 2A (processing S701). The access control unit 4 collectively executes setting of necessary communication paths, communication directions (simply abbreviated as communication paths in FIG. 7) and attributes for the storage units 3A, 3B, and 3C (processing) S702 to S704). However, as shown in FIG. 6, the setting of the communication path, communication direction, and attribute for each storage unit 3A, storage unit 3B, and storage unit 3C is executed immediately before data transfer to the storage unit. May be.
 次に、演算部2Bは、記憶部3Bからデータを読み出し(処理S705)、データ転送の準備ができたことを知らせるために、演算部2Aに割込みなどで通知する(処理S706)。演算部2Aは、演算部2Bに対して、共有する記憶部3Cの領域情報としてアドレスやサイズ等を通知する(処理S707)。図7の例では、演算部2Aがより重要度の高いデータを扱うものとしているため、演算部2Aが、共有する記憶部3の領域情報を通知している。したがって、演算部2Bのほうがより重要度の高いデータを扱う場合の処理は、図6の演算部2Aと演算部2Bを入れ替えた処理となる。ここで、アクセス制御部4が、どちらの演算部2がより重要度の高いデータを扱っているかを判定して演算部2に通知することによって処理を切換えてもよい。 Next, the calculation unit 2B reads data from the storage unit 3B (processing S705), and notifies the calculation unit 2A by an interruption or the like (processing S706) to notify that the data transfer is ready. The calculation unit 2A notifies the calculation unit 2B of the address, size, and the like as the area information of the shared storage unit 3C (processing S707). In the example of FIG. 7, since the calculation unit 2A handles data with higher importance, the calculation unit 2A notifies the shared storage unit 3 of the area information. Therefore, the processing in the case where the calculation unit 2B handles data with higher importance is processing in which the calculation unit 2A and the calculation unit 2B in FIG. 6 are interchanged. Here, the access control unit 4 may switch processing by determining which computing unit 2 is handling data of higher importance and notifying the computing unit 2.
 次に、演算部2Bは、演算部2Aの指定した共有領域である記憶部3Cにデータを書き込み(処理S708)、処理が終了したことを演算部2Aに対して割込みなどにより通知する(処理S709)。次に、アクセス制御部4は、演算部2Aと記憶部3Cとの間の通信路、通信方向と記憶部3Cの属性を設定する(処理S710)。この処理S710では、アクセス制御部4は、例えば、演算部2Bが記憶部3Cにアクセスできないように設定する。次に、演算部2Aは、記憶部3Cからデータを読み出す(処理S711)。ここで、演算部2Bに対して、正常にデータを受信したことを知らせるために割込みなどで通知してもよい(処理S712)。なお、演算部2Bは、演算部2Aからのこの通知が所定の時間内に行われなかった場合には、データの再送処理などを実行してもよい。 Next, the computing unit 2B writes data to the storage unit 3C, which is a shared area designated by the computing unit 2A (processing S708), and notifies the computing unit 2A of the completion of processing by an interrupt or the like (processing S709). ). Next, the access control unit 4 sets the communication path, communication direction, and attributes of the storage unit 3C between the calculation unit 2A and the storage unit 3C (processing S710). In this process S710, for example, the access control unit 4 sets so that the calculation unit 2B cannot access the storage unit 3C. Next, the calculation unit 2A reads data from the storage unit 3C (processing S711). Here, in order to notify the arithmetic unit 2B that the data has been normally received, notification may be made by interruption or the like (processing S712). Note that the arithmetic unit 2B may execute data retransmission processing or the like when the notification from the arithmetic unit 2A is not performed within a predetermined time.
 次に、演算部2Aは、記憶部3Aにデータを書き込む(処理S713)。最後に、アクセス制御部4は、記憶部3Aの属性を変更するなどの処理を実行する(処理S714)。なお、アクセス制御部4の処理内容は、より重要度の高いデータを扱う側の演算部2、すなわち演算部2Aが代行してもよい。 Next, the calculation unit 2A writes data to the storage unit 3A (processing S713). Finally, the access control unit 4 performs processing such as changing the attribute of the storage unit 3A (processing S714). Note that the processing content of the access control unit 4 may be substituted by the calculation unit 2 on the side that handles data with higher importance, that is, the calculation unit 2A.
(演算部2Aの側から演算部2Bの側へのデータ送信の他の例)
 図8は、演算部2Aの処理するプログラムが、演算部2Bの処理するプログラムに対してデータを送信する場合のデータフローの、図6とは別の例を示す。なお、図8の例でも、演算部2Aがより重要度の高いデータを扱うことを想定している。
(Another example of data transmission from the computing unit 2A side to the computing unit 2B side)
FIG. 8 shows another example of the data flow when the program processed by the arithmetic unit 2A transmits data to the program processed by the arithmetic unit 2B, different from FIG. In the example of FIG. 8, it is assumed that the arithmetic unit 2A handles data with higher importance.
 まず、演算部2Aは、アクセス制御部4にデータ転送を要求し(処理S801)、アクセス制御部4は、演算部2Aと記憶部3との間の通信路、通信方向(図8では単に通信路と略記している)と記憶部3の属性を設定する(処理S802)。演算部2Aは、データを記憶部3へ書き込み(処理S803)、アクセス制御部4は、演算部2Bと記憶部3との間の通信路、通信方向と記憶部3の属性を設定する(処理S804)。この処理S804では、アクセス制御部4は、例えば、演算部2Aのみが記憶部3にデータを書き込み可能な状態から、演算部2Bのみが記憶部3からデータを読み出し可能な状態に変更する。次に、演算部2Aは、演算部2Bに割込みなどで通知し(処理S805)、演算部2Bに対して、共有する記憶部3の領域情報としてアドレスやサイズ等を通知する(処理S806)。 First, the computing unit 2A requests data transfer to the access control unit 4 (process S801), and the access control unit 4 communicates the communication path and communication direction between the computing unit 2A and the storage unit 3 (in FIG. 8, simply communication). The attribute of the storage unit 3 is set (processing S802). The calculation unit 2A writes data to the storage unit 3 (process S803), and the access control unit 4 sets the communication path, communication direction, and attributes of the storage unit 3 between the calculation unit 2B and the storage unit 3 (process). S804). In this process S804, for example, the access control unit 4 changes from a state where only the arithmetic unit 2A can write data to the storage unit 3 to a state where only the arithmetic unit 2B can read data from the storage unit 3. Next, the calculation unit 2A notifies the calculation unit 2B by an interrupt or the like (processing S805), and notifies the calculation unit 2B of an address, a size, and the like as area information of the shared storage unit 3 (processing S806).
 次に、演算部2Bは、記憶部3からデータを読み出し(処理S807)、演算部2Aに対して、正常にデータを受信したことを知らせるために割込みなどで通知する(処理S808)。なお、演算部2Aは、演算部2Bからのこの通知が所定の時間内に行われなかった場合には、データの再送処理などを実行してもよい。最後に、アクセス制御部4は、演算部2Bと記憶部3との間の通信路、通信方向と記憶部3の属性を設定する(処理S809)。この処理S809では、アクセス制御部4は、例えば、特権モードからユーザモードに変更することによって、ユーザアプリケーションが記憶部3のデータにアクセスできるようにする。 Next, the calculation unit 2B reads the data from the storage unit 3 (processing S807), and notifies the calculation unit 2A with an interrupt or the like to notify that the data has been normally received (processing S808). Note that the arithmetic unit 2A may execute data retransmission processing or the like when the notification from the arithmetic unit 2B is not performed within a predetermined time. Finally, the access control unit 4 sets the communication path, the communication direction, and the attributes of the storage unit 3 between the calculation unit 2B and the storage unit 3 (processing S809). In this process S809, the access control unit 4 enables the user application to access the data in the storage unit 3, for example, by changing from the privilege mode to the user mode.
 図6の例に対する図8の例の主な違いは、図8の例では記憶部3の領域を一箇所のみ(例えば、図1に示した共有の記憶部3C、あるいは記憶部3C内の一部の領域のみ)を利用する点にあり、より高速にデータ転送を行うことが可能な点にある。 The main difference between the example of FIG. 8 and the example of FIG. 6 is that in the example of FIG. 8, there is only one area of the storage unit 3 (for example, the shared storage unit 3C shown in FIG. (Only the area of the copy) is used, and the data can be transferred at higher speed.
 以上に説明したように、第1の実施の形態によれば、予め設定した通信規則とデータフローの状態に応じて、記憶部3の属性(複数の演算部2の間での記憶部3の共有の可否等)の設定や、記憶部3内で利用するデータ領域の選択や、演算部2と記憶部3との間の通信路及び通信方向の設定が行われる。これにより、処理データ共有時の演算部2と記憶部3との間のアクセス方向を制御し、共有する記憶部3を介した片方向通信を保証することができるので、一部の演算部2が処理するデータに問題があっても、他の演算部2へ問題が伝搬することを防ぐことができる。 As described above, according to the first embodiment, the attribute of the storage unit 3 (the storage unit 3 among the plurality of calculation units 2 is selected according to the communication rule and the data flow state set in advance. The setting of the communication path between the calculation unit 2 and the storage unit 3 and the communication direction are performed. Thereby, since the one-way communication via the shared memory | storage part 3 can be ensured by controlling the access direction between the calculating part 2 and the memory | storage part 3 at the time of process data sharing, some arithmetic parts 2 Even if there is a problem with the data to be processed, it is possible to prevent the problem from propagating to other arithmetic units 2.
 また、共有する記憶部3の領域を、必要最低限に設定し、又は、データアクセスが発生する度に設定する(使い捨てる)ことにより、共有する記憶部3が汚染されるリスクを低減することができる。これにより、データ処理装置1におけるデータ通信において、複数の演算部2によって処理データを共有する際に、より重要度の高い演算部2側の処理するデータの完全性を守ることが可能である。 Moreover, the risk of contamination of the shared storage unit 3 is reduced by setting the area of the shared storage unit 3 to the minimum necessary or setting (disposable) every time data access occurs. Can do. Thereby, in the data communication in the data processing device 1, when the processing data is shared by the plurality of arithmetic units 2, it is possible to protect the integrity of the data processed on the arithmetic unit 2 side having higher importance.
 さらに、デフォルトでセキュリティ機能が実装されていない汎用のプロセッサや旧型のプロセッサを演算部2として利用しても、強固なセキュリティ機能を実現することが可能である。 Furthermore, even if a general-purpose processor or an old-type processor that does not have a security function mounted by default is used as the arithmetic unit 2, a strong security function can be realized.
〔第2の実施の形態〕
(データ処理装置の構成)
 図10は、本発明の第2の実施の形態に係るデータ処理装置の構成例を示す。
 データ処理装置21は、複数の演算部2と、複数の記憶部3と、アクセス制御部22と、通信路切換え部23と、負荷分散部24と、セキュリティレベル設定部25と、異常検知部26とから構成される。データ処理装置21には、第1の実施の形態におけるデータ処理装置1と同様に、外部の入力部50から指示が入力される。演算部2及び記憶部3は、第1の実施の形態における演算部2及び記憶部3と同様の機能を有する。
[Second Embodiment]
(Configuration of data processing device)
FIG. 10 shows a configuration example of a data processing apparatus according to the second embodiment of the present invention.
The data processing device 21 includes a plurality of calculation units 2, a plurality of storage units 3, an access control unit 22, a communication path switching unit 23, a load distribution unit 24, a security level setting unit 25, and an abnormality detection unit 26. It consists of. An instruction is input to the data processing device 21 from the external input unit 50, as in the data processing device 1 in the first embodiment. The calculation unit 2 and the storage unit 3 have the same functions as the calculation unit 2 and the storage unit 3 in the first embodiment.
 通信路切換え部23は、負荷分散部24又はアクセス制御部22の指示に従って、複数の演算部2と記憶部3との間の通信路及び通信方向や記憶部3の属性を切換える機能を有する。 The communication path switching unit 23 has a function of switching communication paths and communication directions between the plurality of calculation units 2 and the storage unit 3 and attributes of the storage unit 3 in accordance with instructions from the load distribution unit 24 or the access control unit 22.
 アクセス制御部22は、第1の実施の形態のアクセス制御部4と同様の機能に加え、セキュリティレベル設定部25、異常検知部26、負荷分散部24のうちの何れか一つ以上の指示に対応して通信路切換え部23の処理方法を決定する機能を有する。 In addition to the same function as the access control unit 4 of the first embodiment, the access control unit 22 responds to one or more instructions from the security level setting unit 25, the abnormality detection unit 26, and the load distribution unit 24. Correspondingly, it has a function of determining the processing method of the communication path switching unit 23.
 負荷分散部24は、複数の演算部2の処理状態を監視し、同時にデータアクセスが発生した場合の順番付けやコヒーレンス(関連度)の管理を行い、一部の演算部2に処理負荷が集中した場合に他の演算部2に処理を振り分けるなどのロードバランスを指示する機能を有する。例えば負荷分散部24は、移行元と移行先の演算部2同士が互いに同等の通信規則を有する場合には、移行元である演算部2の処理の一部を、移行先の演算部2へ移行することを許可する。また、負荷分散部24は、各演算部2の処理状態に応じて、アクセス対象とする記憶部3との通信路、通信方向や記憶部3の属性を設定するための指示を、アクセス制御部22又は通信路切換え部23へ送る機能を有する。 The load distribution unit 24 monitors the processing states of the plurality of arithmetic units 2 and performs ordering and coherence (relevance) management when data access occurs at the same time, and the processing load is concentrated on some arithmetic units 2 In this case, it has a function of instructing the load balance such as distributing the processing to the other arithmetic units 2. For example, when the transfer source and transfer destination calculation units 2 have the same communication rule, the load distribution unit 24 transfers part of the processing of the transfer source calculation unit 2 to the transfer destination calculation unit 2. Allow migration. Further, the load distribution unit 24 gives an instruction for setting a communication path, a communication direction, and an attribute of the storage unit 3 with the storage unit 3 to be accessed according to the processing state of each calculation unit 2. 22 or a function to send to the communication path switching unit 23.
 セキュリティレベル設定部25は、外部からの指示又は予め定められた基準に従ってセキュリティレベルを決定し、セキュリティレベルに応じたデータアクセス方法をアクセス制御部22に指示する機能を有する。セキュリティレベルとは、例えば、国際標準規格であるIEC62243で規定されたSAL(Security assurance level)などである。その他、各種団体や規格によって定められた情報セキュリティに関する評価指標をセキュリティレベルとして利用してもよい。 The security level setting unit 25 has a function of determining a security level according to an instruction from the outside or a predetermined standard and instructing the access control unit 22 of a data access method according to the security level. The security level is, for example, SAL (Security level) defined by IEC62243 which is an international standard. In addition, an evaluation index related to information security determined by various organizations and standards may be used as the security level.
 異常検知部26は、演算部2と記憶部3との間で発生するデータフローを監視し、不正アクセスが疑われるような異常なデータアクセスを検知する。異常検知部26は、例えば大量のコンピュータが一斉にデータを送信してくるDoS(Denial of Service)攻撃のような異常なアクセスが発生した場合にはアクセス制御部22に通知し、異常なアクセスが発生した通信路を切断するなどの指令を出す機能を有する。 The abnormality detection unit 26 monitors the data flow generated between the calculation unit 2 and the storage unit 3 and detects an abnormal data access in which unauthorized access is suspected. The abnormality detection unit 26 notifies the access control unit 22 when an abnormal access such as a DoS (Denialenof Service) attack in which a large number of computers transmit data all at once occurs, and the abnormal access is detected. It has a function of issuing a command such as disconnecting the generated communication path.
(アクセス制御部の処理例)
 図11は、アクセス制御部22の処理フローの例を示す。
 まず、アクセス制御部22は、セキュリティレベル設定部25の指示に従って、要求されるセキュリティレベルの程度を判定する(ステップS1101)。本例ではセキュリティレベルの程度を低、中、高の3段階としているが、定量的に区別可能であれば、どのようにレベルを定義しても構わない。
(Processing example of the access control unit)
FIG. 11 shows an example of the processing flow of the access control unit 22.
First, the access control unit 22 determines the level of the required security level according to the instruction of the security level setting unit 25 (step S1101). In this example, the level of the security level is three levels, low, medium, and high. However, the level may be defined in any way as long as it can be quantitatively distinguished.
 次に、アクセス制御部22は、セキュリティレベルの程度に応じて、データアクセス方法を選択する。すなわち、セキュリティレベルが低の場合には、アクセス制御部22は、演算部2と記憶部3との間のデータ通信について特に制限せず、全ての通信を許可するように設定する(ステップS1102)。第1の実施の形態において説明したブラックリストやホワイトリストを利用する場合には、全ての通信を許可する方法として、例えば、これらのリストに登録された情報を全て解除するなどの方法がある。 Next, the access control unit 22 selects a data access method according to the level of the security level. That is, when the security level is low, the access control unit 22 does not particularly limit the data communication between the calculation unit 2 and the storage unit 3 and sets to permit all communication (step S1102). . When using the black list or white list described in the first embodiment, as a method of permitting all communication, for example, there is a method of canceling all information registered in these lists.
 セキュリティレベルが中の場合には、アクセス制御部22は、初期設定のままアクセス制御部22の処理を行うように設定する(ステップS1103)。ブラックリストやホワイトリストを利用する場合には、初期設定のままアクセス制御部22の処理を行う方法として、例えば、これらのリストに登録された情報を変更せず初期状態のまま利用するという方法がある。 When the security level is medium, the access control unit 22 sets the access control unit 22 to perform processing with the initial setting (step S1103). When using a black list or a white list, as a method of performing the process of the access control unit 22 with the initial setting, for example, there is a method of using the information registered in these lists without changing the initial state. is there.
 セキュリティレベルが高の場合には、アクセス制御部22は、初期設定よりも厳しいアクセス制御を実行する(ステップS1104)。ブラックリストやホワイトリストを利用する場合には、初期設定よりも厳しいアクセス制御を実行する方法として、例えば、許可しない通信路や通信方向や属性の組合せを新たにブラックリストに追加するか、又は許可する通信路や通信方向や属性の組合せをホワイトリストから削除するという方法がある。 If the security level is high, the access control unit 22 executes access control that is stricter than the initial setting (step S1104). When using a blacklist or whitelist, as a method of executing access control that is stricter than the initial setting, for example, a new communication path, communication direction, or attribute combination that is not permitted is added to the blacklist or permitted. There is a method of deleting a combination of communication channels, communication directions and attributes from the white list.
 このように、セキュリティレベル設定部25により設定されたセキュリティレベルの程度に応じたデータ通信路を、演算部2と記憶部3との間に生成することができる。なお、ステップS1102~S1104におけるデータアクセス方法は、上記の例以外に、例えば、セキュリティレベルごとに通信路、通信方向及び属性の設定に関する条件をリスト(例えばホワイトリストやブラックリスト)として複数通り用意しておき、その中からセキュリティレベルに合致する設定を選択するという方法でもよい。 Thus, a data communication path corresponding to the degree of the security level set by the security level setting unit 25 can be generated between the calculation unit 2 and the storage unit 3. In addition to the above example, the data access method in steps S1102 to S1104 is provided with a plurality of conditions (for example, a white list and a black list) as conditions for setting the communication path, communication direction, and attribute for each security level. Alternatively, a method of selecting a setting that matches the security level from among them may be used.
 次に、アクセス制御部22は、発生したデータフローに使用可能な記憶部3の領域が確保可能か否かを判定する(ステップS1105)。利用可能な領域が確保できない場合には、アクセス制御部22は、エラーを通知もしくは警告を発して(ステップS1106)、処理を終了する。利用可能な領域が確保できる場合には、アクセス制御部22は、セキュリティレベルに対応して設定したデータアクセス方法のもとで、演算部2と記憶部3との間の通信路、通信方向(図11では単に通信路と略記している)及び記憶部3の属性を設定する(ステップS1107)。 Next, the access control unit 22 determines whether or not an area of the storage unit 3 that can be used for the generated data flow can be secured (step S1105). If an available area cannot be secured, the access control unit 22 notifies an error or issues a warning (step S1106) and ends the process. When an available area can be secured, the access control unit 22 uses the data access method set in accordance with the security level, the communication path between the calculation unit 2 and the storage unit 3, the communication direction ( In FIG. 11, the communication path is simply abbreviated) and the attributes of the storage unit 3 are set (step S1107).
 図12は、ステップS1107での演算部2と記憶部3との間の通信路、通信方向及び記憶部3の属性の設定の例を示す。なお、図12では、個々の演算部2を演算部2A~2Dとして示し、個々の記憶部3を記憶部3A~3D(又は記憶部3A~3C)として示している。 FIG. 12 shows an example of setting the communication path, communication direction, and attributes of the storage unit 3 between the calculation unit 2 and the storage unit 3 in step S1107. In FIG. 12, each computing unit 2 is shown as computing units 2A to 2D, and each storage unit 3 is shown as storage units 3A to 3D (or storage units 3A to 3C).
 図12Aの例では、演算部2Aと記憶部3Aとの間に双方向の通信路を設定し、演算部2Aから記憶部3Bへの双方向の通信路を設定し、演算部2Aから記憶部3Cへの片方向の通信路を設定している。また、演算部2Bと記憶部3Bとの間に双方向の通信路を設定し、演算部2Bから記憶部3Cへの片方向の通信路を設定している。また、記憶部3Cから演算部2Cへの片方向の通信路を設定し、演算部2Cと記憶部3Dとの間に双方向の通信路を設定している。また、記憶部3Dから演算部2Dへの片方向の通信路を設定している。 In the example of FIG. 12A, a bidirectional communication path is set between the calculation unit 2A and the storage unit 3A, a bidirectional communication path from the calculation unit 2A to the storage unit 3B is set, and the calculation unit 2A to the storage unit A one-way communication path to 3C is set. In addition, a bidirectional communication path is set between the calculation unit 2B and the storage unit 3B, and a one-way communication path from the calculation unit 2B to the storage unit 3C is set. Further, a one-way communication path from the storage unit 3C to the calculation unit 2C is set, and a bidirectional communication path is set between the calculation unit 2C and the storage unit 3D. In addition, a one-way communication path from the storage unit 3D to the calculation unit 2D is set.
 そして、記憶部3Aの属性は、データ共有を許可せず、データ読み出し及びデータ書き込みを許可するように設定している。また、記憶部3Bの属性は、データ共有を許可し、データ読み出し及びデータ書き込みを許可するように設定している。また、記憶部3Cの属性は、データ共有を許可し、演算部2A及び2Bには特権モードでデータ書き込みのみを許可し、演算部2Cには特権モードでデータ読み出しのみを許可するように設定している。また、記憶部3Dの属性は、データ共有を許可し、演算部2Cにはデータ読み出し及びデータ書き込みを許可し、演算部2Dにはデータ読み出しのみを許可するように設定している。この図12Aの設定例における特徴は、演算部2Aは、演算部2Cや演算部2Dの処理データからの影響を受けることなく、演算部2Bとのみ処理を共有することが可能なことである。 The attributes of the storage unit 3A are set so as to allow data reading and data writing without allowing data sharing. Further, the attributes of the storage unit 3B are set so as to permit data sharing and allow data reading and data writing. The attributes of the storage unit 3C are set so that data sharing is permitted, the arithmetic units 2A and 2B are permitted to write data only in the privileged mode, and the arithmetic unit 2C is permitted only to read data in the privileged mode. ing. The attributes of the storage unit 3D are set so that data sharing is permitted, the arithmetic unit 2C is permitted to read and write data, and the arithmetic unit 2D is permitted only to read data. The feature of the setting example of FIG. 12A is that the calculation unit 2A can share processing only with the calculation unit 2B without being affected by the processing data of the calculation unit 2C and the calculation unit 2D.
 図12Bの例では、演算部2Aから記憶部3Aへの片方向の通信路を設定している。また、演算部2Bから記憶部3Bへの片方向の通信路を設定している。また、記憶部3Cから演算部2Cへの片方向の通信路を設定し、記憶部3Cから演算部2Dへの片方向の通信路を設定している。また、記憶部3Aから記憶部3Bへの片方向の通信路を設定し、記憶部3Bから記憶部3Cへの片方向の通信路を設定している。 In the example of FIG. 12B, a one-way communication path from the calculation unit 2A to the storage unit 3A is set. In addition, a one-way communication path from the calculation unit 2B to the storage unit 3B is set. In addition, a one-way communication path from the storage unit 3C to the calculation unit 2C is set, and a one-way communication path from the storage unit 3C to the calculation unit 2D is set. In addition, a one-way communication path from the storage unit 3A to the storage unit 3B is set, and a one-way communication path from the storage unit 3B to the storage unit 3C is set.
 そして、記憶部3Aの属性は、データ共有を許可せず、演算部2Aにはデータ書き込みのみを許可し、ダイレクトメモリアクセス(DMA)に対してはデータ読み出しのみを許可するように設定している。また、記憶部3Bの属性は、データ共有を許可し、演算部2Bにはデータ書き込みのみを許可し、ダイレクトメモリアクセスに対してはデータ読み出し及びデータ書き込みを許可するように設定している。また、記憶部3Cの属性は、データ共有を許可し、演算部2C及び2Dにはデータ読み出しのみを許可し、ダイレクトメモリアクセスに対してはデータ書き込みのみを許可するように設定している。この図12Bの設定例における特徴は、演算部2Aは、自身が持つデータを安全に処理しながら、自身のデータを演算部2Bの処理データと共に高速に演算部2Cや演算部2Dに送信することが可能なことである。 The attributes of the storage unit 3A are set so that data sharing is not permitted, the arithmetic unit 2A is allowed only to write data, and direct memory access (DMA) is allowed only to read data. . The attributes of the storage unit 3B are set so as to permit data sharing, permit only the data writing to the arithmetic unit 2B, and permit data reading and data writing for direct memory access. The attributes of the storage unit 3C are set so as to permit data sharing, allow only the data reading to the arithmetic units 2C and 2D, and allow only data writing for direct memory access. The feature of the setting example of FIG. 12B is that the calculation unit 2A transmits its own data to the calculation unit 2C and the calculation unit 2D at high speed together with the processing data of the calculation unit 2B while safely processing the data held by the calculation unit 2A. Is possible.
 図12A及び図12Bに示したような通信路、通信方向及び属性の設定については、例えば、第1の実施の形態において図4に示したようなホワイトリストやブラックリストの形式で定義することが可能である。 The setting of the communication path, communication direction, and attribute as shown in FIGS. 12A and 12B can be defined, for example, in the form of a white list or black list as shown in FIG. 4 in the first embodiment. Is possible.
 図11の説明に戻る。アクセス制御部22は、ステップS1107において通信路、通信方向及び属性を設定した後、実際に読み出し又は書き込みのデータアクセスが演算部2の要求通りに正常に実行されたか否かを判定する(ステップS1108)。例えば、ステップS1108では、発生したデータアクセスが、ステップS1107で設定した通信路や属性に適合していなければ、アクセス制御部22は異常と判定する。あるいはまた、複数の演算部2の間でのデータ通信であれば、データの受信側の演算部2が送信側の演算部2に対して受信を完了したことを割込み等で通知し、ステップS1108では、アクセス制御部22がこの通知に基づいて正常なデータの送受信が完了したことを判定してもよい。データアクセスが正常に完了できなかった場合には、アクセス制御部22は、エラーを通知もしくは警告を発する(ステップS1111)。 Returning to the explanation of FIG. After setting the communication path, communication direction, and attribute in step S1107, the access control unit 22 determines whether or not the actual read or write data access has been normally executed as requested by the calculation unit 2 (step S1108). ). For example, in step S1108, if the generated data access does not conform to the communication path or attribute set in step S1107, the access control unit 22 determines that there is an abnormality. Alternatively, in the case of data communication between a plurality of calculation units 2, the calculation unit 2 on the data reception side notifies the transmission-side calculation unit 2 that the reception has been completed by an interrupt or the like, and step S1108 Then, the access control unit 22 may determine that normal data transmission / reception has been completed based on this notification. If the data access cannot be completed normally, the access control unit 22 notifies an error or issues a warning (step S1111).
 データアクセスが正常に実行された場合、アクセス制御部22は、異常検知部26から、DoS攻撃のような異常なデータアクセスを検知したことが通知されたか否かを判定する(ステップS1109)。異常なデータアクセスを検知したことが通知された場合、アクセス制御部22は、エラーを通知もしくは警告を発する(ステップS1111)。 When the data access is normally executed, the access control unit 22 determines whether or not the abnormality detection unit 26 has been notified that an abnormal data access such as a DoS attack has been detected (step S1109). When notified that an abnormal data access has been detected, the access control unit 22 notifies an error or issues a warning (step S1111).
 ステップS1111に続き、アクセス制御部22は、異常が発生した通信路を遮断する必要、又は、正常な通信路の設定を変更する必要があるか否かを判定する(ステップS1112)。必要である場合、アクセス制御部4は、再びステップS1107における通信路、通信方向及び属性の設定の処理を実行し、少なくとも1つ以上の設定を変更する。例えば、これまで通信の許可されていた通信路において異常が発生した場合には、ステップS1107で、その通信路を遮断するように通信路や属性の設定を変更する。又は、正常な通信路を保護するために、ステップS1107で、別の通信路を新たに生成するなどの処理を実行する。あるいは、正常なデータアクセスを保護するために、ステップS1107で、異常の発生した通信路をそのまま囮として残しておき、新たに正常な通信路を生成してもよい。 Subsequent to step S1111, the access control unit 22 determines whether it is necessary to block the communication path in which an abnormality has occurred or to change the setting of a normal communication path (step S1112). If necessary, the access control unit 4 executes the process of setting the communication path, communication direction, and attribute in step S1107 again, and changes at least one setting. For example, if an abnormality has occurred in a communication path that has been permitted for communication so far, in step S1107, the communication path and attribute settings are changed to block the communication path. Alternatively, in order to protect a normal communication path, processing such as newly generating another communication path is executed in step S1107. Alternatively, in order to protect normal data access, in step S1107, a communication path in which an abnormality has occurred may be left as it is, and a new normal communication path may be generated.
 ステップS1109で、許可されていないデータアクセスを検知したことが通知されなかった場合は、アクセス制御部22は、使用した通信路や記憶部3の領域の属性を変更して処理を継続する必要があるか否かを判定する(ステップS1110)。また、ステップS1112で、異常が発生した通信路の遮断や正常な通信路の設定の変更が必要でなかった場合も、アクセス制御部22は、使用した通信路や記憶部3の領域の属性を変更して処理を継続する必要があるか否かを判定する(ステップS1110)。処理を継続する必要がある場合には、アクセス制御部22は、再びステップS1107における通信路、通信方向及び属性の設定の処理を実行する。処理の継続が不要であった場合には、アクセス制御部4は処理を終了する。 When it is not notified in step S1109 that unauthorized data access has been detected, the access control unit 22 needs to change the used communication path and the attributes of the area of the storage unit 3 and continue the processing. It is determined whether or not there is (step S1110). In step S1112, the access control unit 22 also sets the attributes of the used communication path and the area of the storage unit 3 when it is not necessary to block the communication path in which an abnormality has occurred or to change the setting of the normal communication path. It is determined whether or not it is necessary to continue the process after changing (step S1110). When it is necessary to continue the process, the access control unit 22 executes the process of setting the communication path, the communication direction, and the attribute in step S1107 again. When the continuation of the process is unnecessary, the access control unit 4 ends the process.
(負荷分散部の処理例)
 図13は、負荷分散部24の処理フローの例を示す。
 まず、負荷分散部24は、演算部2の処理状態を監視し、一部の演算部2に処理負荷が集中していないかを判定する(ステップS1301)。ステップS1301の判定には、公知技術を利用することができる。例えば、各演算部2の時間に対する稼働率を比較し、稼働率の高い演算部2に処理負荷がかかっていると判断する。あるいはまた、演算部2側から負荷分散部24に対して、処理負荷が高まっていることを通知してもよい。一部の演算部2に処理負荷が集中している場合には、負荷分散部24は、負荷分散が可能か否かを判定する(ステップS1302)。ステップS1302の判定には、例えば、休止中もしくは稼働率の低い他の演算部2に、一部のデータ処理を移行できるか否かを判定するような公知技術を利用してもよい。
(Example of processing by the load balancer)
FIG. 13 shows an example of the processing flow of the load distribution unit 24.
First, the load distribution unit 24 monitors the processing state of the calculation unit 2 and determines whether the processing load is concentrated on some of the calculation units 2 (step S1301). A known technique can be used for the determination in step S1301. For example, the operation rates with respect to time of the respective calculation units 2 are compared, and it is determined that a processing load is applied to the calculation unit 2 having a high operation rate. Alternatively, the processing unit 2 side may notify the load distribution unit 24 that the processing load is increasing. If the processing load is concentrated on some of the computing units 2, the load distribution unit 24 determines whether or not load distribution is possible (step S1302). For the determination in step S1302, for example, a known technique for determining whether or not a part of the data processing can be transferred to another operation unit 2 that is in a suspended state or has a low operation rate may be used.
 次に、演算部2のデータ処理を他の演算部2に移行できる場合、負荷分散部24は、セキュリティ条件を満たすか否かを判定する(ステップS1303)。ステップS1303の判定は、例えば、各演算部2及び記憶部3にセキュリティレベルを設定しておき、処理負荷が集中している演算部2のセキュリティレベルと同等以上のセキュリティレベルの演算部2や記憶部3に対してのみ、処理を移行可能と判定するという方法を用いる。また、セキュリティ条件を満たさず、データ処理の移行ができない場合には、負荷分散部24は、セキュリティレベルの設定や、演算部2と記憶部3との間の通信路、通信方向の設定や、記憶部3の属性の設定を変更することによって対応可能か否かを判定する(ステップS1307)。 Next, when the data processing of the calculation unit 2 can be transferred to another calculation unit 2, the load distribution unit 24 determines whether or not the security condition is satisfied (step S1303). In step S1303, for example, a security level is set in each calculation unit 2 and storage unit 3, and the calculation unit 2 or storage having a security level equal to or higher than the security level of the calculation unit 2 where the processing load is concentrated. A method of determining that the process can be transferred only to the unit 3 is used. If the security condition is not satisfied and data processing cannot be transferred, the load distribution unit 24 sets the security level, sets the communication path and communication direction between the calculation unit 2 and the storage unit 3, It is determined whether or not the change can be made by changing the attribute setting of the storage unit 3 (step S1307).
 ステップS1302、ステップS1303、ステップS1307において、最終的に負荷分散が不可能と判定された場合には、負荷分散部24は、エラー通知などを実行し(ステップS1308)、処理を終了する。負荷分散が可能と判定された場合には、負荷分散部24は、必要な通信路、通信方向(図13では単に通信路と略記している)及び記憶部3の属性やセキュリティレベルを設定するための指示を、アクセス制御部22又は通信路切換え部23へ送る(ステップS1304)。 If it is finally determined in step S1302, step S1303, or step S1307 that load distribution is impossible, the load distribution unit 24 performs error notification or the like (step S1308), and ends the process. When it is determined that load distribution is possible, the load distribution unit 24 sets a necessary communication path, a communication direction (simply abbreviated as “communication path” in FIG. 13), an attribute of the storage unit 3, and a security level. Is sent to the access control unit 22 or the communication path switching unit 23 (step S1304).
 図14は、図13のステップS1303、S1307及びS1304による処理の例を示す。最初に、セキュリティレベルや通信路や記憶部3の属性が、図14Aの例のように設定されているとする。なお、図14では、個々の演算部2を演算部2A~2Dとして示し、個々の記憶部3を記憶部3A~3Dとして示している。 FIG. 14 shows an example of processing by steps S1303, S1307, and S1304 of FIG. First, it is assumed that the security level, the communication path, and the attributes of the storage unit 3 are set as in the example of FIG. 14A. In FIG. 14, the individual calculation units 2 are shown as calculation units 2A to 2D, and the individual storage units 3 are shown as storage units 3A to 3D.
 この図14Aの例では、演算部2A、記憶部3Aはセキュリティレベル3に設定し、演算部2B、記憶部3B、記憶部3Cはセキュリティレベル2に設定し、演算部2C、演算部2D、記憶部3Dはセキュリティレベル1に設定している。本例では、セキュリティレベルは3が高く、2が中間で、1が低いものとする。そして、演算部2Aと記憶部3Aとの間に双方向の通信路を設定している。また、演算部2Bと記憶部3Bとの間に双方向の通信路を設定し、演算部2Bと記憶部3Cとの間にも双方向の通信路を設定している。また、記憶部3Cから演算部2Cへのデータ読み出しのみの片方向の通信路を設定し、演算部2Cと記憶部3Dとの間に双方向の通信路を設定している。演算部2Dと記憶部3Dとの間に双方向の通信路を設定している。なお、図14には示していないが、記憶部3A、3B、3Dの属性は、データ読み出し及びデータ書き込みを許可するように設定している。また、記憶部3Cの属性は、演算部2Bにはデータ読み出し及びデータ書き込みを許可し、演算部2Cにはデータ読み出しのみを許可するように設定している。 In the example of FIG. 14A, the calculation unit 2A and the storage unit 3A are set to the security level 3, the calculation unit 2B, the storage unit 3B, and the storage unit 3C are set to the security level 2, and the calculation unit 2C, the calculation unit 2D, and the storage The unit 3D is set to security level 1. In this example, it is assumed that the security level is 3 high, 2 is intermediate, and 1 is low. A bidirectional communication path is set between the calculation unit 2A and the storage unit 3A. In addition, a bidirectional communication path is set between the calculation unit 2B and the storage unit 3B, and a bidirectional communication path is also set between the calculation unit 2B and the storage unit 3C. In addition, a one-way communication path only for reading data from the storage unit 3C to the calculation unit 2C is set, and a bidirectional communication path is set between the calculation unit 2C and the storage unit 3D. A bidirectional communication path is set between the calculation unit 2D and the storage unit 3D. Although not shown in FIG. 14, the attributes of the storage units 3A, 3B, and 3D are set to permit data reading and data writing. The attributes of the storage unit 3C are set so that the calculation unit 2B is allowed to read and write data, and the calculation unit 2C is allowed only to read data.
 この図14Aに示したようにセキュリティレベルや通信路や記憶部3の属性が設定されている状態において、演算部2Dの負荷が集中し、図13のステップS1302において、演算部2Cへの一部処理の移行が可能と判定されたことを想定する。この場合、負荷分散部24は、図13のステップS1303におけるセキュリティ条件の判定処理として、演算部2D及び演算部2Dの使用する記憶部3Dと演算部2Cのセキュリティレベルは全て合致するため、演算部2Dの処理を演算部2Cに移行可能と判定する。 As shown in FIG. 14A, in the state in which the security level, the communication path, and the attributes of the storage unit 3 are set, the load on the calculation unit 2D is concentrated. In step S1302 in FIG. Assume that it is determined that the process can be transferred. In this case, since the security level of the storage unit 3D used by the calculation unit 2D and the calculation unit 2D and the security level of the calculation unit 2C all match as the security condition determination processing in step S1303 of FIG. It is determined that 2D processing can be transferred to the calculation unit 2C.
 一方、演算部2Aに処理負荷が集中し、図13のステップS1302において、演算部2Bへの一部処理の移行が可能と判定されたことを想定する。この場合、負荷分散部24は、図13のステップS1303の処理において、演算部2Aと演算部2Bのセキュリティレベルが一致せず、また共有可能な記憶部3もないため、負荷分散は不可と判定する。 On the other hand, it is assumed that the processing load is concentrated on the arithmetic unit 2A and it is determined in step S1302 in FIG. In this case, the load distribution unit 24 determines that load distribution is not possible because the security levels of the calculation unit 2A and the calculation unit 2B do not match and there is no sharable storage unit 3 in the process of step S1303 of FIG. To do.
 このように負荷分散は不可と判定した場合、次に、負荷分散部24は、図13のステップS1307において、演算部2B及び記憶部3Bのセキュリティレベルを変更することが可能か否かを判定する。例えば、負荷分散部24は、演算部2Bの処理状態を調べ、演算部2Cと記憶部3Cを共有して共通の処理を実行中である場合には、演算部2Bのセキュリティレベルの変更は不可と判定する。逆に、演算部2Bと演算部2Cとの間に共有して実行中の処理がない場合には、負荷分散部24は、演算部2Bのセキュリティレベルを変更可能と判定する。 When it is determined that load distribution is not possible in this way, the load distribution unit 24 then determines whether or not the security levels of the calculation unit 2B and the storage unit 3B can be changed in step S1307 of FIG. . For example, the load distribution unit 24 checks the processing state of the calculation unit 2B, and when the calculation unit 2C and the storage unit 3C are shared and executing a common process, the security level of the calculation unit 2B cannot be changed. Is determined. On the other hand, when there is no shared processing between the computing unit 2B and the computing unit 2C, the load distribution unit 24 determines that the security level of the computing unit 2B can be changed.
 ここでは、図13のステップS1307において、演算部2Bのセキュリティレベルを変更可能と判定したものとする。図14Bは、その場合に負荷分散部24が、図13のステップS1304においてアクセス制御部22又は通信路切換え部23に送る指示の内容を示している。負荷分散部24は、アクセス制御部22(データフロー制御部)に、演算部2B及び記憶部3Bのセキュリティレベルを2から3に変更するよう指示する。また、負荷分散部24は、アクセス制御部22(データフロー制御部)に、演算部2Aと記憶部3Bとの間の通信路を、双方向の通信路に変更させるよう指示する。このように、移行元の演算部2に合わせて、移行先の演算部2及び共有の記憶部3のセキュリティレベルを変更してデータ処理を移行することで、セキュアな通信を担保することができる。 Here, it is assumed that it is determined in step S1307 in FIG. 13 that the security level of the computing unit 2B can be changed. FIG. 14B shows the contents of the instruction sent by the load distribution unit 24 to the access control unit 22 or the communication path switching unit 23 in step S1304 of FIG. The load distribution unit 24 instructs the access control unit 22 (data flow control unit) to change the security level of the calculation unit 2B and the storage unit 3B from 2 to 3. Further, the load distribution unit 24 instructs the access control unit 22 (data flow control unit) to change the communication path between the calculation unit 2A and the storage unit 3B to a bidirectional communication path. In this way, secure communication can be ensured by changing the security level of the migration destination computation unit 2 and the shared storage unit 3 in accordance with the migration source computation unit 2 and migrating data processing. .
 さらに、演算部2Bが自身よりもセキュリティレベルの低い演算部2や記憶部3からの影響を受けないようにするために、負荷分散部24は、演算部2Bと記憶部3Cとの間の通信路や記憶部3Cの属性を変更させる。すなわち、負荷分散部24は、演算部2Bと記憶部3Cとの間の通信路を、演算部2Bから記憶部3Cへの片方向の通信路に変更させるとともに、記憶部3Cの属性を、演算部2Bにはデータ書き込みのみを許可するように変更させる。なお、演算部2Bが自身よりもセキュリティレベルの低い演算部2や記憶部3からの影響を受けないようにするためには、演算部2Bと記憶部3Cとの間の通信路を切断させてもよい。 Further, in order to prevent the calculation unit 2B from being affected by the calculation unit 2 or the storage unit 3 having a lower security level than itself, the load distribution unit 24 communicates between the calculation unit 2B and the storage unit 3C. The attributes of the road and the storage unit 3C are changed. That is, the load distribution unit 24 changes the communication path between the calculation unit 2B and the storage unit 3C to a one-way communication path from the calculation unit 2B to the storage unit 3C, and calculates the attribute of the storage unit 3C. The unit 2B is changed so as to permit only data writing. In order to prevent the calculation unit 2B from being affected by the calculation unit 2 or the storage unit 3 having a lower security level than itself, the communication path between the calculation unit 2B and the storage unit 3C is disconnected. Also good.
 図13に示すように、ステップS1304においてセキュリティレベルや通信路や通信方向や記憶部3の属性を設定するための指示を出力した後、負荷分散部24は、実際に演算部2間でのデータ処理の移行を実行する(ステップS1305)。ここで、演算部2間での処理の移管については、例えば、第1の実施の形態の図6、図7及び図8に示したようなデータフローに従って処理することにより、処理移管元の演算部2の処理データを移管先の演算部2へとセキュアに転送可能である。 As shown in FIG. 13, after outputting an instruction for setting the security level, communication path, communication direction, and attributes of the storage unit 3 in step S1304, the load distribution unit 24 actually performs data transmission between the calculation units 2. Processing transition is executed (step S1305). Here, regarding the transfer of processing between the calculation units 2, for example, by performing processing according to the data flow as illustrated in FIGS. 6, 7, and 8 of the first embodiment, The processing data of the unit 2 can be securely transferred to the calculation unit 2 as a transfer destination.
 ステップS1305に続き、負荷分散部24は、演算部2の負荷分散処理が全て正常に実行されたか否かを判定する(ステップS1306)。異常が発生した場合には、負荷分散部24は、エラー通知などを実行し(ステップS1308)、処理を終了する。必要な移行処理が残っている場合には、負荷分散部24は、再びステップS1304からの処理を繰り返す。そして、演算部2の負荷分散処理が全て正常に実行されると、負荷分散部24は処理を終了する。 Subsequent to step S1305, the load distribution unit 24 determines whether or not all the load distribution processing of the calculation unit 2 has been normally executed (step S1306). If an abnormality has occurred, the load distribution unit 24 performs error notification or the like (step S1308) and ends the process. If the necessary migration process remains, the load distribution unit 24 repeats the process from step S1304 again. Then, when all the load distribution processing of the calculation unit 2 is normally executed, the load distribution unit 24 ends the processing.
 以上に説明したように、第2の実施の形態によれば、第1の実施の形態と同様な効果が得られることに加えて、データ処理装置21におけるデータ通信において、要求されるセキュリティレベルに適したデータアクセスを構築することが可能である。また、複数(3つ以上)の演算部2を利用して処理負荷を分散する際に、処理の移行をセキュアに実行可能である。 As described above, according to the second embodiment, in addition to obtaining the same effects as those of the first embodiment, in the data communication in the data processing device 21, the required security level is achieved. It is possible to construct suitable data access. In addition, when the processing load is distributed using a plurality (three or more) of the arithmetic units 2, it is possible to securely execute the process transition.
〔第3の実施の形態〕
(データ処理装置の構成)
 図15は、本発明の第3の実施の形態に係るデータ処理装置の構成例を示す。
 データ処理装置31は、演算部2A及び2B(演算装置の一例)と、アクセス制御部32と、通信路切換え部33と、仮想通信路切換え部34A及び34Bと、記憶部3A、3B及び3C(記憶装置の一例)と、仮想記憶部35A及び35B(仮想記憶領域の一例)とから構成される。なお、演算部2A、2Bを総称する際には演算部2と称し、記憶部3A、3B、3Cを総称する際には記憶部3と称することにする。また、仮想通信路切換え部34A、34Bを総称する際には仮想通信路切換え部34と称し、仮想記憶部35A、35Bを総称する際には仮想記憶部35と称することにする。データ処理装置31には、第1の実施の形態におけるデータ処理装置1、もしくは第2の実施の形態におけるデータ処理装置21と同様に、外部の入力部50から指示が入力される。
[Third Embodiment]
(Configuration of data processing device)
FIG. 15 shows a configuration example of a data processing apparatus according to the third embodiment of the present invention.
The data processing device 31 includes computing units 2A and 2B (an example of a computing device), an access control unit 32, a communication path switching unit 33, virtual communication path switching units 34A and 34B, and storage units 3A, 3B, and 3C ( An example of a storage device) and virtual storage units 35A and 35B (an example of a virtual storage area). Note that the computing units 2A and 2B are collectively referred to as the computing unit 2, and the storage units 3A, 3B, and 3C are collectively referred to as the storage unit 3. The virtual communication path switching units 34A and 34B are collectively referred to as a virtual communication path switching unit 34, and the virtual storage units 35A and 35B are collectively referred to as a virtual storage unit 35. In the same manner as the data processing device 1 in the first embodiment or the data processing device 21 in the second embodiment, an instruction is input to the data processing device 31 from the external input unit 50.
 演算部2及び記憶部3は、第1の実施の形態における演算部2及び記憶部3、もしくは第2の実施の形態における演算部2及び記憶部3と同様の機能を有する。また、演算部2は、アクセス制御部32からの指示に従い、仮想通信路切換え部34を制御し、演算部2と仮想記憶部35との通信路及び仮想記憶部35の属性を設定する機能を有する。 The calculation unit 2 and the storage unit 3 have the same functions as the calculation unit 2 and the storage unit 3 in the first embodiment, or the calculation unit 2 and the storage unit 3 in the second embodiment. Further, the calculation unit 2 has a function of controlling the virtual communication path switching unit 34 according to an instruction from the access control unit 32 and setting the communication path between the calculation unit 2 and the virtual storage unit 35 and the attributes of the virtual storage unit 35. Have.
 仮想記憶部35は、記憶部3の代替領域であり、演算部2が直接アクセスすることが可能な仮想的な記憶領域である。例えば、仮想記憶部35は、仮想メモリやキャッシュメモリなどである。 The virtual storage unit 35 is an alternative area of the storage unit 3 and is a virtual storage area that can be directly accessed by the calculation unit 2. For example, the virtual storage unit 35 is a virtual memory or a cache memory.
 仮想通信路切換え部34は、演算部2もしくはアクセス制御部32の指示に従って、演算部2と仮想記憶部35との間の通信路及び通信方向や仮想記憶部35の属性を切換える機能を有する。例えば、仮想通信路切換え部34は、プロセッサのMMU(メモリ管理ユニット)に代表されるような、プロセッサのメモリアドレスマップを管理するためのハードウェアやソフトウェアである。 The virtual communication path switching unit 34 has a function of switching the communication path and communication direction between the calculation unit 2 and the virtual storage unit 35 and the attributes of the virtual storage unit 35 in accordance with instructions from the calculation unit 2 or the access control unit 32. For example, the virtual communication path switching unit 34 is hardware or software for managing a memory address map of a processor, as represented by an MMU (memory management unit) of the processor.
 アクセス制御部32は、第1の実施の形態におけるアクセス制御部4、もしくは第2の実施の形態におけるアクセス制御部22と同等の機能を有する。ただし、アクセス制御部32は、仮想通信路切換え部34又は通信路切換え部33の処理方法を、直接又は演算部2を介して制御する機能を有する。すなわち、アクセス制御部32内の不図示のデータフロー制御部は、演算部2と仮想記憶部35との間や仮想記憶部35と記憶部3との間に発生したデータアクセスの内容に応じて、アクセス制御部32内の不図示の属性制御部、領域選択部及び通信路制御部の処理方法を決定する機能を有する。また、アクセス制御部32内の属性制御部は、データフロー制御部の指示に従い、記憶部3や仮想記憶部35の属性を設定する機能を有する。また、アクセス制御部32内の領域選択部は、データフロー制御部の指示に従い、記憶部3や仮想記憶部35内で利用するデータ領域を選択する。また、アクセス制御部32内の通信路制御部は、データフロー制御部の指示に従い、仮想記憶部35と記憶部3との対応関係を設定する。 The access control unit 32 has a function equivalent to that of the access control unit 4 in the first embodiment or the access control unit 22 in the second embodiment. However, the access control unit 32 has a function of controlling the processing method of the virtual channel switching unit 34 or the channel switching unit 33 directly or via the calculation unit 2. In other words, the data flow control unit (not shown) in the access control unit 32 depends on the content of data access that occurs between the calculation unit 2 and the virtual storage unit 35 or between the virtual storage unit 35 and the storage unit 3. In addition, the access control unit 32 has a function of determining a processing method of an attribute control unit (not shown), a region selection unit, and a communication path control unit. The attribute control unit in the access control unit 32 has a function of setting attributes of the storage unit 3 and the virtual storage unit 35 in accordance with instructions from the data flow control unit. The area selection unit in the access control unit 32 selects a data area to be used in the storage unit 3 or the virtual storage unit 35 in accordance with an instruction from the data flow control unit. Further, the communication path control unit in the access control unit 32 sets a correspondence relationship between the virtual storage unit 35 and the storage unit 3 in accordance with an instruction from the data flow control unit.
 通信路切換え部33は、第1の実施の形態における通信路切換え部5、もしくは第2の実施の形態における通信路切換え部23と同等の機能を有する。ただし、通信路切換え部33は、アクセス制御部32からの指示に従い、仮想記憶部35と記憶部3との間の対応関係を切換える機能を有する。 The communication path switching unit 33 has a function equivalent to that of the communication path switching unit 5 in the first embodiment or the communication path switching unit 23 in the second embodiment. However, the communication path switching unit 33 has a function of switching the correspondence relationship between the virtual storage unit 35 and the storage unit 3 in accordance with an instruction from the access control unit 32.
 なお、図15のデータ処理装置31は、第2の実施の形態におけるセキュリティレベル設定部25や負荷分散部24や異常検知部26を有していてもよい。 Note that the data processing device 31 in FIG. 15 may include the security level setting unit 25, the load distribution unit 24, and the abnormality detection unit 26 in the second embodiment.
 図16は、演算部2と仮想記憶部35との間の通信路及び通信方向、仮想記憶部35と記憶部3との間の通信路及び通信方向、仮想記憶部35の属性及び記憶部3の属性の設定の例を示す。なお、この図16では、図15の仮想通信路切換え部34A、34Bの記載を省略している。 16 shows the communication path and communication direction between the calculation unit 2 and the virtual storage unit 35, the communication path and communication direction between the virtual storage unit 35 and the storage unit 3, the attributes of the virtual storage unit 35, and the storage unit 3. An example of setting attributes is shown. In FIG. 16, the description of the virtual communication path switching units 34A and 34B in FIG. 15 is omitted.
 図16に示すように、演算部2Aと仮想記憶部35Aとの間に双方向の通信路が設定され、演算部2Aは仮想記憶部35Aに対してデータ読み出し及びデータ書き込みのフルアクセスを可能に設定されている。また、演算部2Bと仮想記憶部35Bとの間に双方向の通信路が設定され、演算部2Bは仮想記憶部35Bに対してデータ読み出し及びデータ書き込みのフルアクセスを可能に設定されている。 As shown in FIG. 16, a bi-directional communication path is set between the arithmetic unit 2A and the virtual storage unit 35A, and the arithmetic unit 2A enables full access to the virtual storage unit 35A for data reading and data writing. Is set. In addition, a bidirectional communication path is set between the calculation unit 2B and the virtual storage unit 35B, and the calculation unit 2B is set to allow full access for data reading and data writing to the virtual storage unit 35B.
 仮想記憶部35Aは、ユーザ領域36と特権領域37とに分かれている。仮想記憶部35Aのユーザ領域36と記憶部3Aの非共有ユーザ領域との間に双方向の通信路が設定され、仮想記憶部35Aのユーザ領域36はこの非共有ユーザ領域に対してデータ読み出し及びデータ書き込みのフルアクセスを可能に設定されている。また、仮想記憶部35Aの特権領域37から共有の記憶部3C-1への片方向の通信路が設定され、仮想記憶部35Aの特権領域37には記憶部3C-1に対してデータ書き込みのみを許可するように設定されている。また、共有の記憶部3C-2から仮想記憶部35Aの特権領域37への片方向の通信路が設定され、仮想記憶部35Aの特権領域37には記憶部3C-2からデータ読み出しのみを許可するように設定されている。なお、記憶部3C-1、記憶部3C-2は、図15の記憶部3Cの同じ領域又は別々の領域である。 The virtual storage unit 35A is divided into a user area 36 and a privilege area 37. A two-way communication path is set between the user area 36 of the virtual storage unit 35A and the non-shared user area of the storage unit 3A, and the user area 36 of the virtual storage unit 35A reads and writes data to the non-shared user area. It is set to allow full access for data writing. In addition, a one-way communication path is set from the privileged area 37 of the virtual storage unit 35A to the shared storage unit 3C-1, and only data is written to the storage unit 3C-1 in the privileged area 37 of the virtual storage unit 35A. Is set to allow. In addition, a one-way communication path from the shared storage unit 3C-2 to the privileged area 37 of the virtual storage unit 35A is set, and only data read from the storage unit 3C-2 is permitted to the privileged area 37 of the virtual storage unit 35A. It is set to be. The storage unit 3C-1 and the storage unit 3C-2 are the same area or different areas of the storage unit 3C in FIG.
 仮想記憶部35Bも、同様にユーザ領域36と特権領域37とに分かれている。仮想記憶部35Bのユーザ領域36と記憶部3Bの非共有ユーザ領域との間に双方向の通信路が設定され、仮想記憶部35Bのユーザ領域36はこの非共有ユーザ領域に対してデータ読み出し及びデータ書き込みのフルアクセスを可能に設定されている。また、仮想記憶部35Bの特権領域37から共有の記憶部3C-2への片方向の通信路が設定され、仮想記憶部35Bの特権領域37には記憶部3C-2に対してデータ書き込みのみを許可するように設定されている。また、共有の記憶部3C-1から仮想記憶部35Bの特権領域37への片方向の通信路が設定され、仮想記憶部35Bの特権領域37には記憶部3C-1からデータ読み出しのみを許可するように設定されている。 The virtual storage unit 35B is similarly divided into a user area 36 and a privilege area 37. A two-way communication path is set between the user area 36 of the virtual storage unit 35B and the non-shared user area of the storage unit 3B, and the user area 36 of the virtual storage unit 35B reads and writes data to this non-shared user area. It is set to allow full access for data writing. Further, a one-way communication path from the privileged area 37 of the virtual storage unit 35B to the shared storage unit 3C-2 is set, and only data is written to the storage unit 3C-2 in the privileged area 37 of the virtual storage unit 35B. Is set to allow. In addition, a one-way communication path from the shared storage unit 3C-1 to the privileged area 37 of the virtual storage unit 35B is set, and only data read from the storage unit 3C-1 is permitted to the privileged area 37 of the virtual storage unit 35B. It is set to be.
 この図16のように通信路と仮想記憶部35の属性と記憶部3の属性を設定することにより、実際の記憶部3ではアクセス制御を実施しているが、演算部2からは仮想記憶部35に対しては見掛け上フルアクセスが可能となる。 As shown in FIG. 16, access control is performed in the actual storage unit 3 by setting the communication path, the attribute of the virtual storage unit 35, and the attribute of the storage unit 3. Apparently full access to 35 is possible.
(アクセス制御部の処理例)
 図17は、アクセス制御部32の処理フローの例を示す。
 まず、アクセス制御部32は、演算部2と仮想記憶部35の間もしくは仮想記憶部35と記憶部3との間のデータフローを監視し、仮想記憶部35又は記憶部3内の特定の領域に対するアクセスが発生したか否かを監視する(ステップS1701)。例えば、このステップS1701では、図16に示したような仮想記憶部35内の特権領域37を特定の領域として、特権領域37へのアクセスであるか否かを判定する。ここで、特定の領域外へのアクセス、例えば仮想記憶部35内のユーザ領域36へのアクセスであれば、アクセス制御部32は処理を終了する。
(Processing example of the access control unit)
FIG. 17 shows an example of the processing flow of the access control unit 32.
First, the access control unit 32 monitors the data flow between the calculation unit 2 and the virtual storage unit 35 or between the virtual storage unit 35 and the storage unit 3, and a specific area in the virtual storage unit 35 or the storage unit 3. It is monitored whether or not an access has occurred (step S1701). For example, in step S1701, it is determined whether or not the access is to the privileged area 37 with the privileged area 37 in the virtual storage unit 35 as shown in FIG. 16 as a specific area. Here, if it is an access outside a specific area, for example, an access to the user area 36 in the virtual storage unit 35, the access control unit 32 ends the process.
 特定の領域に対するアクセスであった場合には、アクセス制御部32は、そのアクセスが、第1の実施の形態で説明したホワイトリストに登録されたような(もしくはブラックリストに登録されていないような)許可されたアクセスであるか否かを判定する(ステップS1702)。ホワイトリストに登録されていないような許可されていないアクセスである場合には、アクセス制御部32は、エラーを通知もしくは警告を発して(ステップS1708)、処理を終了する。 In the case of access to a specific area, the access control unit 32 seems to have registered the access in the white list (or not registered in the black list) described in the first embodiment. It is determined whether the access is permitted (step S1702). In the case of unauthorized access that is not registered in the white list, the access control unit 32 notifies an error or issues a warning (step S1708) and ends the process.
 ステップS1702において許可されたアクセスであると判定された場合には、アクセス制御部32は、演算部2と仮想記憶部35との間の通信路、通信方向や、仮想記憶部35と記憶部3との間の通信路、通信方向(図17では単に通信路と略記している)や、仮想記憶部35の属性や、記憶部3の属性に変更が必要か否かを判定する(ステップS1703)。変更が必要な場合には、アクセス制御部32は、発生したデータフローに使用可能な記憶部3や仮想記憶部35の領域が確保可能か否かを判定する(ステップS1704)。利用可能な領域が確保できない場合には、アクセス制御部32は、エラーを通知もしくは警告を発して(ステップS1708)、処理を終了する。利用可能な領域が確保できる場合には、アクセス制御部32は、演算部2と仮想記憶部35との間の通信路、通信方向や、仮想記憶部35と記憶部3との間の通信路、通信方向や、仮想記憶部35属性や、記憶部3の属性を設定する(ステップS1705)。 If it is determined in step S1702 that the access is permitted, the access control unit 32 determines the communication path and communication direction between the calculation unit 2 and the virtual storage unit 35, the virtual storage unit 35, and the storage unit 3. It is determined whether or not it is necessary to change the communication path, communication direction (simply abbreviated as communication path in FIG. 17), the attribute of the virtual storage unit 35, and the attribute of the storage unit 3 (step S1703). ). When the change is necessary, the access control unit 32 determines whether the area of the storage unit 3 or the virtual storage unit 35 that can be used for the generated data flow can be secured (step S1704). If an available area cannot be secured, the access control unit 32 notifies an error or issues a warning (step S1708) and ends the process. When an available area can be secured, the access control unit 32 determines the communication path between the calculation unit 2 and the virtual storage unit 35, the communication direction, and the communication path between the virtual storage unit 35 and the storage unit 3. The communication direction, the virtual storage unit 35 attribute, and the storage unit 3 attribute are set (step S1705).
 ステップS1703で変更が必要なかった場合や、ステップS1705で設定を行った後、アクセス制御部32は、実際に読み出し又は書き込みのデータアクセスが演算部2の要求通りに正常に実行されたか否かを判定する(ステップS1706)。例えば、ステップS1706では、発生したデータアクセスが、ステップS1705で設定した通信路や属性に適合していなければ、アクセス制御部32は異常と判定する。あるいはまた、複数の演算部2の間でのデータ通信であれば、データの受信側の演算部2が送信側の演算部2に対して受信を完了したことを割込み等で通知し、ステップS1706では、アクセス制御部32がこの通知に基づいて正常なデータの送受信の完了を判定してもよい。データアクセスが正常に完了しなかった場合には、アクセス制御部32は、エラーを通知もしくは警告を発して(ステップS1708)、処理を終了する。 If no change is necessary in step S1703, or after setting in step S1705, the access control unit 32 determines whether or not the data access for reading or writing is actually executed normally as requested by the arithmetic unit 2. Determination is made (step S1706). For example, in step S1706, if the generated data access does not conform to the communication path or attribute set in step S1705, the access control unit 32 determines that there is an abnormality. Alternatively, in the case of data communication among a plurality of calculation units 2, the calculation unit 2 on the data reception side notifies the transmission-side calculation unit 2 that reception has been completed by an interrupt or the like, and step S1706. Then, the access control unit 32 may determine the completion of normal data transmission / reception based on this notification. If the data access is not normally completed, the access control unit 32 notifies an error or issues a warning (step S1708), and ends the process.
 データアクセスが正常に実行された場合には、アクセス制御部32は、処理を継続する必要があるか否かを判定する(ステップS1707)。例えばデータアクセスが複数の記憶部3や演算部2を経由して処理される場合などには、ステップS1707において処理を継続する必要があると判定される。処理を継続する必要がある場合には、アクセス制御部32は、再びステップS1703以降の処理を実行する。処理の継続が不要であった場合には、アクセス制御部32は処理を終了する。 When the data access is normally executed, the access control unit 32 determines whether or not the process needs to be continued (step S1707). For example, when data access is processed via a plurality of storage units 3 or arithmetic units 2, it is determined in step S1707 that the process needs to be continued. When it is necessary to continue the process, the access control unit 32 executes the processes after step S1703 again. If it is not necessary to continue the process, the access control unit 32 ends the process.
(演算部2Aの側と演算部2Bの側との間でのデータ送信の例)
 図18は、図16に示したような通信路、通信方向及び属性が設定されており、且つ、図17のステップS1701における特定の領域が仮想記憶部35の特権領域37である場合に、演算部2Aと演算部2Bとの間でデータを送受信する場合のデータフローの例を示す。このうち、処理S1801~S1805は、演算部2Aの処理するプログラムが演算部2Bの処理するプログラムに対してデータを送信する場合のデータフローである。
(Example of data transmission between the computation unit 2A side and the computation unit 2B side)
FIG. 18 shows the calculation when the communication path, communication direction, and attribute as shown in FIG. 16 are set, and the specific area in step S1701 of FIG. 17 is the privileged area 37 of the virtual storage unit 35. The example of the data flow in the case of transmitting / receiving data between the part 2A and the calculating part 2B is shown. Among these, processing S1801 to S1805 is a data flow when the program processed by the calculation unit 2A transmits data to the program processed by the calculation unit 2B.
 まず、演算部2Aは、仮想記憶部35Aに対してデータを転送する(処理S1801)。ここで、実際には、図16に示したように、仮想記憶部35Aの特権領域37に対応した記憶部3C-1に対してデータの書き込みが実行される。 First, the computing unit 2A transfers data to the virtual storage unit 35A (processing S1801). Here, actually, as shown in FIG. 16, data is written to the storage unit 3C-1 corresponding to the privileged area 37 of the virtual storage unit 35A.
 次に、アクセス制御部32は、演算部2Aのデータアクセスが許可されたアクセスか否かを判定し、許可されたものであれば、記憶部3C-1の属性を、演算部2Bの仮想記憶部35B側からデータを読み出し可能な設定に変更する(処理S1802)。例えば、処理S1802では、アクセス制御部32は、記憶部3C-1の属性を、はじめは非共有として演算部2Aからのデータ書き込みのみを可能な状態に設定しておき、演算部2Aからのデータ書き込みが終了した時点で、演算部2Bからのデータ読み出しのみを可能な状態に変更する。また、演算部2Aは、演算部2Bに対して、割込みなどで通知する(処理S1803)。なお、図18の例では、通信路及び通信方向が図16に示す内容に設定されているという前提であるため、通信路及び通信方向の設定を改めて行うことはしていない。 Next, the access control unit 32 determines whether or not the data access of the calculation unit 2A is permitted access, and if permitted, the attribute of the storage unit 3C-1 is changed to the virtual storage of the calculation unit 2B. The setting is changed so that data can be read from the unit 35B side (step S1802). For example, in the process S1802, the access control unit 32 sets the attribute of the storage unit 3C-1 to a state in which only the data can be written from the calculation unit 2A as non-shared at first, and the data from the calculation unit 2A is set. When the writing is completed, the state is changed to a state in which only data reading from the calculation unit 2B is possible. Further, the calculation unit 2A notifies the calculation unit 2B by an interrupt or the like (processing S1803). In the example of FIG. 18, it is assumed that the communication path and the communication direction are set to the contents shown in FIG. 16, and therefore the communication path and the communication direction are not set again.
 次に、演算部2Bは、仮想記憶部35Bからデータを読み出す(処理S1804)。ここで、実際には、図16に示したように、仮想記憶部35Bの特権領域37に対応した記憶部3C-1からデータが読み出される。最後に、演算部2Bは、演算部2Aから正常にデータを受信したことを知らせるために、演算部2Aに対して割込みなどで通知する(処理S1805)。 Next, the calculation unit 2B reads data from the virtual storage unit 35B (processing S1804). Here, actually, as shown in FIG. 16, data is read from the storage unit 3C-1 corresponding to the privileged area 37 of the virtual storage unit 35B. Finally, the calculation unit 2B notifies the calculation unit 2A with an interrupt or the like in order to notify that the data has been normally received from the calculation unit 2A (processing S1805).
 処理S1806~S1810は、演算部2Bの処理するプログラムが演算部2Aの処理するプログラムに対してデータを送信する場合のデータフローである。まず、演算部2Bは、仮想記憶部35Bに対してデータを転送する(処理S1806)。ここで、実際には、図16に示したように、仮想記憶部35Bの特権領域37に対応した記憶部3C-2に対してデータの書き込みが実行される。 Processes S1806 to S1810 are data flows when the program processed by the calculation unit 2B transmits data to the program processed by the calculation unit 2A. First, the computing unit 2B transfers data to the virtual storage unit 35B (processing S1806). In practice, as shown in FIG. 16, data is written to the storage unit 3C-2 corresponding to the privileged area 37 of the virtual storage unit 35B.
 次に、アクセス制御部32は、演算部2Bのデータアクセスが許可されたアクセスか否かを判定し、許可されたものであれば、記憶部3C-2の属性を、演算部2Aの仮想記憶部35A側からデータを読み出し可能な設定に変更する(処理S1807)。例えば、処理S1807では、アクセス制御部32は、記憶部3C-2の属性を、はじめは非共有として演算部2Bからのデータ書き込みのみを可能な状態に設定しておき、演算部2Bからのデータ書き込みが終了した時点で、演算部2Aからのデータ読み出しのみを可能な状態に変更する。また、演算部2Bは、演算部2Aに対して、割込みなどで通知する(処理S1808)。 Next, the access control unit 32 determines whether or not the data access of the calculation unit 2B is permitted. If the access is permitted, the access control unit 32 sets the attribute of the storage unit 3C-2 to the virtual storage of the calculation unit 2A. The setting is changed so that data can be read from the unit 35A side (step S1807). For example, in process S1807, the access control unit 32 sets the attribute of the storage unit 3C-2 to be in a state where it is initially unshared so that only data can be written from the calculation unit 2B, and the data from the calculation unit 2B is set. When the writing is completed, the state is changed so that only data reading from the arithmetic unit 2A is possible. In addition, the calculation unit 2B notifies the calculation unit 2A by an interrupt or the like (processing S1808).
 次に、演算部2Aは、仮想記憶部35Aからデータを読み出す(処理S1809)。ここで、実際には、図16に示したように、仮想記憶部35Aの特権領域37に対応した記憶部3C-2からデータが読み出される。最後に、演算部2Aは、演算部2Bから正常にデータを受信したことを知らせるために、演算部2Bに対して割込みなどで通知する(処理S1810)。 Next, the computing unit 2A reads data from the virtual storage unit 35A (processing S1809). In practice, as shown in FIG. 16, data is read from the storage unit 3C-2 corresponding to the privileged area 37 of the virtual storage unit 35A. Finally, the arithmetic unit 2A notifies the arithmetic unit 2B by an interrupt or the like in order to notify that data has been normally received from the arithmetic unit 2B (processing S1810).
 この図18に示したデータフローにおいて、記憶部3C-1と記憶部3C-2としては、記憶部3Cの同じ領域を使用してもよいし、記憶部3Cの別々の領域を使用してもよい。別々の領域を使用する場合には、演算部2Aと演算部2Bとの間でのデータの送受信を全二重でセキュアに実行することが可能である。 In the data flow shown in FIG. 18, as the storage unit 3C-1 and the storage unit 3C-2, the same area of the storage unit 3C may be used, or separate areas of the storage unit 3C may be used. Good. When separate areas are used, data transmission / reception between the arithmetic unit 2A and the arithmetic unit 2B can be executed securely in full duplex.
 なお、図17には、アクセス制御部32が、ホワイトリストに登録されたような許可されたデータアクセスを実行させる例を示した。しかし、アクセス制御部32は、それ以外に、第1の実施の形態における図3のアクセス制御部4の処理フローと同様に、ホワイトリストにもブラックリストにも登録されていないデータアクセスを実行させてもよい。 FIG. 17 shows an example in which the access control unit 32 executes permitted data access as registered in the white list. However, the access control unit 32, other than that, executes data access that is not registered in the white list or the black list as in the processing flow of the access control unit 4 in FIG. 3 in the first embodiment. May be.
 以上に説明したように、第3の実施の形態によれば、演算部2Aや演算部2Bのプログラムは、仮想記憶部35に対しては自由にデータアクセスをすることが可能であるが、アクセス制御部32が、仮想記憶部35と記憶部3との間のデータアクセスを監視及び制御している。したがって、第1の実施の形態と全く同様な効果が得られることに加えて、演算部2が直接記憶部3にアクセスできないようにすることで、データ通信をより一層セキュアに実行することが可能である。 As described above, according to the third embodiment, the arithmetic unit 2A and the program of the arithmetic unit 2B can freely access data to the virtual storage unit 35. The control unit 32 monitors and controls data access between the virtual storage unit 35 and the storage unit 3. Therefore, in addition to obtaining the same effect as the first embodiment, it is possible to execute data communication more securely by preventing the arithmetic unit 2 from directly accessing the storage unit 3. It is.
 なお、本発明は上記の実施の形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含む。
 例えば、上記した実施の形態例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態例の構成の一部を他の実施の形態例の構成に置き換えることが可能であり、また、ある実施の形態例の構成に他の実施の形態例の構成を加えることも可能である。また、各実施の形態例の構成の一部について、他の構成の追加・置換、削除をすることが可能である。
Note that the present invention is not limited to the above-described embodiments, and includes other modifications and application examples without departing from the gist of the present invention described in the claims.
For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. A part of the configuration of an embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of an embodiment. Is also possible. Further, it is possible to add, replace, or delete other configurations for a part of the configuration of each embodiment.
 また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、光ディスク等の記録媒体に保持することができる。 In addition, each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Further, each of the above-described configurations, functions, and the like may be realized by software for interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files that realize each function can be held in a recording device such as a memory, a hard disk, or an SSD (Solid State Drive), or a recording medium such as an IC card, an SD card, or an optical disk. .
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 In addition, the control lines and information lines indicate what is considered necessary for the explanation, and not all control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.
 例えば、第1~第3の実施の形態において、アクセス制御部、通信路切換え部及び共有の記憶部を、回路の書き換えが可能なロジックデバイスであるFPGA(Field Programmable Gate Array)内に実装することにより、アクセス制御部の指示による通信路切換え部の処理を柔軟に変更可能である。 For example, in the first to third embodiments, an access control unit, a communication path switching unit, and a shared storage unit are mounted in a FPGA (Field Programmable Gate Array) that is a logic device that can rewrite a circuit. Thus, it is possible to flexibly change the processing of the communication path switching unit according to the instruction of the access control unit.
 1、21、31…データ処理装置、 2、2A、2B、2C、2D…演算部、 3、3A、3B、3C、3D…記憶部、 4、22、32…アクセス制御部、 5、23、33…通信路切換え部、 6…データフロー制御部、 7…属性制御部、 8…領域選択部、 9…通信路制御部、 10A、10B…ホワイトリスト、 11A、11B…ブラックリスト、 12…記憶部設定情報、 13…管理テーブル、 24…負荷分散部、 25…セキュリティレベル設定部、 26…異常検知部、 34A、34B…仮想通信路切換え部、 35A、35B…仮想記憶部、 36…ユーザ領域、 37…特権領域 1, 2, 31 ... data processing device, 2, 2A, 2B, 2C, 2D ... arithmetic unit, 3, 3A, 3B, 3C, 3D ... storage unit, 4, 22, 32 ... access control unit, 5, 23, 33: Communication channel switching unit, 6 ... Data flow control unit, 7 ... Attribute control unit, 8 ... Area selection unit, 9 ... Communication channel control unit, 10A, 10B ... White list, 11A, 11B ... Black list, 12 ... Memory Section setting information, 13 ... Management table, 24 ... Load distribution section, 25 ... Security level setting section, 26 ... Abnormality detection section, 34A, 34B ... Virtual communication path switching section, 35A, 35B ... Virtual storage section, 36 ... User area , 37 ... privileged area

Claims (12)

  1.  記憶装置と、
     前記記憶装置を利用してデータ処理を行う複数の演算装置と、
     前記演算装置と前記記憶装置との間の通信路及び通信方向を切換える通信路切換え部と、
     前記演算装置と前記記憶装置との間のデータフローを監視するデータフロー制御部と、
     前記データフロー制御部の指示に従い、複数の前記演算装置の間での前記記憶装置の共有の可否を含む前記記憶装置の属性を設定する属性制御部と、
     前記データフロー制御部の指示に従い、前記記憶装置内で利用するデータ領域を選択する領域選択部と、
     前記データフロー制御部の指示に従い、前記演算装置と前記記憶装置との間の通信路及び通信方向を設定する通信路制御部とを備え、
     前記データフロー制御部は、予め設定された前記演算装置が前記記憶装置にアクセスする際の通信規則と前記データフローの状態に応じて、前記属性制御部と前記領域選択部と前記通信路制御部とに指示し、前記通信路切換え部を介して前記記憶装置の属性を設定し、前記記憶装置内で利用するデータ領域を選択し、前記演算装置と前記記憶装置との間の通信路及び通信方向を設定するよう制御を行い、
     前記通信路切換え部は、これらの設定の内容に応じて前記演算装置と前記記憶装置との間の通信路及び通信方向を切換える
     データ処理装置。
    A storage device;
    A plurality of arithmetic devices that perform data processing using the storage device;
    A communication path switching unit that switches a communication path and a communication direction between the arithmetic device and the storage device;
    A data flow control unit for monitoring a data flow between the arithmetic device and the storage device;
    In accordance with an instruction from the data flow control unit, an attribute control unit that sets attributes of the storage device including whether or not the storage device can be shared among a plurality of the arithmetic devices;
    In accordance with instructions from the data flow control unit, an area selection unit that selects a data area to be used in the storage device,
    In accordance with an instruction from the data flow control unit, a communication channel control unit that sets a communication channel and a communication direction between the arithmetic device and the storage device,
    The data flow control unit includes the attribute control unit, the region selection unit, and the communication path control unit according to a communication rule when the arithmetic device that is set in advance accesses the storage device and a state of the data flow. And setting an attribute of the storage device via the communication path switching unit, selecting a data area to be used in the storage device, and a communication path and communication between the arithmetic device and the storage device Control to set the direction,
    The communication channel switching unit is a data processing device that switches a communication channel and a communication direction between the arithmetic device and the storage device in accordance with the contents of these settings.
  2.  前記データフロー制御部は、
     複数の前記演算装置の間で前記記憶装置を介したデータの通信を行うためのデータアクセスが発生した際に、前記演算装置と前記記憶装置との間の通信の許可又は不許可の判定を行い、
     前記通信を許可する場合には、複数の前記演算装置の間での前記記憶装置の共有の可否を含む前記記憶装置の属性を設定し、前記記憶装置内で利用するデータ領域を選択し、前記演算装置と前記記憶装置との間の通信路及び通信方向を切換えるよう制御を行うことにより、前記演算装置と前記記憶装置との間のデータ通信路を生成し、
     前記データアクセスが実行された後に、生成された前記データ通信路が新たに通信を許可する通信路として登録される
     請求項1に記載のデータ処理装置。
    The data flow control unit
    When data access for performing data communication via the storage device occurs between the plurality of arithmetic devices, the communication device determines whether communication between the arithmetic device and the storage device is permitted or not. ,
    When permitting the communication, set the attributes of the storage device including whether the storage device can be shared among a plurality of the computing devices, select a data area to be used in the storage device, By performing control to switch the communication path and communication direction between the arithmetic device and the storage device, a data communication path between the arithmetic device and the storage device is generated,
    The data processing apparatus according to claim 1, wherein after the data access is executed, the generated data communication path is newly registered as a communication path that permits communication.
  3.  データ処理に必要なセキュリティレベルを設定するセキュリティレベル設定部を備え、
     前記データフロー制御部は、前記セキュリティレベル設定部により設定された前記セキュリティレベルに応じて、複数の前記演算装置の間での前記記憶装置の共有の可否を含む前記記憶装置の属性を設定し、前記記憶装置内で利用するデータ領域を選択し、前記演算装置と前記記憶装置との間の通信路及び通信方向を切換えるよう制御を行う
     請求項1に記載のデータ処理装置。
    It has a security level setting part that sets the security level required for data processing.
    The data flow control unit sets attributes of the storage device including whether or not the storage device can be shared among the plurality of arithmetic devices according to the security level set by the security level setting unit, The data processing apparatus according to claim 1, wherein a data area to be used in the storage device is selected and control is performed to switch a communication path and a communication direction between the arithmetic device and the storage device.
  4.  前記演算装置と前記記憶装置との間で発生するデータフローを監視し、異常なデータアクセスを検知する異常検知部を備え、
     前記データフロー制御部は、前記異常検知部により異常なデータアクセスが検知された場合には、複数の前記演算装置の間での前記記憶装置の共有の可否を含む前記記憶装置の属性、前記演算装置と前記記憶装置との間の通信路及び通信方向のうち、少なくとも1つ以上を変更するよう制御を行う
     請求項1に記載のデータ処理装置。
    A data flow generated between the arithmetic device and the storage device is monitored, and an abnormality detection unit for detecting abnormal data access is provided.
    When the abnormal data access is detected by the abnormality detection unit, the data flow control unit includes the storage device attributes including whether the storage device can be shared among the plurality of arithmetic devices, the calculation The data processing device according to claim 1, wherein control is performed to change at least one of a communication path and a communication direction between the device and the storage device.
  5.  複数の前記演算装置のうち特定の前記演算装置のデータ処理の一部を、他の前記演算装置に移行するか否かを判定する負荷分散部を有し、
     前記負荷分散部は、前記演算装置同士が互いに同等の前記通信規則を有する場合には、特定の前記演算装置の前記データ処理の一部を、他の前記演算装置へ移行することを許可する
     請求項1に記載のデータ処理装置。
    A load distribution unit that determines whether or not a part of data processing of a specific arithmetic device among the plurality of arithmetic devices is transferred to another arithmetic device;
    The load distribution unit permits a part of the data processing of a specific arithmetic device to be transferred to another arithmetic device when the arithmetic devices have the same communication rule. Item 4. The data processing device according to Item 1.
  6.  前記負荷分散部は、前記演算装置同士が互いに同等の前記通信規則を有さない場合には、移行先の前記演算装置と前記記憶装置の通信路及び通信方向を、移行元である特定の前記演算装置の前記通信規則に従い、前記データフロー制御部に設定させる
     請求項5に記載のデータ処理装置。
    The load balancer, when the arithmetic devices do not have the same communication rule, the communication path and communication direction of the arithmetic device of the transfer destination and the storage device, the specific source that is the transfer source The data processing device according to claim 5, wherein the data flow control unit is set according to the communication rule of the arithmetic device.
  7.  前記負荷分散部は、
     データ処理の移行元の特定の前記演算装置及び移行先の前記演算装置について、データを扱うためのセキュリティ条件が一致するか否かを判定し、一致する場合には前記データ処理を移行し、
     また、前記セキュリティ条件が一致しない場合には、前記データフロー制御部に対し、移行元である特定の前記演算装置のセキュリティ条件に合わせて、移行先の前記演算装置及び前記演算装置の処理データを記憶する前記記憶装置のセキュリティ条件、並びに、前記記憶装置の属性を変更するよう指示し、移行先の前記演算装置を移行元の特定の前記演算装置と同等のセキュリティ条件とした上で前記データ処理を移行する
     請求項5又は6に記載のデータ処理装置。
    The load balancer
    For the specific arithmetic device of the data processing migration source and the arithmetic device of the migration destination, it is determined whether security conditions for handling data match, and if they match, the data processing is transferred,
    Further, if the security conditions do not match, the data flow control unit receives the processing data of the destination arithmetic device and the arithmetic device in accordance with the security condition of the specific arithmetic device that is the source of transfer. Instructing to change the security conditions of the storage device to be stored and the attributes of the storage device, and setting the migration destination arithmetic device as a security condition equivalent to the specific arithmetic device of the migration source, the data processing The data processing device according to claim 5 or 6.
  8.  前記記憶装置を仮想化した仮想記憶領域と、
     前記演算装置と前記仮想記憶領域との間の通信路及び通信方向を切換える仮想通信路切換え部と、
    をさらに備え、
     前記通信路切換え部は、前記仮想記憶領域と前記記憶装置との間の対応関係を切換え、
     前記データフロー制御部は、前記演算装置と前記仮想記憶領域との間又は前記仮想記憶領域と前記記憶装置との間のデータフローを監視して前記通信規則と照合し、
     前記属性制御部は、複数の前記演算装置の間での前記記憶装置の共有の可否を含む前記記憶装置及び前記仮想記憶領域の属性を設定し、
     前記領域選択部は、前記記憶装置と前記仮想記憶領域内で利用するデータ領域を選択し、
     前記通信路制御部は、前記仮想記憶領域と前記記憶装置との対応関係を設定し、
     前記データフロー制御部は、前記通信規則と前記データフローの状態に応じて、前記属性制御部と前記領域選択部と前記通信路制御部とに指示し、前記通信路切換え部を介して前記記憶装置の属性を設定し、前記記憶装置内で利用するデータ領域を選択し、前記仮想記憶領域を介した前記演算装置と前記記憶装置との間の通信路及び通信方向を設定するよう制御を行う
     請求項1に記載のデータ処理装置。
    A virtual storage area that virtualizes the storage device;
    A virtual communication path switching unit that switches a communication path and a communication direction between the arithmetic device and the virtual storage area;
    Further comprising
    The communication path switching unit switches the correspondence between the virtual storage area and the storage device;
    The data flow control unit monitors the data flow between the arithmetic device and the virtual storage area or between the virtual storage area and the storage device, and collates with the communication rule.
    The attribute control unit sets attributes of the storage device and the virtual storage area, including whether or not the storage device can be shared among a plurality of the arithmetic devices,
    The area selection unit selects a data area to be used in the storage device and the virtual storage area,
    The communication path control unit sets a correspondence relationship between the virtual storage area and the storage device,
    The data flow control unit instructs the attribute control unit, the region selection unit, and the communication path control unit according to the communication rule and the state of the data flow, and stores the memory via the communication path switching unit. Set device attributes, select a data area to be used in the storage device, and perform control to set a communication path and a communication direction between the arithmetic device and the storage device via the virtual storage region The data processing apparatus according to claim 1.
  9.  データ処理に必要なセキュリティレベルを設定するセキュリティレベル設定部を備え、
     前記データフロー制御部は、前記セキュリティレベル設定部により設定された前記セキュリティレベルに応じて、複数の前記演算装置の間での前記記憶装置の共有の可否を含む前記記憶装置の属性を設定し、前記記憶装置内で利用するデータ領域を選択し、前記演算装置と前記記憶装置との間の通信路及び通信方向を切換えるよう制御を行う
     請求項8に記載のデータ処理装置。
    It has a security level setting part that sets the security level required for data processing.
    The data flow control unit sets attributes of the storage device including whether or not the storage device can be shared among the plurality of arithmetic devices according to the security level set by the security level setting unit, The data processing apparatus according to claim 8, wherein a data area to be used in the storage device is selected, and control is performed to switch a communication path and a communication direction between the arithmetic device and the storage device.
  10.  前記演算装置と前記記憶装置との間で発生するデータフローを監視し、異常なデータアクセスを検知する異常検知部を備え、
     前記データフロー制御部は、前記異常検知部により異常なデータアクセスが検知された場合には、複数の前記演算装置の間での前記記憶装置の共有の可否を含む前記記憶装置の属性、前記演算装置と前記記憶装置との間の通信路及び通信方向のうち、少なくとも1つ以上を変更するよう制御を行う
     請求項8に記載のデータ処理装置。
    A data flow generated between the arithmetic device and the storage device is monitored, and an abnormality detection unit for detecting abnormal data access is provided.
    When the abnormal data access is detected by the abnormality detection unit, the data flow control unit includes the storage device attributes including whether the storage device can be shared among the plurality of arithmetic devices, the calculation The data processing device according to claim 8, wherein control is performed so as to change at least one of a communication path and a communication direction between the device and the storage device.
  11.  複数の前記演算装置のうち特定の前記演算装置のデータ処理の一部を、他の前記演算装置に移行するか否かを判定する負荷分散部を有し、
     前記負荷分散部は、前記演算装置同士が互いに同等の前記通信規則を有する場合には、特定の前記演算装置の前記データ処理の一部を、他の前記演算装置へ移行することを許可する
     請求項8に記載のデータ処理装置。
    A load distribution unit that determines whether or not a part of data processing of a specific arithmetic device among the plurality of arithmetic devices is transferred to another arithmetic device;
    The load distribution unit permits a part of the data processing of a specific arithmetic device to be transferred to another arithmetic device when the arithmetic devices have the same communication rule. Item 9. The data processing device according to Item 8.
  12.  記憶装置と該記憶装置を利用してデータ処理を行う複数の演算装置とを備えるデータ処理装置が、前記演算装置と前記記憶装置との間のデータフローを監視し、
     前記データ処理装置は、予め設定された前記演算装置が前記記憶装置にアクセスする際の通信規則と前記データフローの状態に応じて、複数の前記演算装置の間での前記記憶装置の共有の可否を含む前記記憶装置の属性を設定し、前記記憶装置内で利用するデータ領域を選択し、前記演算装置と前記記憶装置との間の通信路及び通信方向を設定し、
     前記データ処理装置は、これらの設定の内容に応じて前記演算装置と前記記憶装置との間の通信路及び通信方向を切換える
     セキュア通信方法。
    A data processing device comprising a storage device and a plurality of arithmetic devices that perform data processing using the storage device monitors the data flow between the arithmetic device and the storage device,
    The data processing device determines whether or not the storage device can be shared among the plurality of arithmetic devices according to a communication rule when the arithmetic device accesses the storage device and a state of the data flow. Setting the attributes of the storage device including, selecting a data area to be used in the storage device, setting a communication path and a communication direction between the arithmetic device and the storage device,
    The data processing device switches a communication path and a communication direction between the arithmetic device and the storage device according to the contents of these settings.
PCT/JP2014/054495 2014-02-25 2014-02-25 Data processing apparatus and secure communication method WO2015128933A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/054495 WO2015128933A1 (en) 2014-02-25 2014-02-25 Data processing apparatus and secure communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/054495 WO2015128933A1 (en) 2014-02-25 2014-02-25 Data processing apparatus and secure communication method

Publications (1)

Publication Number Publication Date
WO2015128933A1 true WO2015128933A1 (en) 2015-09-03

Family

ID=54008305

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/054495 WO2015128933A1 (en) 2014-02-25 2014-02-25 Data processing apparatus and secure communication method

Country Status (1)

Country Link
WO (1) WO2015128933A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61290565A (en) * 1985-06-19 1986-12-20 Yokogawa Electric Corp Multiprocessor coupling circuit
JP2000235558A (en) * 1999-02-16 2000-08-29 Hitachi Ltd Main storage sharing multiprocessor system and the sharing area setting method
US20030069938A1 (en) * 2001-10-04 2003-04-10 Russell Lance W. Shared memory coupling of network infrastructure devices
JP2008123031A (en) * 2006-11-08 2008-05-29 Toyota Motor Corp Shared memory management device and multiprocessor system equipped with the same device
JP2009199414A (en) * 2008-02-22 2009-09-03 Renesas Technology Corp Microcomputer

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61290565A (en) * 1985-06-19 1986-12-20 Yokogawa Electric Corp Multiprocessor coupling circuit
JP2000235558A (en) * 1999-02-16 2000-08-29 Hitachi Ltd Main storage sharing multiprocessor system and the sharing area setting method
US20030069938A1 (en) * 2001-10-04 2003-04-10 Russell Lance W. Shared memory coupling of network infrastructure devices
JP2008123031A (en) * 2006-11-08 2008-05-29 Toyota Motor Corp Shared memory management device and multiprocessor system equipped with the same device
JP2009199414A (en) * 2008-02-22 2009-09-03 Renesas Technology Corp Microcomputer

Similar Documents

Publication Publication Date Title
US20230110230A1 (en) Technologies for secure i/o with memory encryption engines
US8751741B2 (en) Methods and structure for implementing logical device consistency in a clustered storage system
JP4872001B2 (en) Memory access safety management
KR20190074194A (en) Direct host access to storage device memory space
JP6736456B2 (en) Information processing device and program
US8955144B2 (en) Protecting information processing system secrets from debug attacks
US20150244559A1 (en) Migration of full-disk encrypted virtualized storage between blade servers
CN100590614C (en) Hard disk data protecting method based on virtual technology and protecting system thereof
CN105765535B (en) The hardware virtualization module of exclusive controlled access is carried out to CPU
CN102271153A (en) Systems, methods, and apparatus to virtualize tpm accesses
TWI703469B (en) Secure input/output device management apparatus, method and system
KR102105760B1 (en) Heterogeneous isolated execution for commodity gpus
JP5100133B2 (en) Information processing device
WO2015131446A1 (en) Method and device for secure access control based on on-chip bus protocol
EP2081127A1 (en) Controller for controlling logical volume-related settings
US20160210260A1 (en) Resource domain partioning in a data processing system
JP4724640B2 (en) Storage virtualization switch
EP3274896B1 (en) Configuration of a memory controller for copy-on-write with a resource controller
JP2004151798A (en) Management computer for storage device and program
JP2010055548A (en) Switching device and copy control method
US8281157B2 (en) Storage system, control method therefor, and program
EP3782066B1 (en) Nop sled defense
WO2015128933A1 (en) Data processing apparatus and secure communication method
JP6721825B2 (en) Data protection program, data protection method, and data protection device
JP6193149B2 (en) Storage connection system, storage connection device, storage sharing method, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14883831

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14883831

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP