JP6923038B2 - Communication systems, communication methods, and programs - Google Patents
Communication systems, communication methods, and programs Download PDFInfo
- Publication number
- JP6923038B2 JP6923038B2 JP2020073728A JP2020073728A JP6923038B2 JP 6923038 B2 JP6923038 B2 JP 6923038B2 JP 2020073728 A JP2020073728 A JP 2020073728A JP 2020073728 A JP2020073728 A JP 2020073728A JP 6923038 B2 JP6923038 B2 JP 6923038B2
- Authority
- JP
- Japan
- Prior art keywords
- command data
- communication
- slave device
- data
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、通信システム、通信方法、及びプログラムに関する。 The present invention relates to communication systems, communication methods, and programs.
特許文献1には、通信マスタと、当該通信マスタからの指令に応じて動作する通信スレーブと、を有する通信システムにおいて、通信マスタから通信スレーブに指令が送信され、通信スレーブから通信マスタに動作結果が送信されることが記載されている。
In
本発明が解決しようとする課題は、例えば、同期通信可能な複数の産業機器を含む通信システムにおけるセキュリティを高めることである。 An object to be solved by the present invention is, for example, to enhance security in a communication system including a plurality of industrial devices capable of synchronous communication.
本発明の一側面に係る通信システムは、同期通信可能な複数の産業機器を含む通信システムであって、通信を行う複数の産業機器は、送信データを暗号化する暗号化部と、他の産業機器に前記送信データを送信する送信部と、前記他の産業機器から、暗号化された受信データを受信する受信部と、前記受信データを復号化する復号化部と、を有する。 The communication system according to one aspect of the present invention is a communication system including a plurality of industrial devices capable of synchronous communication, and the plurality of industrial devices that perform communication include an encryption unit that encrypts transmitted data and other industries. It has a transmission unit that transmits the transmission data to the device, a reception unit that receives encrypted reception data from the other industrial equipment, and a decoding unit that decodes the reception data.
本発明の一側面に係る通信方法は、同期通信可能な複数の産業機器の通信方法であって、送信データを暗号化し、前記複数の産業機器の間で前記送信データを送信し、前記複数の産業機器の間で暗号化された受信データを受信し、前記受信データを復号化する。 The communication method according to one aspect of the present invention is a communication method of a plurality of industrial devices capable of synchronous communication, in which transmission data is encrypted, the transmission data is transmitted between the plurality of industrial devices, and the plurality of transmission data are transmitted. Receives encrypted received data between industrial devices and decrypts the received data.
本発明の一側面に係るプログラムは、他の産業機器と同期通信可能な産業機器を、送信データを暗号化する暗号化部、前記他の産業機器に前記送信データを送信する送信部、前記他の産業機器から、暗号化された受信データを受信する受信部、前記受信データを復号化する復号化部、として機能させる。 The program according to one aspect of the present invention includes an encryption unit that encrypts transmission data of an industrial device capable of synchronous communication with another industrial device, a transmission unit that transmits the transmission data to the other industrial device, and the other. It functions as a receiving unit that receives encrypted received data and a decoding unit that decrypts the received data.
本発明の一側面によれば、前記通信システムは、通信を行う産業機器の組み合わせごとに、暗号化通信に関する設定を行う設定部、を有する。 According to one aspect of the present invention, the communication system has a setting unit for setting encrypted communication for each combination of industrial devices for communication.
本発明の一側面によれば、前記設定部は、通信を行う産業機器の組み合わせごとに、当該組み合わせに含まれる産業機器の機種に基づいて、暗号化通信に関する設定を行う。 According to one aspect of the present invention, the setting unit makes settings related to encrypted communication for each combination of industrial devices to be communicated based on the model of the industrial device included in the combination.
本発明の一側面によれば、前記暗号化部は、前記送信データの種類に基づいて、前記送信データを暗号化し、前記復号化部は、前記受信データの種類に基づいて、前記受信データを復号化する。 According to one aspect of the present invention, the encryption unit encrypts the transmission data based on the type of the transmission data, and the decryption unit encrypts the reception data based on the type of the reception data. Decrypt.
本発明の一側面によれば、前記暗号化部は、同期通信を利用するか否かに基づいて、前記送信データを暗号化し、前記復号化部は、同期通信を利用するか否かに基づいて、前記受信データを復号化する。 According to one aspect of the present invention, the encryption unit encrypts the transmitted data based on whether or not synchronous communication is used, and the decryption unit is based on whether or not synchronous communication is used. The received data is decrypted.
本発明の一側面によれば、前記通信システムでは、同期通信可能な3つ以上の産業機器が含まれており、暗号化通信を利用する産業機器の組み合わせと、暗号化通信を利用しない産業機器の組み合わせと、が混在可能である。 According to one aspect of the present invention, the communication system includes three or more industrial devices capable of synchronous communication, a combination of industrial devices that use encrypted communication, and an industrial device that does not use encrypted communication. Can be mixed with the combination of.
本発明の一側面によれば、前記通信システムでは、同期通信可能な3つ以上の産業機器が含まれており、第1の暗号方式で暗号化通信する産業機器の組み合わせと、第2の暗号方式で暗号化通信する産業機器の組み合わせと、が混在可能である。 According to one aspect of the present invention, the communication system includes three or more industrial devices capable of synchronous communication, and a combination of industrial devices for encrypted communication by the first encryption method and a second encryption. It is possible to mix with a combination of industrial equipment that performs encrypted communication by the method.
本発明の一側面によれば、通信を行う複数の産業機器は、自身に接続された機器を制御するための第1の制御回路とは別に、暗号化通信をするための第2の制御回路を有し、少なくとも前記暗号化部及び前記復号化部は、前記第2の制御回路により実現される。 According to one aspect of the present invention, the plurality of industrial devices that perform communication have a second control circuit for performing encrypted communication, in addition to the first control circuit for controlling the device connected to itself. At least the encryption unit and the decryption unit are realized by the second control circuit.
本発明の一側面によれば、前記通信システムは、前記通信システムのネットワーク構成が変更されたか否かを判定する判定部と、前記ネットワーク構成が変更されたと判定された場合に、暗号化通信に関する設定を行う設定部と、を有する。 According to one aspect of the present invention, the communication system relates to a determination unit for determining whether or not the network configuration of the communication system has been changed, and for encrypted communication when it is determined that the network configuration has been changed. It has a setting unit for setting.
本発明の一側面によれば、通信を行う複数の産業機器は、少なくとも1つの暗号方式を利用可能であり、前記通信システムは、通信を行う複数の産業機器に共通する暗号方式に基づいて、暗号化通信で利用する暗号方式を決定する決定部、を有する。 According to one aspect of the present invention, a plurality of industrial devices that perform communication can use at least one encryption method, and the communication system is based on a encryption method that is common to the plurality of industrial devices that perform communication. It has a determination unit that determines the encryption method used in encrypted communication.
本発明の一側面によれば、前記決定部は、通信を行う複数の産業機器に共通する暗号方式が複数存在した場合、当該複数の暗号方式の各々に定められた優先度に基づいて、暗号化通信で利用する暗号方式を決定する。 According to one aspect of the present invention, when there are a plurality of encryption methods common to a plurality of industrial devices that perform communication, the determination unit encrypts the encryption based on the priority determined for each of the plurality of encryption methods. Determine the encryption method to be used in the communication.
本発明の一側面によれば、通信を行う複数の産業機器は、デバッグが行われる場合には、暗号化通信を行わない。 According to one aspect of the present invention, a plurality of industrial devices that communicate do not perform encrypted communication when debugging is performed.
本発明の一側面によれば、通信を行う複数の産業機器には、マスタ機器と、前記マスタ機器からの指令に基づいて動作するスレーブ機器と、が含まれており、前記マスタ機器及び前記スレーブ機器は、前記暗号化部、前記送信部、前記受信部、及び前記復号化部を有する。 According to one aspect of the present invention, the plurality of industrial devices that perform communication include a master device and a slave device that operates based on a command from the master device, and the master device and the slave. The device has the encryption unit, the transmission unit, the reception unit, and the decryption unit.
上記発明によれば、例えば、同期通信可能な複数の産業機器を含む通信システムにおけるセキュリティを高めることができる。 According to the above invention, for example, security in a communication system including a plurality of industrial devices capable of synchronous communication can be enhanced.
[1.実施形態1]
本発明の発明者の見地によれば、同期通信可能な複数の産業機器を含む通信システムにおいて、悪意のある第三者がネットワーク上のデータを書き換えたり盗み見たりすることがある。しかしながら、従来の通信システムでは、通信システム内のデータが全て平文でやり取りされるので、セキュリティを十分に担保することができなかった。そこで本発明の発明者は、同期通信可能な複数の産業機器を含む通信システムにおけるセキュリティを高めるために鋭意研究開発を行った結果、新規かつ独創的な通信システム等に想到した。以降、本実施形態に係る通信システム等を詳細に説明する。
[1. Embodiment 1]
From the point of view of the inventor of the present invention, in a communication system including a plurality of industrial devices capable of synchronous communication, a malicious third party may rewrite or snoop data on the network. However, in the conventional communication system, all the data in the communication system is exchanged in plain text, so that the security cannot be sufficiently ensured. Therefore, the inventor of the present invention has devised a new and original communication system as a result of diligent research and development in order to enhance security in a communication system including a plurality of industrial devices capable of synchronous communication. Hereinafter, the communication system and the like according to the present embodiment will be described in detail.
[1−1.通信システムの全体構成]
図1は、実施形態に係る通信システムの全体構成の一例を示す図である。図1に示すように、通信システム1は、コントローラ10、モータ制御装置20A〜20D、モータ30A〜30D、センサ40A〜40D、及びエンコーダ50A〜50Dを含む。以降、モータ制御装置20A〜20D、モータ30A〜30D、センサ40A〜40D、及びエンコーダ50A〜50Dの各々を特に区別する必要のないときは、単にモータ制御装置20、モータ30、センサ40、及びエンコーダ50と記載する。
[1-1. Overall configuration of communication system]
FIG. 1 is a diagram showing an example of the overall configuration of the communication system according to the embodiment. As shown in FIG. 1, the
コントローラ10は、モータ制御装置20を制御する装置である。本実施形態では、コントローラ10が4台のモータ制御装置20を制御する場合を説明するが、コントローラ10が制御するモータ制御装置20の台数は、任意の数であってよく、例えば、1台、2台、3台、又は5台以上であってもよい。また例えば、コントローラ10には、モータ制御装置20だけでなく、センサ類又は入出力機器などが接続されていてもよい。また例えば、通信システム1には、複数台のコントローラ10が含まれていてもよい。
The
例えば、コントローラ10は、CPU11、記憶部12、及び通信部13を含む。CPU11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM、EEPROM、及びハードディスクを含み、各種プログラムやデータを記憶する。CPU11は、これらプログラムやデータに基づいて各種処理を実行する。通信部13は、ネットワークカードや各種通信コネクタ等の通信インタフェースを含み、他の装置との通信を行う。
For example, the
モータ制御装置20は、モータ30を制御する装置である。モータ制御装置20は、サーボアンプ又はサーボパック(登録商標)と呼ばれることもある。本実施形態では、モータ制御装置20が1台のモータ30を制御する場合を説明するが、モータ制御装置20は、複数台のモータ30を制御してもよい。更に、モータ制御装置20には、モータ30、センサ40、及びエンコーダ50だけでなく、入出力機器などが接続されていてもよい。モータ制御装置20は、コントローラ10から受信した指令に基づいて、電力線で接続されたモータ30に対する電圧を制御する。モータ30は、回転式であってもよいしリニア式であってもよい。
The
例えば、モータ制御装置20Aは、CPU21A、記憶部22A、通信部23A、及びSOC(System On Chip)24Aを含む。CPU21A、記憶部22A、及び通信部23Aの各々の物理的構成は、CPU11、記憶部12、及び通信部13と同様である。
For example, the
SOC24Aは、チップ上に特定の目的の機能を集約させた回路である。本実施形態では、SOC24Aは、暗号化通信に特化した回路であり、例えば、CPU240A及び暗号チップ241Bを含む。CPU240Aの物理的構成は、CPU11と同様であり、例えば、暗号化通信用のファームウェアが展開される。暗号チップ241Bは、例えば、鍵を記憶するメモリと、特定の暗号方式に特化した演算を実行する演算回路と、を含む。暗号チップ241Bは、CPU240Aの指示により、メモリに記憶された鍵に基づいて、暗号化及び復号化の演算を実行する。
The SOC24A is a circuit in which functions of a specific purpose are integrated on a chip. In the present embodiment, the SOC24A is a circuit specialized for encrypted communication, and includes, for example, a CPU 240A and an encryption chip 241B. The physical configuration of the CPU 240A is the same as that of the
なお、SOC24Aは、モータ制御装置20Aの製造時点で内蔵されていてもよいし、モータ制御装置20Aの購入後にユーザがSOC24Aを取り付けてもよい。また例えば、SOC24Aは、モータ制御装置20Aの筐体に内蔵されるのではなく、USB端子等の入出力部を利用して外付けされてもよい。また、SOC24Aの物理的構成は、上記説明した例に限られず、暗号化及び復号化の演算が可能な構成を有していればよい。例えば、SOC24Aは、暗号チップ241Aの代わりに、サブのCPUを有していてもよく、当該CPUにより、暗号化及び復号化の演算が実行されてもよい。また例えば、特に暗号チップ241Aを用意せずに、CPU240Aが暗号化及び復号化の演算を実行してもよい。
The SOC 24A may be built in at the time of manufacturing the
モータ制御装置20B及び20Dの物理的構成は、モータ制御装置20Aと同様である。即ち、CPU21B,21D、記憶部22B,22D、通信部23B,23D、及びSOC24B,24Dの各々の物理的構成は、CPU21A、記憶部22A、通信部23A、及びSOC24Aと同様である。モータ制御装置20Cは、CPU21C、記憶部22C、及び通信部23Cを含む。これらの各々の物理的構成は、CPU21A、記憶部22A、及び通信部23Aと同様である。ただし、モータ制御装置20Cは、暗号化通信に対応しておらず、SOCを有しない。なお、以降の説明では、モータ制御装置20に含まれる個々の構成を区別しないときは、CPU21、記憶部22、通信部23、及びSOC24といったように、末尾のアルファベットの符号を省略する。
The physical configuration of the
なお、モータ制御装置20のCPU21は、自身に接続された機器を制御するための第1の制御回路の一例であり、SOC24は、暗号化通信をするための第2の制御回路の一例である。制御回路は、任意の計算を行うために作成された回路基板であり、CPU21のように汎用的な処理を実行可能であってもよいし、SOC24のように特定目的の処理に特化したものであってもよい。一般的に、モータ制御装置20は、コストを抑えるために必要最低限の性能のCPU21を搭載することが多い。この場合、暗号化通信の計算処理に耐えられない(処理に遅延が発生する)ことがあるので、本実施形態では、モータ制御装置20にSOC24を搭載することにしているが、CPU21が十分な性能を有する場合には、SOC24を搭載せずに、CPU21が暗号化通信の計算処理を実行してもよい。
The CPU 21 of the
センサ40は、モータ制御装置20又はモータ30の動作状況を検出する。センサ40は、物理量を検出可能なセンサであればよく、例えば、トルクセンサ、温度センサ、力センサ、又はモーションセンサなどである。エンコーダ50は、モータ30の位置又は速度を検出する機器であり、例えば、光学式又は磁気式のモータエンコーダである。エンコーダ50もセンサの一種である。モータ制御装置20は、センサ40により検出された物理量やエンコーダ50により検出されたフィードバック速度を、任意のタイミングでコントローラ10に送信する。
The sensor 40 detects the operating status of the
なお、コントローラ10及びモータ制御装置20の各々に記憶されるものとして説明するプログラム及びデータは、ネットワークNやインターネットなどを介して供給されるようにしてもよい。また、コントローラ10及びモータ制御装置20の各々のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力部(例えば、USB端子)が含まれていてもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して供給されるようにしてもよい。また例えば、コントローラ10及びモータ制御装置20の各々は、モータ制御などの特定用途向けの集積回路(ASIC)を有していてもよい。例えば、SOC24についても、SOCとしての構成、CPUとASICなどの構成など回路のハードウェア構成は適宜設定可能である。
The programs and data described as being stored in each of the
[1−2.通信システムの概要]
通信システム1では、コントローラ10とモータ制御装置20とが通信する。コントローラ10及びモータ制御装置20の各々は、産業機器の一例である。このため、本実施形態でコントローラ10又はモータ制御装置20と記載した箇所は、産業機器と読み替えることができる。
[1-2. Overview of communication system]
In the
産業機器は、人間が行う作業の補助又は代行をする機器及びその周辺機器の総称である。例えば、コントローラ10及びモータ制御装置20以外にも、ロボットコントローラ、産業用ロボット、インバータ、コンバータ、工作機械、又はPLC等は、産業機器に相当する。
Industrial equipment is a general term for equipment that assists or acts on behalf of human work and its peripheral equipment. For example, in addition to the
本実施形態では、通信を行う複数の産業機器には、マスタ機器と、マスタ機器からの指令に基づいて動作するスレーブ機器と、が含まれている場合を説明するが、特にマスタとスレーブの関係がなくてもよい。別の言い方をすれば、産業機器の間には、主従関係又は上下関係が存在しなくてもよい。 In the present embodiment, a case where a plurality of industrial devices that perform communication include a master device and a slave device that operates based on a command from the master device will be described. In particular, the relationship between the master and the slave will be described. It is not necessary to have. In other words, there does not have to be a master-slave relationship or a hierarchical relationship between industrial equipment.
マスタ機器とは、スレーブ機器を制御する機器であり、スレーブ機器に対して指令を送信する機器である。別の言い方をすれば、マスタ機器は、スレーブ機器から動作状態を取得する機器である。スレーブ機器とは、マスタ機器からの指令に基づいて動作する機器であり、マスタ機器により制御される機器である。別の言い方をすれば、スレーブ機器は、マスタ機器に対して自身の動作状態を送信する機器である。本実施形態では、コントローラ10がマスタ機器に相当し、モータ制御装置20がスレーブ機器に相当する。
A master device is a device that controls a slave device and transmits a command to the slave device. In other words, the master device is a device that acquires the operating state from the slave device. A slave device is a device that operates based on a command from a master device, and is a device controlled by the master device. In other words, a slave device is a device that transmits its own operating state to the master device. In this embodiment, the
コントローラ10は、モータ制御装置20に対して指令を送信し、モータ制御装置20は、指令に基づいてモータ30を動作させる。コントローラ10とモータ制御装置20とは、いわゆるフィールドネットワークであるネットワークNによって接続され、任意の通信プロトコルを利用して通信が行われる。本実施形態の通信システム1では、コントローラ10及びモータ制御装置20(複数の産業機器の一例)の各々は、同期通信可能である。
The
同期通信とは、送信側の機器がデータを送信するタイミングと、受信側の機器がデータを受信するタイミングと、を合わせる通信方式である。同期通信では、データ通信のリクエストが送信されてからレスポンスを受信するまでの間は、原則として他の処理は実行されない。このため、送信側の機器は、受信側の機器にデータを送信した後は、レスポンスを受信するのを待機する。受信側の機器は、送信側の機器からデータを受信すると、すぐに処理を実行し、送信側の機器にレスポンスとして処理結果を返す。送信側の機器は、処理結果を受信すると、次の処理に移行する。同期通信が行われない場合には、非同期通信を利用して通信が行われる。 Synchronous communication is a communication method that matches the timing at which the transmitting device transmits data and the timing at which the receiving device receives data. In synchronous communication, in principle, no other processing is executed from the time when the data communication request is transmitted until the time when the response is received. Therefore, the transmitting device waits for receiving the response after transmitting the data to the receiving device. When the receiving device receives data from the transmitting device, it immediately executes the process and returns the processing result as a response to the transmitting device. When the device on the transmitting side receives the processing result, it shifts to the next processing. When synchronous communication is not performed, communication is performed using asynchronous communication.
非同期通信とは、送信側の機器がデータを送信するタイミングと、受信側の機器がデータを受信するタイミングと、を合わせずに通信を行う通信方式である。非同期通信では、データ通信のリクエストが送信されてからレスポンスを受信するまでの間に、他の処理を実行可能である。このため、非同期通信では、送信側の機器は、受信側の機器にデータを送信してからレスポンスを受信するまでの間に、他の処理を実行可能である。また、非同期通信では、受信側の機器は、送信側の機器からデータを受信しても、すぐに処理を実行するとは限らない。受信側の機器は、所定の条件が充足されるまで処理の実行を待機したり、同期通信の処理を優先して実行したりする。 Asynchronous communication is a communication method in which communication is performed without matching the timing at which the transmitting device transmits data and the timing at which the receiving device receives data. In asynchronous communication, other processing can be executed between the time when a data communication request is transmitted and the time when a response is received. Therefore, in asynchronous communication, the transmitting device can execute other processing between the time when the data is transmitted to the receiving device and the time when the response is received. Further, in asynchronous communication, the receiving device does not always execute the process immediately even if the data is received from the transmitting device. The device on the receiving side waits for the execution of the process until a predetermined condition is satisfied, or preferentially executes the synchronous communication process.
同期通信可能とは、同期通信を利用できるネットワーク環境及び通信プロトコルが整っていることである。コントローラ10とモータ制御装置20は、必ずしも全ての通信で同期通信をする必要はなく、同期通信と非同期通信を併用してもよいし、同期通信以外の通信方式を利用してもよい。別の言い方をすれば、コントローラ10とモータ制御装置20は、ネットワーク環境及び通信プロトコルとしては同期通信を利用できるけれども、あえて同期通信を利用せずに他の通信方式を利用してもよい。
Synchronous communication is possible when the network environment and communication protocol that can use synchronous communication are in place. The
本実施形態では、コントローラ10及びモータ制御装置20の各々は、暗号化通信可能である。暗号化通信は、データが暗号化される通信方式である。暗号方式自体は、種々の暗号方式を利用可能であり、例えば、DESやFEALなどの共通鍵暗号方式であってもよいし、RSAやDSAなどの公開鍵暗号方式であってもよい。
In the present embodiment, each of the
暗号化通信可能とは、暗号化通信を利用できるネットワーク環境及び通信プロトコルが整っていることである。コントローラ10とモータ制御装置20は、必ずしも全ての通信で暗号化通信をする必要はなく、暗号化通信と非暗号化通信を併用してもよい。非暗号化通信とは、暗号化通信を利用しない方式であり、暗号化せずに平文で通信する方式である。別の言い方をすれば、コントローラ10とモータ制御装置20は、ネットワーク環境及び通信プロトコルとしては暗号化通信を利用できるけれども、あえて非暗号化通信を利用してもよい。
Encrypted communication is possible when the network environment and communication protocol that can use encrypted communication are in place. The
本実施形態では、コントローラ10は、暗号化通信に対応しているが、モータ制御装置20は、暗号化通信に対応している機種と、暗号化通信に対応していない機種と、が存在する場合について説明する。即ち、通信システム1には、暗号化通信に対応している機種だけが含まれていてもよいが、本実施形態では、暗号化通信に対応している機種と、暗号化通信に対応していない機種と、が通信システム1内に混在している場合を説明する。
In the present embodiment, the
例えば、モータ制御装置20A,20B,20Dは、暗号化通信に対応した機種であり、SOC24を有しているが、モータ制御装置20Cは、暗号化通信に対応していない機種であり、SOC24を有していない。このため、コントローラ10とモータ制御装置20A,20B,20Dとの通信は、暗号化通信を利用可能であるが、コントローラ10とモータ制御装置20Cとの通信は、暗号化通信を利用可能ではないので、全て平文で行われる。
For example, the
また例えば、モータ制御装置20A,20B,20Dの暗号方式が互いに同じであり、単一の暗号方式だけが用いられてもよいが、本実施形態では、複数の暗号方式が混在する場合を説明する。例えば、モータ制御装置20A,20Bは、DESを利用してコントローラ10と暗号化通信を行い、モータ制御装置20Dは、RSAを利用してコントローラ10と暗号化通信を行う。コントローラ10は、これら複数の暗号方式に対応可能であるものとする。更に、同じ暗号方式であったとしても、異なるビット数(暗号強度)の方式が混在してもよい。例えば、64ビットのDESと、128ビットのDESと、が混在していてもよい。
Further, for example, the encryption methods of the
以上のように、本実施形態では、コントローラ10とモータ制御装置20との間で暗号化通信を実現することにより、同期通信可能なコントローラ10とモータ制御装置20を含む通信システム1におけるセキュリティを高めるようになっている。以降、通信システム1の詳細を説明する。
As described above, in the present embodiment, by realizing encrypted communication between the
[1−3.通信システムで実現される機能]
図2は、通信システム1で実現される機能を示す機能ブロック図である。ここでは、コントローラ10及びモータ制御装置20の各々において実現される機能について説明する。なお、モータ制御装置20A,20B,20Dは、同様の機能が実現されるので、図2では1つにまとめて示している。
[1-3. Functions realized by communication systems]
FIG. 2 is a functional block diagram showing the functions realized by the
[1−3−1.コントローラにおいて実現される機能]
図2に示すように、コントローラ10では、データ記憶部100、判定部101、設定部102、暗号化部103、送信部104、受信部105、及び復号化部106が実現される。データ記憶部100は、記憶部12を主として実現され、判定部101、設定部102、暗号化部103、送信部104、受信部105、及び復号化部106は、CPU11を主として実現される。
[1-3-1. Functions realized in the controller]
As shown in FIG. 2, in the
[データ記憶部]
データ記憶部100は、通信を行うために必要なデータを記憶する。例えば、データ記憶部100は、モータ制御装置20の機種ごとに暗号化通信の対応状況が示された機種データDT1と、モータ制御装置20ごとに暗号化通信の設定内容が示された設定データDT2と、を記憶する。
[Data storage]
The
図3は、機種データDT1のデータ格納例を示す図である。図3に示すように、機種データDT1には、モータ制御装置20の機種、暗号化通信の可否、及び暗号方式が示されている。機種は、モータ制御装置20の種類であり、型式又は型番と呼ばれることもある。機種は、モータ制御装置20のメーカが指定した記号列によって示されてもよいし、モータ制御装置20に付与された名前によって示されてもよい。
FIG. 3 is a diagram showing a data storage example of the model data DT1. As shown in FIG. 3, the model data DT1 shows the model of the
暗号化通信の可否は、暗号化通信が可能か否かである。本実施形態では、暗号化通信が可能な機種については、対応している暗号方式の種類が示されるものとするが、全機種で同一形式の暗号を用いる場合には、暗号化通信の可否のみが示されてもよい。機種データDT1は、メーカが用意したものがダウンロードされてもよいし、ユーザが作成してもよい。なお、機種データDT1には、暗号化通信の可否が特に示されなくてもよく、暗号化通信に対応している機種のリストのみが示されてもよい。これとは逆に、機種データDT1には、暗号化通信に対応していない機種のリストが示されてもよい。 Whether or not encrypted communication is possible depends on whether or not encrypted communication is possible. In this embodiment, it is assumed that the types of encryption methods supported are shown for the models capable of encrypted communication, but when the same type of encryption is used for all models, only the availability of encrypted communication is indicated. May be shown. The model data DT1 may be downloaded by the manufacturer or created by the user. Note that the model data DT1 does not have to particularly indicate whether or not encrypted communication is possible, and may only show a list of models that support encrypted communication. On the contrary, the model data DT1 may show a list of models that do not support encrypted communication.
図3のデータ格納例であれば、「X1」という機種は、DESに対応しており、「X2」という機種は、RSAとDESに対応している。「X3」という機種は、RSAに対応しており、「X4」という機種は、暗号化通信に対応していない。例えば、モータ制御装置20A,20Bは、機種「X1」であり、DESに対応している。また例えば、モータ制御装置20Cは、機種「X4」であり、暗号化通信に対応していない。また例えば、モータ制御装置20Dは、機種「X3」であり、RSAに対応している。
In the data storage example of FIG. 3, the model "X1" corresponds to DES, and the model "X2" corresponds to RSA and DES. The model "X3" supports RSA, and the model "X4" does not support encrypted communication. For example, the
なお、図3では、暗号方式だけが機種データDT1に示されているが、例えば、利用可能なビット数も機種データDT1に示されていてもよい。また例えば、機種データDT1には、単一のメーカの機種だけが示されてもよいし、複数のメーカの機種が示されてもよい。また例えば、ある特定のメーカだけでなく、複数のメーカが暗号化通信に対応可能であってもよく、この場合、メーカごとに、別々の機種データDT1を用意してもよい。 In FIG. 3, only the encryption method is shown in the model data DT1, but for example, the number of available bits may also be shown in the model data DT1. Further, for example, the model data DT1 may show only the models of a single manufacturer, or may indicate the models of a plurality of manufacturers. Further, for example, not only a specific manufacturer but also a plurality of manufacturers may be able to support encrypted communication. In this case, different model data DT1 may be prepared for each manufacturer.
図4は、設定データDT2のデータ格納例を示す図である。図4に示すように、設定データDT2には、コントローラ10の通信相手(即ち、モータ制御装置20)ごとに、暗号通信の利用有無、利用する暗号方式、及び利用する鍵が示される。鍵は、暗号化と復号化の少なくとも一方で用いられる情報であり、例えば、共通鍵暗号方式であれば、暗号化と復号化の両方で利用される共通鍵であり、公開鍵暗号方式であれば、暗号化で利用される公開鍵と復号化で利用される秘密鍵である。鍵は、所定の鍵生成アルゴリズムで生成されてもよいし、ユーザが入力した任意の記号列であってもよい。
FIG. 4 is a diagram showing a data storage example of the setting data DT2. As shown in FIG. 4, the setting data DT2 shows whether or not encrypted communication is used, the encryption method to be used, and the key to be used for each communication partner (that is, the motor control device 20) of the
図4のデータ格納例であれば、コントローラ10とモータ制御装置20A,20Bとの間で、鍵「Y1」を利用してDESの暗号化通信が行われることが示されている。なお、モータ制御装置20Aが利用する鍵と、モータ制御装置20Bが利用する鍵と、は同じであってもよいし異なっていてもよい。また例えば、コントローラ10とモータ制御装置20Cとの間では、暗号化通信が行われないことが示されている。また例えば、コントローラ10とモータ制御装置20Dとの間では、鍵「Y2」(公開鍵と秘密鍵のセット)を利用してRSAの暗号化通信が行われることが示されている。
In the data storage example of FIG. 4, it is shown that DES encrypted communication is performed between the
本実施形態では、暗号化通信で利用される鍵がデータ記憶部100に予め記憶されている場合を説明するが、乱数等を利用してその場で鍵が生成され、コントローラ10とモータ制御装置20との間で交換されてもよい。データ記憶部100は、少なくとも1つの暗号方式の鍵を記憶すればよく、例えば、ある1つの暗号方式の鍵だけを記憶してもよいし、複数の暗号方式の各々の鍵を記憶してもよい。また、データ記憶部100は、ある暗号方式に対し、少なくとも1つの鍵を記憶すればよく、例えば、複数の通信相手で共通の1つの鍵だけを記憶してもよいし、通信相手によって使い分けるために複数の鍵を記憶してもよい。
In the present embodiment, the case where the key used in the encrypted communication is stored in the
なお、データ記憶部100が記憶するデータは、上記の例に限られない。例えば、データ記憶部100は、暗号化通信で利用される暗号アルゴリズムを記憶する。本実施形態では、暗号アルゴリズムは、暗号化の計算式と復号化の計算式とを含むものとするが、暗号化の計算式と復号化の計算式とは、データとして別々であってもよい。他にも例えば、データ記憶部100は、後述する機器情報を記憶してもよいし、モータ制御装置20のIPアドレスを記憶してもよい。また例えば、データ記憶部200は、モータ制御装置20に対する指令が時系列的に示されたプログラム又はパラメータを記憶してもよいし、モータ制御装置20から受信した応答データやトレースデータなどを記憶してもよい。
The data stored by the
[判定部]
判定部101は、通信システム1のネットワーク構成が変更されたか否かを判定する。ネットワーク構成とは、ネットワークNに接続された産業機器の構成(通信システム1に含まれる産業機器の構成)であり、例えば、産業機器そのものを意味してもよいし、産業機器のハードウェア構成(部品構成)であってもよい。ネットワークNに何の産業機器が接続されているかは、ネットワーク構成の一例である。また、ネットワークNに接続された産業機器がどのようなハードウェア構成(例えば、通信インタフェースの性能やSOC24の有無など)を有しているかは、ネットワーク構成の一例である。
[Judgment unit]
The
例えば、判定部101は、産業機器が追加、除外、又は交換された場合に、ネットワーク構成が変更されたと判定する。また例えば、判定部101は、産業機器自体は追加、除外、又は交換されていないが、産業機器のハードウェア構成が追加、除外、又は交換された場合(例えば、通信インタフェースが交換されたりSOC24が追加されたりした場合)に、ネットワーク構成が変更されたと判定する。
For example, the
本実施形態では、ネットワーク構成が変更された場合に、ユーザが所定の変更操作を行うものとする。このため、判定部101は、変更操作が行われたか否かを判定することによって、ネットワーク構成が変更されたか否かを判定する。変更操作は、ネットワーク構成を変更した場合にユーザが行う所定の操作であればよい。例えば、ユーザは、エンジニアリングツールがインストールされたパーソナルコンピュータ等をコントローラ10に接続し、変更操作を行う。
In the present embodiment, when the network configuration is changed, the user performs a predetermined change operation. Therefore, the
ユーザが変更操作を行うと、コントローラ10のデータ記憶部100には、フラグ等の情報を利用して、変更操作が行われた旨が記録される。当該情報は、変更操作が行われたか否かを示し、変更操作が行われた場合に第1の値となり、変更操作が行われない場合に第2の値となる。判定部101は、当該情報を参照することによって判定処理を実行する。判定部101は、変更操作が行われていない場合には、ネットワーク構成が変更されたと判定せず、変更操作が行われた場合に、ネットワーク構成が変更されたと判定する。
When the user performs the change operation, the
なお、判定部101の判定方法は、上記の例に限られない。ユーザがネットワーク構成の変更を手動で指示するのではなく、判定部101は、ネットワークNに接続されたモータ制御装置20から受信した情報を利用して判定処理を実行してもよい。例えば、判定部101は、コンフィグレーション時や電源投入時などにおいて取得される機器情報に基づいて、判定処理を実行する。
The determination method of the
機器情報は、ネットワークNに接続されている機器を示す情報であり、例えば、機器名、機種、シリアル番号、又はIPアドレスなどである。機器情報は、ネットワークNに接続された機器に記憶される。なお、機器情報には、当該機器のハードウェア構成が示されてもよく、例えば、CPU21の種類や性能、又は、SOC24の有無が示されてもよい。コントローラ10は、過去に取得された機器情報をデータ記憶部100に記録しておき、判定部101は、最新の機器情報と過去の機器情報とが一致していれば、ネットワーク構成が変更されたと判定せず、これらが一致していなければネットワーク構成が変更されたと判定する。
The device information is information indicating a device connected to the network N, and is, for example, a device name, a model, a serial number, an IP address, or the like. The device information is stored in the device connected to the network N. The device information may indicate the hardware configuration of the device, for example, the type and performance of the CPU 21, or the presence or absence of the SOC 24. The
他にも例えば、ネットワークNに新たに追加されたモータ制御装置20やハードウェア構成が変更されたモータ制御装置20が、コントローラ10に、自発的に所定の通知を送信してもよい。この場合、判定部101は、当該所定の通知を受信したか否かを判定することによって、ネットワーク構成が変更されたか否かを判定する。
Alternatively, for example, the
[設定部]
設定部102は、通信を行う産業機器の組み合わせごとに、暗号化通信に関する設定を行う。暗号化通信に関する設定は、機種に関係なく行われてもよいが、本実施形態では、設定部102は、通信を行う産業機器の組み合わせごとに、当該組み合わせに含まれる産業機器の機種に基づいて、暗号化通信に関する設定を行う。
[Settings]
The
通信を行う産業機器の組み合わせとは、データを送受信する複数の産業機器のグループであり、本実施形態のように、コントローラ10とモータ制御装置20との間で通信するのであれば、産業機器のペアである。別の言い方をすれば、通信を行う産業機器の組み合わせは、データの送信側の機器と受信側の機器の組み合わせである。本実施形態では、マスタ機器であるコントローラ10と、スレーブ機器であるモータ制御装置20と、が通信するので、通信を行う産業機器の組み合わせは、マスタ機器とスレーブ機器の組み合わせとなる。また、本実施形態では、コントローラ10において設定部102が実現されるので、設定部102は、コントローラ10の通信相手となるモータ制御装置20ごとに、暗号化に関する設定を行う。なお、設定部102は、ネットワークN内の全てのモータ制御装置20の設定をするのではなく、一部のモータ制御装置20についてのみ設定をしてもよい。
The combination of industrial equipment that performs communication is a group of a plurality of industrial equipment that transmits and receives data, and if communication is performed between the
暗号化通信に関する設定とは、暗号化通信を利用するか否かの設定、利用する暗号方式の設定、及び利用する鍵の設定の少なくとも1つを意味する。利用する暗号方式の設定とは、利用する暗号方式の種類を意味してもよいし、利用する暗号方式のビット数を意味してもよい。本実施形態では、設定部102は、暗号化通信を利用するか否かの決定結果、利用する暗号方式、及び利用する鍵の各々を設定データDT2に記録することによって設定を行う場合を説明するが、設定内容は他のデータに保持されてもよい。
The setting related to the encrypted communication means at least one of the setting of whether or not to use the encrypted communication, the setting of the encryption method to be used, and the setting of the key to be used. The setting of the encryption method to be used may mean the type of the encryption method to be used, or may mean the number of bits of the encryption method to be used. In the present embodiment, the
本実施形態では、コントローラ10がモータ制御装置20から受信する機器情報に機種が示されており、設定部102は、機器情報を参照して機種を特定し、暗号化通信に関する設定を行う場合を説明するが、機種は、任意の方法で取得されてよい。例えば、ユーザがパーソナルコンピュータ等を利用して入力してモータ制御装置20の機種を入力してもよく、この場合、設定部102は、ユーザが入力した機種を参照して機種を特定する。他にも例えば、コントローラ10は、モータ制御装置20に対し、機器情報とは別に機種情報だけを要求してもよい。
In the present embodiment, the model is indicated in the device information received by the
機種と設定内容との関係は、データ記憶部100に記憶されており、本実施形態では、この関係が機種データDT1に示されている。この関係は、機種データDT1以外に定義されていてもよく、例えば、プログラムコード(アルゴリズム)の一部として示されていてもよいし、数式やテーブルなどの形式で示されてもよい。設定部102は、上記関係を参照し、モータ制御装置20の機種に関連付けられた設定内容に基づいて、暗号化通信に関する設定を行う。例えば、設定部102は、機種データDT1を参照し、モータ制御装置20の機種に関連付けられた設定内容を特定する。設定部102は、当該モータ制御装置20に対し、当該特定した設定内容を関連付けて設定データDT2に格納することによって、設定を行う。
The relationship between the model and the set contents is stored in the
本実施形態では、設定部102は、ネットワーク構成が変更されたと判定された場合に、複数のモータ制御装置20の暗号化通信に関する設定を行う。別の言い方をすれば、設定部102は、ネットワーク構成が変更されたと判定されることを条件として、暗号化通信に関する設定をする。設定部102は、ネットワーク構成が変更されたと判定されない場合には、暗号化通信に関する設定をせず、ネットワーク構成が変更されたと判定された場合に、暗号化通信に関する設定を行う。
In the present embodiment, the
なお、設定部102は、ネットワーク構成が変更された場合ではなく、他のタイミングで暗号化通信に関する設定をしてもよい。例えば、設定部102は、電源投入時に設定をしてもよいし、コンフィグレーション時に設定をしてもよい。また例えば、設定部102は、ユーザがパーソナルコンピュータ等から所定の操作をした場合に設定をしてもよいし、所定の時刻が訪れた場合などに定期的に設定をしてもよい。
Note that the
また、設定部102は、モータ制御装置20の機種以外の情報に基づいて、暗号化通信に関する設定をしてもよい。例えば、設定部102は、モータ制御装置20の役割、性能、又はシリアル番号に基づいて、暗号化通信に関する設定をしてもよい。また例えば、設定部102は、モータ制御装置20の物理的構成(例えば、SOC24の有無)に基づいて、暗号化通信に関する設定をしてもよい。他にも例えば、設定部102は、モータ制御装置20の機種に関係なく、全てのモータ制御装置20について共通の設定をして、同じ暗号方式の同じ鍵が用いられるようにもよい。
Further, the
[暗号化部]
暗号化部103は、送信データを暗号化する。送信データは、送信側の機器から見て送信対象となるデータである。コントローラ10の場合、送信データは、モータ制御装置20に対する指令(コマンド)を示す指令データである。指令データには、指令の内容やモータ30に対する出力などのパラメータが含まれる。暗号化部103は、データ記憶部100に記憶された鍵と暗号アルゴリズムに基づいて、送信データを暗号化する。暗号化の方法自体は、公知の方法を利用すればよい。
[Encryption section]
The
本実施形態の通信システム1には、同期通信可能な3つ以上の産業機器が含まれており、暗号化通信を利用する産業機器の組み合わせ(例えば、コントローラ10とモータ制御装置20A,20B,20D)と、暗号化通信を利用しない産業機器の組み合わせ(例えば、コントローラ10とモータ制御装置20C)と、が混在可能である。ここでの混在可能とは、暗号化通信をするグループと、非暗号化通信をするグループと、が含まれ得る状態を意味し、必ずしも両方とも含まれていなければならないわけではない。例えば、暗号化部103は、暗号化通信を利用するモータ制御装置20と通信する場合に送信データを暗号化し、暗号化通信を利用しないモータ制御装置20と通信する場合には送信データを暗号化しない。
The
本実施形態では、どのモータ制御装置20が暗号化通信を利用するかについては、設定部102により設定されるので、暗号化部103は、設定部102の設定結果に基づいて、暗号化通信を利用するモータ制御装置20と、暗号化通信を利用しないモータ制御装置20と、を特定する。例えば、暗号化部103は、設定データDT2を参照し、送信先のモータ制御装置20の暗号化通信の有無を特定し、送信データを暗号化するか否かを判定する。
In the present embodiment, which
また、本実施形態の通信システム1には、同期通信可能な3つ以上の産業機器が含まれており、第1の暗号方式で暗号化通信する産業機器の組み合わせ(例えば、コントローラ10とモータ制御装置20A,20B)と、第2の暗号方式で暗号化通信する産業機器の組み合わせ(例えば、コントローラ10とモータ制御装置20D)と、が混在可能である。ここでの混在可能とは、第1の暗号方式を利用するグループと、第2の暗号方式を利用するグループと、が含まれ得る状態を意味し、必ずしも両方とも含まれていなければならないわけではない。第1の暗号方式と第2の暗号方式は、互いに異なっていればよく、例えば、DESとRSAのように暗号方式のロジック自体が異なっていてもよいし、暗号方式のロジック自体は同じであるが利用するビット数が異なっていてもよい。例えば、暗号化部103は、送信データの送信先のモータ制御装置20に設定された暗号方式に基づいて、送信データを暗号化する。
Further, the
どのモータ制御装置20がどの暗号方式及び鍵を利用するかについては、設定部102により設定されるので、暗号化部103は、設定部102の設定結果に基づいて、利用する暗号方式及び鍵を特定する。例えば、暗号化部103は、設定データDT2を参照し、送信先のモータ制御装置20の暗号方式及び鍵を特定し、当該特定した暗号方式及び鍵に基づいて、送信データを暗号化する。
Since which
[送信部]
送信部104は、他の産業機器に送信データを送信する。ここでの他の産業機器とは、通信相手の産業機器(送信データの送信先の産業機器)であり、本実施形態では、指令を送るモータ制御装置20である。送信部104は、暗号化通信を利用するモータ制御装置20に対し、暗号化された送信データを送信し、暗号化通信を利用しないモータ制御装置20に対し、暗号化されていない平文の送信データを送信する。
[Transmitter]
The
[受信部]
受信部105は、他の産業機器から、暗号化された受信データを受信する。ここでの他の産業機器とは、通信相手の産業機器(受信データの送信元の産業機器)であり、本実施形態では、指令を送ったモータ制御装置20である。受信データは、受信側の機器から見て受信対象となるデータである。コントローラ10の場合、受信データは、モータ制御装置20からのレスポンスを示す応答データである。例えば、応答データには、指令に対するモータ制御装置20の動作結果が示される。受信部105は、暗号化通信を利用するモータ制御装置20から、暗号化された受信データを受信し、暗号化通信を利用しないモータ制御装置20から、平文の受信データを送信する。
[Receiver]
The receiving
[復号化部]
復号化部106は、受信データを復号化する。復号化部106は、データ記憶部100に記憶された鍵と暗号アルゴリズムに基づいて、受信データを復号化する。復号化の方法自体は、公知の方法を利用すればよい。
[Decoding section]
The
復号化部106は、暗号化通信を利用するモータ制御装置20と通信する場合に受信データを復号化し、暗号化通信を利用しないモータ制御装置20と通信する場合には受信データは平文なので復号化しない。どのモータ制御装置20が暗号化通信を利用するかについては、設定部102により設定されるので、暗号化部103は、設定部102の設定結果に基づいて、暗号化通信を利用するモータ制御装置20と、暗号化通信を利用しないモータ制御装置20と、を特定する。例えば、復号化部106は、設定データDT2を参照し、送信元のモータ制御装置20の暗号化通信の有無を特定し、受信データを復号化するか否かを判定する。
The
また、本実施形態では、複数の暗号方式が混在可能なので、復号化部106は、受信データの送信元のモータ制御装置20に設定された暗号方式及び鍵に基づいて、受信データを復号化する。どのモータ制御装置20がどの暗号方式及び鍵を利用するかについては、設定部102により設定されるので、復号化部106は、設定部102の設定結果に基づいて、利用する暗号方式及び鍵を特定する。例えば、復号化部106は、設定データDT2を参照し、送信元のモータ制御装置20の暗号方式及び鍵を特定し、当該特定した暗号方式及び鍵に基づいて、受信データを復号化する。
Further, in the present embodiment, since a plurality of encryption methods can be mixed, the
[1−3−2.モータ制御装置において実現される機能]
図2に示すように、モータ制御装置20A,20B,20Dでは、データ記憶部200、暗号化部201、送信部202、受信部203、及び復号化部204が実現される。一方、モータ制御装置20Cは、暗号化通信を利用しないので、暗号化部201と復号化部204は実現されず、データ記憶部200、送信部202及び受信部203が実現される。
[1-3-2. Functions realized in motor control devices]
As shown in FIG. 2, in the
データ記憶部200は、記憶部22及びSOC24内のメモリを主として実現される。暗号化部201及び復号化部204は、CPU21を主として実現されてもよいが、本実施形態では、SOC24を主として実現される。送信部202及び受信部203は、SOC24を主として実現されてもよいが、本実施形態では、CPU21を主として実現される。少なくとも暗号化部201及び復号化部204が、第2の制御回路の一例であるSOC24によって実現されるようにすればよく、他の構成がSOC24によって実現されてもよい。
The
[データ記憶部]
データ記憶部200は、通信を行うために必要なデータを記憶する。例えば、データ記憶部200は、暗号化通信で利用する鍵と、暗号アルゴリズムと、を記憶する。データ記憶部200は、ある1つの暗号方式に対して複数の鍵を記憶してもよい。複数の暗号方式に対応する場合には、データ記憶部200は、暗号方式ごとに鍵を記憶してもよいし、複数の暗号方式に共通の鍵を記憶してもよい。また、複数の暗号方式に対応する場合には、データ記憶部200は、暗号方式ごとに暗号アルゴリズムを記憶する。鍵は、予めデータ記憶部200に記憶されていてもよいし、コントローラ10によって配信されてもよい。
[Data storage]
The
なお、データ記憶部200が記憶するデータは、上記の例に限られない。例えば、データ記憶部200は、モータ制御装置20が対応する暗号方式を示す情報を記憶してもよいし、機器情報を記憶してもよい。また例えば、データ記憶部200は、機器情報とは別にシリアル番号及び機種情報を記憶してもよいし、コントローラ10のIPアドレスを記憶してもよい。また例えば、データ記憶部200は、モータ30を制御するためのプログラム又はパラメータを記憶してもよい。
The data stored by the
[暗号化部]
暗号化部201は、送信データを暗号化する。ここでの送信データは、コントローラ10から見ると受信データである。モータ制御装置20の場合、送信データは、モータ制御装置20に対するレスポンスである。送信データには、センサ40A及びエンコーダ50Aの検出信号に基づく物理量などが格納されたり、時系列的に動作状況が格納されたトレースデータなどが格納されたりする。暗号化部201は、データ記憶部200に記憶された鍵と暗号アルゴリズムに基づいて、送信データを暗号化する。暗号化の方法自体は、公知の方法を利用すればよい。
[Encryption section]
The
[送信部]
送信部202は、他の産業機器に送信データを送信する。ここでの他の産業機器とは、通信相手の産業機器(送信データの送信先の産業機器)であり、本実施形態では、レスポンスを送るコントローラ10である。モータ制御装置20A,20B,20Dの送信部202は、コントローラ10に暗号化された送信データを送信し、モータ制御装置20Cの送信部202は、コントローラ10に平文の送信データを送信する。
[Transmitter]
The
[受信部]
受信部203は、他の産業機器から、受信データを受信する。ここでの他の産業機器とは、通信相手の産業機器(受信データの送信元の産業機器)であり、本実施形態では、指令を送るコントローラ10である。また、ここでの受信データは、コントローラ10から見ると送信データである。モータ制御装置20A,20B,20Dの受信部203は、コントローラ10から、暗号化された受信データを受信し、モータ制御装置20Cの受信部203は、コントローラ10から、平文の受信データを送信する。
[Receiver]
The receiving
[復号化部]
復号化部204は、受信データを復号化する。復号化部204は、データ記憶部200に記憶された鍵と暗号アルゴリズムに基づいて、受信データを復号化する。復号化の方法自体は、公知の方法を利用すればよい。
[Decoding section]
The
[1−4.通信システムで実行される処理]
次に、通信システム1で実行される処理について説明する。ここでは、通信システム1で実行される処理の一例として、暗号化通信に関する設定をするためのコンフィグレーション処理と、モータ30を制御するためのモータ制御処理と、について説明する。以降説明する処理は、図2に示す機能ブロックにより実行される処理の一例である。
[1-4. Processing executed by the communication system]
Next, the processing executed by the
[コンフィグレーション処理]
図5は、コンフィグレーション処理を示すフロー図である。コンフィグレーション処理は、CPU11,21がそれぞれ記憶部12,22に記憶されたプログラムに従って動作することによって実行される。なお、コンフィグレーション処理における通信は、同期通信であってもよいし、非同期通信であってもよい。
[Configuration processing]
FIG. 5 is a flow chart showing the configuration process. The configuration process is executed by the
図5に示すように、まず、コントローラ10において、CPU11は、ネットワーク構成が変更されたか否かを判定する(S100)。ネットワーク構成の変更有無の判定方法は、先述した通りであり、例えば、CPU11は、ユーザがネットワーク構成を変更した時に行う変更操作が行われたか否かを判定する。S100においては、コンフィグレーションの実行要否が判定されるということもできる。
As shown in FIG. 5, first, in the
ネットワーク構成が変更されたと判定されない場合(S100;N)、本処理は終了する。この場合、設定データDT2を変更する必要がないので、既存の設定データDT2に基づいて、コントローラ10とモータ制御装置20との間の通信が行われる。なお、設定データDT2が記憶部12に存在しない場合には、S100の処理が省略され、S101〜S105の処理が実行されてもよい。
If it is not determined that the network configuration has been changed (S100; N), this process ends. In this case, since it is not necessary to change the setting data DT2, communication between the
一方、ネットワーク構成が変更されたと判定された場合(S100;Y)、CPU11は、ネットワークN全体に対し、機器情報を要求する(S101)。S101においては、CPU11は、ブロードキャストアドレス宛てに、機器情報を送信する旨の指令を送信する。ネットワークNに接続された全ての機器は、当該指令に応じて自身の機器情報を送信し、コントローラ10は、ネットワークNに何の機器が接続されているかを知ることができる。
On the other hand, when it is determined that the network configuration has been changed (S100; Y), the
モータ制御装置20においては、機器情報の要求を受信し(S102)、CPU21は、コントローラ10に、自身の機器情報を送信する(S103)。機器情報は、予め記憶部22に記憶されており、S103においては、CPU21は、記憶部22に記憶された機器情報を読み出して送信する。
The
コントローラ10においては、各モータ制御装置20から機器情報を受信し(S104)、CPU11は、当該機器情報と機種データDT1とに基づいて、各モータ制御装置20の暗号化通信に関する設定を行い(S105)、本処理は終了する。S105においては、CPU11は、機器情報を参照して機器名と機種を特定し、当該機器名に対し、当該特定した機種に関連付けられた設定内容を関連付けて設定データDT2に格納することによって、暗号化通信に関する設定を行う。S105の処理が実行されることにより、モータ制御装置20ごとに、暗号化通信の利用有無、利用する暗号方式、及び利用する鍵が設定される。
The
[モータ制御処理]
図6は、モータ制御処理を示すフロー図である。モータ制御処理は、CPU11,21がそれぞれ記憶部12,22に記憶されたプログラムに従って動作し、SOC24が自身に記憶されたファームウェアに従って動作することによって実行される。なお、モータ制御処理における通信は、同期通信であってもよいし、非同期通信であってもよい。
[Motor control processing]
FIG. 6 is a flow chart showing the motor control process. The motor control process is executed by the
図6に示すように、まず、コントローラ10において、CPU11は、記憶部12に記憶されたプログラム及びパラメータに基づいて、モータ制御装置20に対する指令データを生成する(S200)。S200において生成される指令データは、コントローラ10から見れば送信データであり、モータ制御装置20から見れば受信データである。
As shown in FIG. 6, first, in the
CPU11は、コンフィグレーション処理により設定された設定データDT2に基づいて、指令データの送信先のモータ制御装置20の暗号化通信に関する設定を特定する(S201)。S201においては、CPU11は、設定データDT2を参照し、送信先のモータ制御装置20に関連付けられた設定内容を取得する。本実施形態では、コントローラ10とモータ制御装置20A,20B,20Dとの間では、暗号化通信が行われるので、後述するS202〜S211の処理が実行され、コントローラ10とモータ制御装置20Cとの間では、非暗号化通信が行われるので、後述するS212〜S217の処理が実行される。
The
送信先のモータ制御装置20が暗号化通信を利用する場合(S201;暗号化通信)、即ち、送信先がモータ制御装置20A,20B,20Dである場合、CPU11は、設定データDT2に基づいて、指令データを暗号化する(S202)。S202においては、CPU11は、設定データDT2が示す暗号方式及び鍵に基づいて、指令データを暗号化する。CPU11は、送信先のモータ制御装置20に、S202で暗号化された指令データを送信する(S203)。
When the destination
モータ制御装置20A,20B,20Dにおいては、暗号化された指令データを受信し(S204)、SOC24は、指令データを復号化する(S205)。S205においては、SOC24のCPU240は、暗号チップ241に指令データを復号化させ、復号化された指令データを取得してCPU21に送る。
The
CPU21は、復号化された指令データに基づいて、モータ30の動作を制御する(S206)。S206においては、CPU21は、指令データに基づいて、モータ30への出力電圧を制御する。CPU21は、指令データに対するレスポンスである応答データを生成する(S207)。S207においては、CPU21は、センサ40及びエンコーダ50の各々の検出信号に基づいて、応答データを生成し、SOC24に送る。 The CPU 21 controls the operation of the motor 30 based on the decoded command data (S206). In S206, the CPU 21 controls the output voltage to the motor 30 based on the command data. The CPU 21 generates response data, which is a response to the command data (S207). In S207, the CPU 21 generates response data based on the detection signals of the sensor 40 and the encoder 50, and sends the response data to the SOC 24.
SOC24は、S207で生成した応答データを暗号化する(S208)。S208においては、SOC24の暗号チップ241Bは、自身に記憶された鍵に基づいて、応答データを暗号化する。SOC24は、コントローラ10に、S208で暗号化した応答データを送信する(S209)。 The SOC 24 encrypts the response data generated in S207 (S208). In S208, the encryption chip 241B of the SOC 24 encrypts the response data based on the key stored in itself. The SOC 24 transmits the response data encrypted in S208 to the controller 10 (S209).
コントローラ10においては、暗号化された応答データを受信し(S210)、CPU11は、応答データを復号化する(S211)。S211においては、CPU11は、記憶部12に記憶された鍵に基づいて、暗号化された応答データを取得し、記憶部12に記録する。
The
一方、送信先のモータ制御装置20が暗号化通信を利用しない場合(S201;非暗号化通信)、即ち、送信先がモータ制御装置20Cである場合、CPU11は、通信相手のモータ制御装置20に、指令データを暗号化せずに平文で送信する(S212)。
On the other hand, when the transmission destination
モータ制御装置20Cにおいては、平文の指令データを受信し(S213)、CPU21は、指令データに基づいて、モータ30の動作を制御する(S214)。S214の処理は、S206の処理と同様である。続くS215の処理とS216の処理は、S207の処理とS209の処理と同様である。S215で生成された応答データは、暗号化されずに、S216において平文で送信される。コントローラ10においては、平文の応答データを受信する(S217)。受信した応答データは、記憶部12に記録される。
The
実施形態1の通信システム1によれば、同期通信可能な複数の産業機器を含む通信システム1において、通信を行う複数の産業機器が、送信データを暗号化して送信し、受信データを復号化することにより、送信データ及び受信データの改ざんを防止し、セキュリティを高めることができる。例えば、モータ30を制御するモータ制御装置20が産業機器に相当する場合、モータ30の動作指令や動作波形が改ざんされると、モータ制御に異常をきたす可能性があるが、データの改ざんを防止することで、モータ制御に異常をきたすことを防止することができる。
According to the
また、通信を行う産業機器の組み合わせごとに、暗号化通信に関する設定が行われることにより、通信を行う産業機器の組み合わせに応じた柔軟な通信が可能になる。例えば、通信を行う産業機器の組み合わせに、暗号化通信に対応していない産業機器が含まれている場合、暗号化通信をしないようにして、暗号化通信に対応していない産業機器が復号化できず動作に支障をきたすことを防止することができる。また例えば、通信を行う産業機器の組み合わせに含まれる産業機器の性能に応じて、暗号化通信の強度(暗号化及び復号化の計算量)を変えるようにした場合、性能に応じたセキュリティ向上、処理負荷軽減、及び処理速度向上を実現できる。また例えば、通信を行う産業機器の組み合わせに含まれる産業機器が利用可能な暗号方式で暗号化通信するようにした場合、確実に暗号化と復号化をすることができ、産業機器の動作に支障をきたすことを防止することができる。 Further, by setting the encrypted communication for each combination of industrial devices for communication, flexible communication according to the combination of industrial devices for communication becomes possible. For example, if the combination of industrial devices that perform communication includes industrial devices that do not support encrypted communication, the industrial devices that do not support encrypted communication are decrypted by preventing encrypted communication. It is possible to prevent the operation from being hindered. Further, for example, when the strength of encrypted communication (calculation amount of encryption and decryption) is changed according to the performance of the industrial equipment included in the combination of the industrial equipment for communication, the security is improved according to the performance. It is possible to reduce the processing load and improve the processing speed. Further, for example, when the industrial equipment included in the combination of the industrial equipments to communicate is encrypted and communicated by the available encryption method, the encryption and the decryption can be surely performed, which hinders the operation of the industrial equipments. Can be prevented.
また、通信を行う産業機器の組み合わせごとに、当該組み合わせに含まれる産業機器の機種に基づいて暗号化通信に関する設定が行われることにより、機種に応じた柔軟な通信が可能になる。例えば、通信を行う産業機器の組み合わせに、暗号化通信に対応していない機種の産業機器が含まれている場合、暗号化通信をしないようにして、暗号化通信に対応していない機種の産業機器が復号化できず動作に支障をきたすことを防止することができる。また例えば、通信を行う産業機器の組み合わせに含まれる産業機器の機種の性能に応じて、暗号化通信の強度(暗号化及び復号化の計算量)を変えるようにした場合、機種の性能に応じたセキュリティ向上、処理負荷軽減、及び処理速度向上を実現できる。また例えば、通信を行う産業機器の組み合わせに含まれる産業機器の機種が利用可能な暗号方式で暗号化通信するようにした場合、確実に暗号化と復号化をすることができ、特定の機種の産業機器の動作に支障をきたすことを防止することができる。 Further, for each combination of industrial devices to be communicated, settings related to encrypted communication are made based on the model of the industrial device included in the combination, so that flexible communication according to the model becomes possible. For example, if the combination of industrial devices that perform communication includes industrial devices of a model that does not support encrypted communication, the industry of the model that does not support encrypted communication should be prevented from performing encrypted communication. It is possible to prevent the device from being unable to be decrypted and interfering with its operation. Further, for example, when the strength of encrypted communication (calculation amount of encryption and decryption) is changed according to the performance of the model of the industrial device included in the combination of the industrial devices for communication, the performance of the model is changed. It is possible to improve security, reduce processing load, and improve processing speed. Further, for example, when encrypted communication is performed by an encryption method that can be used by the models of industrial devices included in the combination of industrial devices that perform communication, encryption and decryption can be reliably performed, and a specific model can be used. It is possible to prevent the operation of industrial equipment from being hindered.
また、通信システム1において、暗号化通信を利用する産業機器の組み合わせと、暗号化通信を利用しない産業機器の組み合わせと、を混在可能とすることで、より柔軟な通信が可能になる。例えば、暗号化通信に対応可能な産業機器と、暗号化通信に対応していない産業機器と、が混在していた場合に、全ての産業機器で暗号化通信をしようとすると、暗号化通信に対応していない産業機器は、データを復号化することができず、動作に支障をきたす可能性がある。この点、通信システム1によれば、暗号化通信に対応していない産業機器については、暗号化通信を利用しないことで、動作に支障をきたすことを防止することができる。更に、暗号化通信に対応可能な産業機器については、暗号化通信をすることで、セキュリティを担保することができる。
Further, in the
また、通信システム1において、第1の暗号方式で暗号化通信する産業機器の組み合わせと、第2の暗号方式で暗号化通信する産業機器の組み合わせと、を混在可能とすることで、より柔軟な通信が可能になる。例えば、性能の異なる産業機器が混在していた場合に、全ての産業機器で高い強度の暗号化通信をしようとすると、低性能の産業機器は、処理負荷が高くなり、動作に支障をきたす可能性がある。この点、通信システム1によれば、高性能の産業機器については、計算量の多い高い強度の暗号方式を利用し、低性能の産業機器については、計算量の少ない低い強度の暗号方式を利用することができ、セキュリティを高めつつ、産業機器の処理負荷を軽減することができる。
Further, in the
また、少なくとも暗号化部及び復号化部が、自身に接続された機器を制御するための第1の制御回路(例えば、CPU21)とは別に設けられた、暗号化通信をするための第2の制御回路(例えば、SOC24)により実現されることで、暗号化及び復号化のために第1の制御回路を使用しないようにすることができ、処理負荷を低減することができる。例えば、産業機器に外付けで第2の制御回路を接続する場合には、産業機器内部に第2の制御回路を組み込まなくても、暗号化通信に対応させることができる。 Further, at least the encryption unit and the decryption unit are provided separately from the first control circuit (for example, CPU 21) for controlling the device connected to the encryption unit, and the second encryption communication is performed. By being realized by a control circuit (for example, SOC24), it is possible to avoid using the first control circuit for encryption and decryption, and it is possible to reduce the processing load. For example, when a second control circuit is externally connected to an industrial device, encrypted communication can be supported without incorporating the second control circuit inside the industrial device.
また、通信システム1のネットワーク構成が変更されたと判定された場合に、複数の産業機器の暗号化通信に関する設定を行うことにより、最新のネットワーク構成に応じた暗号化通信を提供し、セキュリティを効果的に高めることができる。
In addition, when it is determined that the network configuration of the
また、マスタ機器とスレーブ機器が通信する場合のセキュリティを向上させることができる。 In addition, security can be improved when the master device and the slave device communicate with each other.
[2.実施形態2]
実施形態1では、モータ制御装置20の機種に応じて、暗号化通信の有無や暗号方式が決定される場合を説明したが、通信システム1では、暗号化通信が必要なデータもあれば、暗号化通信が不要なデータもある。このため、データの種類に応じて、暗号化通信の有無が決定されたり暗号方式が決定されたりしてもよい。以降、通信システム1の別実施形態である実施形態2について説明する。なお、実施形態2では、実施形態1と同様の構成については説明を省略する。
[2. Embodiment 2]
In the first embodiment, the case where the presence / absence of encrypted communication and the encryption method are determined according to the model of the
実施形態2では、コントローラ10のデータ記憶部100は、データの種類ごとに暗号化通信の要否が示された種類データDT3を記憶する。図7は、種類データDT3のデータ格納例を示す図である。図7に示すように、種類データDT3は、データの種類と、暗号化通信の要否と、が示されている。なお、これらの関係は、種類データDT3以外に定義されていてもよく、例えば、プログラムコード(アルゴリズム)の一部として示されていてもよいし、数式やテーブルなどの形式で示されてもよい。種類データDT3には、データの種類ごとに暗号方式及び鍵が示されていてもよい。
In the second embodiment, the
図7のデータ格納例であれば、動作波形、動作指令、及びパラメータは、盗み見られたり改ざんされたりすると、ユーザのノウハウが流出したりモータ制御装置20の動作に支障をきたしたりするため、暗号化通信が必要とされている。一方、機器情報は、盗み見られたり改ざんされたりしてもあまり影響はないとして、暗号化通信は不要とされている。なお、モータ制御装置20のデータ記憶部200も同様の種類データDT3を記憶しているものとする。
In the data storage example of FIG. 7, if the operation waveform, operation command, and parameter are stolen or tampered with, the user's know-how may be leaked or the operation of the
コントローラ10の暗号化部103は、送信データの種類に基づいて、送信データを暗号化する。本実施形態では、暗号化部103は、種類データDT3と送信データの種類に基づいて、送信データを暗号化する。例えば、暗号化部103は、送信データの種類に基づいて、送信データを暗号化するか否かを決定する。また例えば、暗号化部103は、送信データの種類に基づいて、送信データの暗号方式を決定する。また例えば、暗号化部103は、送信データの種類に基づいて、送信データの暗号化で使用する鍵を決定する。モータ制御装置20の暗号化部201についても、暗号化部103と同様に、送信データの種類に基づいて、送信データを暗号化する。
The
コントローラ10の復号化部106は、受信データの種類に基づいて、受信データを復号化する。本実施形態では、復号化部106は、種類データDT3と受信データの種類に基づいて、受信データを復号化する。例えば、復号化部106は、受信データの種類に基づいて、受信データを復号化するか否かを決定する。また例えば、復号化部106は、受信データの種類に基づいて、受信データの暗号方式を決定する。また例えば、復号化部106は、受信データの種類に基づいて、受信データの復号化で使用する鍵を決定する。モータ制御装置20の復号化部204についても、復号化部106と同様に、受信データの種類に基づいて、受信データを復号化する。
The
実施形態2では、図6と同様のフローでモータ制御処理が実行されるが、S200において指令データが生成された場合に、CPU11は、指令データの種類に基づいて、暗号化するデータであるか否かを判定する。暗号化するデータであると判定された場合、S201の処理に移行し、指令データが暗号化されて送信される。一方、暗号化するデータであると判定されない場合、S212の処理に移行し、平文で指令データが送信される。
In the second embodiment, the motor control process is executed in the same flow as in FIG. 6, but when the command data is generated in S200, is the
また、S207又はS215において応答データが生成された場合に、CPU21は、応答データの種類に基づいて、暗号化するデータであるか否かを判定する。暗号化するデータであると判定された場合、S208又はS216の処理が実行され、応答データが暗号化されて送信される。一方、暗号化するデータであると判定されない場合に、S208又はS216の処理は実行されず、平文で応答データが送信される。 Further, when the response data is generated in S207 or S215, the CPU 21 determines whether or not the data is encrypted based on the type of the response data. If it is determined that the data is to be encrypted, the process of S208 or S216 is executed, and the response data is encrypted and transmitted. On the other hand, if it is not determined that the data is to be encrypted, the processing of S208 or S216 is not executed, and the response data is transmitted in plain text.
実施形態2の通信システム1によれば、送信データの種類に基づいて送信データを暗号化し、受信データの種類に基づいて受信データを復号化することにより、データの種類に応じた暗号化と復号化をすることができ、機種に応じた柔軟な通信が可能になる。例えば、データの種類によってその重要度は異なる。重要なデータについては、暗号化する必要があり、あまり重要ではないデータについては、そもそも暗号化する必要がないこともある。この点、重要なデータに絞って暗号化することにより、あまり重要ではないデータを暗号化及び復号化する必要がなくなり、産業機器の処理負荷を軽減することができる。また例えば、全てのデータを暗号化する場合であったとしても、重要なデータについては、強度の高い暗号方式で暗号化し、あまり重要ではないデータについては、強度の低い暗号方式で暗号化することで、全てのデータについて複雑な計算を要する強度の高い暗号方式が利用されるわけではなくなるので、産業機器の処理負荷を軽減し、処理速度を向上することができる。
According to the
[3.実施形態3]
実施形態1及び2では、モータ制御装置20の機種やデータの種類に応じて、暗号化通信の有無や暗号方式が決定される場合を説明したが、同期通信を利用するか否かに基づいて、暗号化通信の有無や暗号方式が決定されてもよい。以降、通信システム1の別実施形態である実施形態3について説明する。なお、実施形態3では、実施形態1及び2と同様の構成については説明を省略する。
[3. Embodiment 3]
In the first and second embodiments, the case where the presence / absence of encrypted communication and the encryption method are determined according to the model of the
コントローラ10の暗号化部103は、同期通信を利用するか否かに基づいて、送信データを暗号化する。同期通信を利用するか否かは、モータ制御処理やコンフィグレーション処理などを実行するためのプログラムに記述されているものとする。暗号化部103は、送信データが生成されて送信される前に、送信データが同期通信で送信されるか否かを判定する。例えば、暗号化部103は、送信データが同期通信で送信される場合に送信データを暗号化し、送信データが同期通信で送信されない場合に送信データを暗号化しない。これとは逆に、暗号化部103は、送信データが同期通信で送信される場合に送信データを暗号化せず、送信データが同期通信で送信されない場合に送信データを暗号化してもよい。モータ制御装置20の暗号化部201についても、暗号化部103と同様に、同期通信を利用するか否かに基づいて、送信データを暗号化する。
The
復号化部106は、同期通信を利用するか否かに基づいて、受信データを復号化する。復号化部106は、受信データが受信される前又は後に、受信データが同期通信で受信されるか否かを判定する。例えば、復号化部106は、受信データが同期通信で受信される場合に受信データを復号化し、受信データが同期通信で送信されない場合に受信データを復号化しない。これとは逆に、復号化部106は、受信データが同期通信で受信される場合に受信データを復号化せず、受信データが同期通信で受信されない場合に受信データを暗号化してもよい。モータ制御装置20の復号化部204についても、復号化部106と同様に、同期通信を利用するか否かに基づいて、受信データを復号化する。
The
実施形態3では、図6と同様のフローでモータ制御処理が実行されるが、S200において指令データが生成された場合に、CPU11は、指令データを同期通信で送信するか否かを判定する。例えば、指令データを同期通信で送信すると判定された場合、S201の処理に移行し、指令データが暗号化されて送信される。一方、指令データを同期通信で送信すると判定されない場合に、S212の処理に移行し、平文で指令データが送信される。
In the third embodiment, the motor control process is executed in the same flow as in FIG. 6, but when the command data is generated in S200, the
また、S207又はS215において応答データが生成された場合に、CPU21は、応答データの種類に基づいて、応答データを同期通信で送信するか否かを判定する。例えば、応答データを同期通信で送信すると判定された場合に、S208又はS216の処理が実行され、応答データが暗号化されて送信される。一方、指令データを同期通信で送信すると判定されない場合に、S208又はS216の処理は実行されず、平文で応答データが送信される。 Further, when the response data is generated in S207 or S215, the CPU 21 determines whether or not to transmit the response data by synchronous communication based on the type of the response data. For example, when it is determined that the response data is transmitted by synchronous communication, the process of S208 or S216 is executed, and the response data is encrypted and transmitted. On the other hand, if it is not determined that the command data is transmitted by synchronous communication, the processing of S208 or S216 is not executed, and the response data is transmitted in plain text.
なお、指令データを同期通信で送信すると判定された場合、S212の処理に移行し、平文で指令データが送信されてもよい。一方、指令データを同期通信で送信すると判定されない場合に、S201の処理に移行し、指令データが暗号化されて送信されてもよい。また、応答データを同期通信で送信すると判定された場合に、S208又はS216の処理は実行されず、平文で応答データが送信されてもよい。一方、指令データを同期通信で送信すると判定されない場合に、S208又はS216の処理が実行され、応答データが暗号化されて送信されてもよい。 If it is determined that the command data is transmitted by synchronous communication, the process may shift to S212 and the command data may be transmitted in plain text. On the other hand, if it is not determined that the command data is transmitted by synchronous communication, the process may shift to S201 and the command data may be encrypted and transmitted. Further, when it is determined that the response data is transmitted by synchronous communication, the processing of S208 or S216 may not be executed, and the response data may be transmitted in plain text. On the other hand, if it is not determined that the command data is transmitted by synchronous communication, the process of S208 or S216 may be executed and the response data may be encrypted and transmitted.
実施形態3の通信システム1によれば、同期通信を利用するか否かに基づいて送信データを暗号化し、同期通信を利用するか否かに基づいて受信データを復号化することにより、通信方式に応じた暗号化と復号化をすることができ、通信方式に応じた柔軟な通信が可能になる。例えば、同期通信を利用する場合は、暗号化と復号化をせず、非同期通信を利用する場合は、暗号化と復号化をさせることができる。また例えば、同期通信を利用する場合は、計算量の少ない低強度の暗号方式を利用し、非同期通信を利用する場合は、計算量の多い高強度の暗号方式を利用することができる。同期通信ではデータを送受信するときの時間的な猶予がなく、データを改ざんされる恐れが明らかにない場合に、このようにすることで、セキュリティを担保しつつ、産業機器の処理負荷を軽減したり、産業機器の動作に遅延が発生することを防止したりすることもできる。また例えば、上記とは逆に、同期通信を利用する場合は、暗号化と復号化をさせ、非同期通信を利用する場合は、暗号化と復号化をしないようにすることができる。また例えば、同期通信を利用する場合は、計算量の多い高強度の暗号方式を利用し、非同期通信を利用する場合は、計算量の少ない低強度の暗号方式を利用することができる。同期通信では機器の動作に直結する重要なデータをやり取りすることが多く、このようにすることで、重要なデータの改ざんを防止し、セキュリティを担保することができる。一方、非同期通信ではあまり重要ではない低いデータをやり取りすることがあり、このようにすることで、産業機器の処理負荷を軽減したり、産業機器の動作に遅延が発生することを防止したりすることもできる。
According to the
[4.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
[4. Modification example]
The present invention is not limited to the embodiments described above. It can be changed as appropriate without departing from the spirit of the present invention.
(1)例えば、モータ制御装置20によって利用可能な暗号方式が異なることがあり、コントローラ10は、その全てを利用可能ではないこともある。このため、コントローラ10が利用可能な暗号方式と、モータ制御装置20が利用可能な暗号方式と、が比較され、これらが一致する場合に暗号化通信が利用され、これらが一致しない場合に暗号化通信が利用されないようにしてもよい。
(1) For example, the encryption methods that can be used may differ depending on the
図8は、変形例(1)の機能ブロック図である。図8に示すように、変形例(1)では、コントローラ10において決定部107が実現される。決定部107は、CPU11を主として実現される。本変形例では、通信を行う複数の産業機器は、少なくとも1つの暗号方式を利用可能であり、決定部107は、通信を行う複数の産業機器に共通する暗号方式に基づいて、暗号化通信で利用する暗号方式を決定する。
FIG. 8 is a functional block diagram of the modified example (1). As shown in FIG. 8, in the modification (1), the
決定部107は、コントローラ10が利用可能な暗号方式と、モータ制御装置20が利用可能な暗号方式と、を比較し、これらの間で一致する暗号方式を、暗号化通信で利用する暗号方式として決定する。複数の暗号方式が一致していた場合、決定部107は、何れか1つの暗号方式を選択すればよく、ランダムに選択してもよいし、後述する変形例(2)のように優先順位に基づいて選択してもよい。複数の暗号方式が一致していた場合、データの種類やデータの送信タイミングなどに応じて、利用する暗号方式が使い分けられるようにしてもよい。
The
なお、コントローラ10が利用可能な暗号方式を示すデータは、予めデータ記憶部100に記憶されているものとする。また、モータ制御装置20が利用可能な暗号方式を示すデータは、予めデータ記憶部100に記憶されていてもよいし、モータ制御装置20から取得されるようにしてもよい。また、コントローラ10とモータ制御装置20との間で利用可能な暗号方式が一致していない場合(共通の暗号方式がない場合)には、平文でデータが送信されてもよいし、ユーザに対して所定のアラームが出力されてもよい。
It is assumed that the data indicating the encryption method that can be used by the
変形例(1)によれば、通信を行う複数の産業機器に共通する暗号方式に基づいて、複数の産業機器の間で利用する暗号方式を決定することで、暗号化通信を確実に実行することができる。 According to the modification (1), the encrypted communication is surely executed by determining the encryption method to be used among the plurality of industrial devices based on the encryption method common to the plurality of industrial devices that perform communication. be able to.
(2)また例えば、変形例(1)において、コントローラ10が利用可能な暗号方式と、モータ制御装置20が利用可能な暗号方式と、の間で共通するものが複数個あった場合には、暗号方式の優先度に基づいて、利用する暗号方式が決定されるようにしてもよい。本変形例では、データ記憶部100は、暗号方式の優先度を示す優先度データDT4を記憶する。
(2) Further, for example, in the modification (1), when there are a plurality of encryption methods that can be used by the
図9は、優先度データDT4のデータ格納例を示す図である。図9に示すように、優先度データDT4には、複数の暗号方式の各々の優先度が示されている。優先度は、暗号方式の優先順位を識別可能な情報であればよく、例えば、数値で示されてもよいし、記号で示されてもよい。図9のデータ格納例であれば、数値が低いほど優先度が高いことを示す。 FIG. 9 is a diagram showing a data storage example of the priority data DT4. As shown in FIG. 9, the priority data DT4 shows the priority of each of the plurality of encryption methods. The priority may be any information that can identify the priority of the encryption method, and may be indicated by a numerical value or a symbol, for example. In the data storage example of FIG. 9, the lower the numerical value, the higher the priority.
変形例(2)の決定部107は、通信を行う複数の産業機器に共通する暗号方式が複数存在した場合、当該複数の暗号方式の各々に定められた優先度に基づいて、暗号化通信で利用する暗号方式を決定する。決定部107は、複数の暗号方式のうち優先度が最も高い暗号方式を、暗号化通信で利用する暗号方式として決定してもよいし、複数の暗号方式のうち優先度が閾値以上の暗号方式の何れかを、暗号化通信で利用する暗号方式として決定してもよい。
When there are a plurality of encryption methods common to a plurality of industrial devices that perform communication, the
変形例(2)によれば、通信を行う複数の産業機器に共通する暗号方式が複数存在した場合、当該複数の暗号方式の各々に定められた優先度に基づいて、複数の産業機器の間で利用する暗号方式を決定することにより、優先度に応じた最適な暗号方式を利用し、セキュリティを効果的に向上させることができる。 According to the modification (2), when there are a plurality of encryption methods common to a plurality of industrial devices that perform communication, between the plurality of industrial devices based on the priority set for each of the plurality of encryption methods. By deciding the encryption method to be used in, the optimum encryption method according to the priority can be used and the security can be effectively improved.
(3)また例えば、通信システム1では、プログラムのデバッグのためにデータがやり取りされることもあるが、通信を行う複数の産業機器は、デバッグが行われる場合には、暗号化通信を行わないようにしてもよい。例えば、コントローラ10は、デバッグモードであるか否かを判定し、デバッグモードであると判定した場合には、暗号化通信を行わず、デバッグモードではないと判定した場合には、暗号化通信を行う。デバッグモードであるか否かを示すデータは、データ記憶部100に記憶させておけばよい。例えば、ユーザは、デバッグを行う際に、パーソナルコンピュータ等をコントローラ10に接続し、デバッグモードを開始することを示す操作を行う。この場合に、デバッグモードが開始される。デバッグモードでは、図6に示すモータ制御処理が実行されるが、暗号化通信が行われない。
(3) For example, in the
変形例(3)によれば、デバッグが行われる場合には、暗号化通信を行わないことで、より確実にデバッグを行うことができる。 According to the modification (3), when debugging is performed, debugging can be performed more reliably by not performing encrypted communication.
(4)また例えば、上記変形例を組み合わせてもよい。 (4) Further, for example, the above modification may be combined.
また例えば、通信システム1では、コントローラ10とモータ制御装置20との通信が暗号化されるのではなく、あるコントローラ10と別のコントローラ10との通信が暗号化されてもよい。また例えば、コントローラ10と、モータ制御装置20以外のコンピュータ(例えば、データベースサーバ)との通信が暗号化されてもよい。また例えば、モータ制御装置20同士が通信可能な場合には、あるモータ制御装置20と別のモータ制御装置20との通信が暗号化されてもよい。また例えば、判定部101、設定部102、及び決定部107は、コントローラ10ではなく、モータ制御装置20において実現されてもよいし、他のコンピュータにおいて実現されてもよい。
Further, for example, in the
また、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、物理的構成の形状や数、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。 Further, the embodiments described above are shown as specific examples, and the invention disclosed in the present specification is not limited to the configuration of these specific examples or the data storage example itself. Those skilled in the art may modify various modifications to these disclosed embodiments, for example, the shape and number of physical configurations, the data structure, and the execution order of processing. It should be understood that the technical scope of the invention disclosed herein also includes such modifications.
1 通信システム、N ネットワーク、10 コントローラ、20 モータ制御装置、11,21,31 CPU、12,22,32 記憶部、13,23,33 通信部、24 SOC、30 モータ、40 センサ、50 エンコーダ、100,200 データ記憶部、101 判定部、102 設定部、103,201 暗号化部、104,202
送信部、105,203 受信部、106,204 復号化部、107 決定部、241 暗号チップ、DT1 機種データ、DT2 設定データ、DT3 種類データ、DT4 優先度データ。
1 communication system, N network, 10 controller, 20 motor controller, 11,21,31 CPU, 12,22,32 storage unit, 13,23,33 communication unit, 24 SOC, 30 motors, 40 sensors, 50 encoders, 100,200 data storage unit, 101 judgment unit, 102 setting unit, 103,201 encryption unit, 104,202
Transmitter, 105, 203 Receiver, 106, 204 Decryptor, 107 Determinator, 241 Cryptographic chip, DT1 model data, DT2 setting data, DT3 type data, DT4 priority data.
Claims (10)
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第3指令データと、前記非同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化しない暗号化部と、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で送信する送信部と、
を有し、
前記第1スレーブ機器は、
前記マスタ機器から、暗号化された前記第1指令データを前記同期通信で受信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で受信する受信部と、
前記同期通信で受信された、暗号化された前記第1指令データを復号化する復号化部と、
復号化された前記第1指令データに基づく処理をすぐに実行し、かつ、暗号化されていない前記第3指令データに基づく処理はすぐには実行しない動作部と、
を有し、
前記第2スレーブ機器は、
前記マスタ機器から、暗号化されていない前記第2指令データを前記同期通信で受信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で受信する受信部と、
暗号化されていない前記第2指令データに基づく処理をすぐに実行し、かつ、暗号化されていない前記第4指令データに基づく処理はすぐには実行しない動作部と、
を有する通信システム。 The master device is a communication system that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
The master device is
As soon as the receiving device receives data from the transmitting device, the first command data transmitted to the first slave device is encrypted by synchronous communication for executing processing and returning the processing result as a response , and the above. The second command data transmitted to the second slave device in synchronous communication is not encrypted, and even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately in asynchronous communication. The third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device by the asynchronous communication are an encryption unit that is not encrypted.
The encrypted first command data is transmitted to the first slave device by the synchronous communication, and the unencrypted third command data is transmitted by the asynchronous communication to the second slave device. , the second instruction data unencrypted transmitted in the synchronous communication, and a transmission unit that transmits the fourth command data unencrypted by said asynchronous communication,
Have,
The first slave device is
From the master device, and the receiving portion of the first command data encrypted received by said synchronous communication, and for receiving the third command data unencrypted by said asynchronous communication,
The received in synchronous communication, a decoding unit for decoding the first command data encrypted,
An operating unit that immediately executes the process based on the decrypted first command data and does not immediately execute the process based on the unencrypted third command data.
Have,
The second slave device is
A receiving unit that receives the unencrypted second command data from the master device in the synchronous communication and receives the unencrypted fourth command data in the asynchronous communication.
An operating unit that immediately executes unencrypted processing based on the second command data and does not immediately execute processing based on the unencrypted fourth command data.
Communication system with.
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記非同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第3指令データと、前記同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化しない暗号化部と、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記同期通信で送信する送信部と、
を有し、
前記第1スレーブ機器は、
前記マスタ機器から、暗号化された前記第1指令データを前記非同期通信で受信し、かつ、暗号化されていない前記第3指令データを前記同期通信で受信する受信部と、
前記非同期通信で受信された、暗号化された前記第1指令データを復号化する復号化部と、
復号化された前記第1指令データに基づく処理をすぐには実行せず、かつ、暗号化されていない前記第3指令データに基づく処理はすぐに実行する動作部と、
を有し、
前記第2スレーブ機器は、
前記マスタ機器から、暗号化されていない前記第2指令データを前記非同期通信で受信し、かつ、暗号化されていない前記第4指令データを前記同期通信で受信する受信部と、
暗号化されていない前記第2指令データに基づく処理をすぐには実行せず、かつ、暗号化されていない前記第4指令データに基づく処理はすぐに実行する動作部と、
を有する通信システム。 The master device is a communication system that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
The master device is
Even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately. The first command data transmitted to the first slave device is encrypted by the asynchronous communication, and the asynchronous communication is performed. The second command data transmitted to the second slave device is not encrypted, and is a synchronous communication for executing processing and returning the processing result as a response as soon as the receiving device receives the data from the transmitting device. An encryption unit that does not encrypt the third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device in the synchronous communication.
The first slave device, the encrypted first command data is transmitted by the asynchronous communication, and the third command data unencrypted and transmitted in the synchronous communication, the second slave device and transmitting the second command data is not encrypted by the asynchronous communication, and a transmission unit that transmits the fourth command data unencrypted by said synchronous communication,
Have,
The first slave device is
From the master device, and the receiving unit the encrypted first command data has been received by said asynchronous communication, and for receiving the third command data unencrypted by said synchronous communication,
The received asynchronous communication, and a decoding unit for decoding the first command data encrypted,
An operation unit that does not immediately execute the process based on the decrypted first command data and immediately executes the process based on the unencrypted third command data.
Have,
The second slave device is
A receiving unit that receives the unencrypted second command data from the master device by the asynchronous communication and receives the unencrypted fourth command data by the synchronous communication.
An operation unit that does not immediately execute the processing based on the unencrypted second command data and immediately executes the processing based on the unencrypted fourth command data.
Communication system with.
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信を利用するか又は受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信を利用するかと、前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、指令データを暗号化する暗号化部と、
前記第1スレーブ機器及び前記第2スレーブ機器の各々に、暗号化された前記指令データを送信する送信部と、
を有し、
前記第1スレーブ機器及び前記第2スレーブ機器の各々は、
前記マスタ機器から、暗号化された指令データを受信する受信部と、
前記同期通信を利用するか又は前記非同期通信を利用するかと、自身が前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、暗号化された前記指令データを復号化する復号化部と、
前記同期通信で受信した前記指令データに基づく処理はすぐに実行し、前記非同期通信で受信した前記指令データに基づく処理はすぐには実行しない動作部と、
を有する通信システム。 The master device is a communication system that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
The master device is
As soon as the receiving device receives data from the transmitting device, it executes processing and uses synchronous communication to return the processing result as a response, or the receiving device receives data from the transmitting device. Cryptography that encrypts command data with an encryption method according to whether asynchronous communication is used, which does not always execute processing immediately, and whether it is the predetermined model or not. Kabu and
A transmission unit that transmits the encrypted command data to each of the first slave device and the second slave device, and
Have,
Each of the first slave device and the second slave device
A receiver that receives encrypted command data from the master device,
The command data encrypted by an encryption method according to whether the synchronous communication or the asynchronous communication is used and whether or not the user is the predetermined model or the predetermined model. Decryption unit that decodes
An operation unit that immediately executes the process based on the command data received in the synchronous communication and does not immediately execute the process based on the command data received in the asynchronous communication.
Communication system with.
請求項1〜3の何れかに記載の通信システム。 The master device, Ri Oh in controller that controls the motor control equipment for controlling the motor, each of the first slave device and the second slave device, Ru said motor controller der,
The communication system according to any one of claims 1 to 3.
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第3指令データと、前記非同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化せず、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で送信し、
前記第1スレーブ機器は、
前記マスタ機器から、暗号化された前記第1指令データを前記同期通信で受信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で受信し、
前記同期通信で受信された、暗号化された前記第1指令データを復号化し、
復号化された前記第1指令データに基づく処理をすぐに実行し、かつ、暗号化されていない前記第3指令データに基づく処理はすぐには実行せず、
前記第2スレーブ機器は、
前記マスタ機器から、暗号化されていない前記第2指令データを前記同期通信で受信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で受信し、
暗号化されていない前記第2指令データに基づく処理をすぐに実行し、かつ、暗号化されていない前記第4指令データに基づく処理はすぐには実行しない、
通信方法。 A communication method in which the master device transmits command data by synchronous communication to each of a first slave device which is a predetermined model and a second slave device which is not the predetermined model.
The master device is
As soon as the receiving device receives data from the transmitting device, the first command data transmitted to the first slave device is encrypted by synchronous communication for executing processing and returning the processing result as a response , and the above. The second command data transmitted to the second slave device in synchronous communication is not encrypted, and even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately in asynchronous communication. The third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device by the asynchronous communication are not encrypted.
The encrypted first command data is transmitted to the first slave device by the synchronous communication, and the unencrypted third command data is transmitted by the asynchronous communication to the second slave device. , the second instruction data unencrypted transmitted in the synchronous communication, and transmits the fourth command data unencrypted by said asynchronous communication,
The first slave device is
From the master device, the encrypted first command data has been received by said synchronous communication, and receives the third command data unencrypted by said asynchronous communication,
The encrypted first command data received in the synchronous communication is decrypted, and the data is decrypted.
The process based on the decrypted first command data is immediately executed, and the process based on the unencrypted third command data is not immediately executed.
The second slave device is
The unencrypted second command data is received from the master device by the synchronous communication, and the unencrypted fourth command data is received by the asynchronous communication.
The process based on the unencrypted second command data is immediately executed, and the process based on the unencrypted fourth command data is not immediately executed.
Communication method.
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記非同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第3指令データと、前記同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化せず、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記同期通信で送信し、
前記第1スレーブ機器は、
前記マスタ機器から、暗号化された前記第1指令データを前記非同期通信で受信し、かつ、暗号化されていない前記第3指令データを前記同期通信で受信し、
前記非同期通信で受信された、暗号化された前記第1指令データを復号化し、
復号化された前記第1指令データに基づく処理をすぐには実行せず、かつ、暗号化されていない前記第3指令データに基づく処理はすぐに実行し、
前記第2スレーブ機器は、
前記マスタ機器から、暗号化されていない前記第2指令データを前記非同期通信で受信し、かつ、暗号化されていない前記第4指令データを前記同期通信で受信し、
暗号化されていない前記第2指令データに基づく処理をすぐには実行せず、かつ、暗号化されていない前記第4指令データに基づく処理はすぐに実行する、
通信方法。 A communication method in which the master device transmits command data by synchronous communication to each of a first slave device which is a predetermined model and a second slave device which is not the predetermined model.
The master device is
Even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately. The first command data transmitted to the first slave device is encrypted by the asynchronous communication, and the asynchronous communication is performed. The second command data transmitted to the second slave device is not encrypted, and is a synchronous communication for executing processing and returning the processing result as a response as soon as the receiving device receives the data from the transmitting device. The third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device in the synchronous communication are not encrypted.
The first slave device, the encrypted first command data is transmitted by the asynchronous communication, and the third command data unencrypted and transmitted in the synchronous communication, the second slave device and transmitting the second command data is not encrypted by the asynchronous communication, and transmits the fourth command data unencrypted by said synchronous communication,
The first slave device is
From the master device, the encrypted first command data has been received by said asynchronous communication, and receives the third command data unencrypted by said synchronous communication,
The encrypted first command data received by the asynchronous communication is decrypted, and the data is decrypted.
The process based on the decrypted first command data is not immediately executed, and the process based on the unencrypted third command data is immediately executed.
The second slave device is
The unencrypted second command data is received from the master device by the asynchronous communication, and the unencrypted fourth command data is received by the synchronous communication.
The unencrypted process based on the second command data is not immediately executed, and the unencrypted process based on the fourth command data is immediately executed.
Communication method.
前記マスタ機器は、
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信を利用するか又は受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信を利用するかと、前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、指令データを暗号化し、
前記第1スレーブ機器及び前記第2スレーブ機器の各々に、暗号化された前記指令データを送信し、
前記第1スレーブ機器及び前記第2スレーブ機器の各々は、
前記マスタ機器から、暗号化された指令データを受信し、
前記同期通信を利用するか又は前記非同期通信を利用するかと、自身が前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、暗号化された前記指令データを復号化し、
前記同期通信で受信した前記指令データに基づく処理はすぐに実行し、前記非同期通信で受信した前記指令データに基づく処理はすぐには実行しない、
通信方法。 A communication method in which the master device transmits command data by synchronous communication to each of a first slave device which is a predetermined model and a second slave device which is not the predetermined model.
The master device is
As soon as the receiving device receives data from the transmitting device, it executes processing and uses synchronous communication to return the processing result as a response, or the receiving device receives data from the transmitting device. However, the command data is encrypted by an encryption method according to whether asynchronous communication is used, which does not always execute the process immediately, and whether the model is the predetermined model or the predetermined model.
The encrypted command data is transmitted to each of the first slave device and the second slave device, and the encrypted command data is transmitted.
Each of the first slave device and the second slave device
Receives encrypted command data from the master device and receives
The command data encrypted by an encryption method according to whether the synchronous communication or the asynchronous communication is used and whether or not the user is the predetermined model or the predetermined model. Decrypt and
The process based on the command data received in the synchronous communication is immediately executed, and the process based on the command data received in the asynchronous communication is not immediately executed.
Communication method.
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第3指令データと、前記非同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化しない暗号化部、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記非同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記非同期通信で送信する送信部、
として機能させるためのプログラム。 A master device that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
As soon as the receiving device receives data from the transmitting device, the first command data transmitted to the first slave device is encrypted by synchronous communication for executing processing and returning the processing result as a response , and the above. The second command data transmitted to the second slave device in synchronous communication is not encrypted, and even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately in asynchronous communication. An encryption unit that does not encrypt the third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device by the asynchronous communication.
The encrypted first command data is transmitted to the first slave device by the synchronous communication, and the unencrypted third command data is transmitted by the asynchronous communication to the second slave device. , the transmission unit the second command data unencrypted and transmitted in the synchronous communication, and for transmitting said fourth command data unencrypted by said asynchronous communication,
A program to function as.
受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信で前記第1スレーブ機器に送信される第1指令データを暗号化し、前記非同期通信で前記第2スレーブ機器に送信される第2指令データは暗号化せず、受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信で前記第1スレーブ機器に送信される第3指令データと、前記同期通信で前記第2スレーブ機器に送信される第4指令データと、は暗号化しない暗号化部、
前記第1スレーブ機器に、暗号化された前記第1指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第3指令データを前記同期通信で送信し、前記第2スレーブ機器に、暗号化されていない前記第2指令データを前記非同期通信で送信し、かつ、暗号化されていない前記第4指令データを前記同期通信で送信する送信部、
として機能させるためのプログラム。 A master device that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
Even if the receiving device receives the data from the transmitting device, the processing is not always executed immediately. The first command data transmitted to the first slave device is encrypted by the asynchronous communication, and the asynchronous communication is performed. The second command data transmitted to the second slave device is not encrypted, and is a synchronous communication for executing processing and returning the processing result as a response as soon as the receiving device receives the data from the transmitting device. An encryption unit that does not encrypt the third command data transmitted to the first slave device and the fourth command data transmitted to the second slave device in the synchronous communication.
The first slave device, the encrypted first command data is transmitted by the asynchronous communication, and the third command data unencrypted and transmitted in the synchronous communication, the second slave device , the transmission unit transmits the second command data is not encrypted by the non-synchronous communication, and for transmitting said fourth command data unencrypted by said synchronous communication,
A program to function as.
受信側の機器が送信側の機器からデータを受信するとすぐに処理を実行してレスポンスとして処理結果を返すための同期通信を利用するか又は受信側の機器が送信側の機器からデータを受信してもすぐに処理を実行するとは限らない非同期通信を利用するかと、前記所定の機種であるか又は前記所定の機種ではないかと、に応じた暗号方式で、指令データを暗号化する暗号化部、
前記第1スレーブ機器及び前記第2スレーブ機器の各々に、暗号化された前記指令データを送信する送信部、
として機能させるためのプログラム。 A master device that transmits command data by synchronous communication to each of a first slave device that is a predetermined model and a second slave device that is not the predetermined model.
As soon as the receiving device receives data from the transmitting device, it executes processing and uses synchronous communication to return the processing result as a response, or the receiving device receives data from the transmitting device. Cryptography that encrypts command data with an encryption method according to whether asynchronous communication is used, which does not always execute processing immediately, and whether it is the predetermined model or not. Kabu,
A transmission unit that transmits the encrypted command data to each of the first slave device and the second slave device .
A program to function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020073728A JP6923038B2 (en) | 2019-04-26 | 2020-04-16 | Communication systems, communication methods, and programs |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019085142A JP6903093B2 (en) | 2019-04-26 | 2019-04-26 | Communication systems, communication methods, and programs |
JP2020073728A JP6923038B2 (en) | 2019-04-26 | 2020-04-16 | Communication systems, communication methods, and programs |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019085142A Division JP6903093B2 (en) | 2019-04-26 | 2019-04-26 | Communication systems, communication methods, and programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020184751A JP2020184751A (en) | 2020-11-12 |
JP6923038B2 true JP6923038B2 (en) | 2021-08-18 |
Family
ID=73044695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020073728A Active JP6923038B2 (en) | 2019-04-26 | 2020-04-16 | Communication systems, communication methods, and programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6923038B2 (en) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001053740A (en) * | 1999-08-12 | 2001-02-23 | Nippon Telegr & Teleph Corp <Ntt> | Open time designation-type communication mode and open time designation-type communication system |
JP2003022425A (en) * | 2001-07-09 | 2003-01-24 | Dainippon Printing Co Ltd | Ic card self-diagnostic device and diagnostic method |
JP2003087240A (en) * | 2001-09-11 | 2003-03-20 | Matsushita Electric Ind Co Ltd | Ciphering device, deciphering device, ciphering/ deciphering device, and program recording medium |
WO2005091581A1 (en) * | 2004-03-22 | 2005-09-29 | Niigata Seimitsu Co., Ltd. | Security gateway apparatus |
JP2006211567A (en) * | 2005-01-31 | 2006-08-10 | Canon Inc | Data communication apparatus, data communication method and program |
JP2007318217A (en) * | 2006-05-23 | 2007-12-06 | Fuji Xerox Co Ltd | Apparatus, method and program for communication |
JP5078422B2 (en) * | 2007-05-07 | 2012-11-21 | 株式会社リコー | Server apparatus, information processing apparatus, program, and recording medium |
JP5082805B2 (en) * | 2007-11-28 | 2012-11-28 | 沖電気工業株式会社 | Information relay system, information relay device, method, and program |
JP5169866B2 (en) * | 2009-01-22 | 2013-03-27 | 富士電機株式会社 | Network system having relay server, relay server and program thereof |
JP6517474B2 (en) * | 2014-05-12 | 2019-05-22 | 株式会社東芝 | Programmable controller and arithmetic processing system |
JP5876170B2 (en) * | 2015-01-13 | 2016-03-02 | 株式会社平和 | Game machine |
CN108028792B (en) * | 2015-09-17 | 2020-10-23 | 株式会社安川电机 | Industrial equipment communication system, communication method and industrial equipment |
JP6428805B2 (en) * | 2017-02-07 | 2018-11-28 | オムロン株式会社 | Arithmetic device, control device and control method |
US11196723B2 (en) * | 2017-10-20 | 2021-12-07 | The University Of Electro-Communications | Encrypted control system, encrypted control method, and encrypted control program |
-
2020
- 2020-04-16 JP JP2020073728A patent/JP6923038B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020184751A (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5835458B2 (en) | Information processing apparatus, information processing method, and program | |
JP5564197B2 (en) | MEMORY CONTROL DEVICE, SEMICONDUCTOR MEMORY DEVICE, MEMORY SYSTEM, AND MEMORY CONTROL METHOD | |
US11057194B2 (en) | Processing system, related integrated circuit, device and method | |
US10664263B2 (en) | Software management system, software updater, software updating method, and non-transitory computer-readable storage medium storing software update program | |
CN112989356B (en) | Blank security chip burning method, system, blank security chip and storage medium | |
WO2013129054A1 (en) | Information processing device, information processing method, and programme | |
JP2008109611A (en) | Encryption conversion apparatus, encryption conversion method and encryption conversion program | |
RU2005121915A (en) | COMMANDS TO SUPPORT ENCRYPTED MESSAGE PROCESSING | |
JP6903093B2 (en) | Communication systems, communication methods, and programs | |
CN113890728A (en) | Key processing method, system, equipment and medium based on FPGA encryption card | |
JP2023533319A (en) | FIRMWARE DATA VERIFICATION APPARATUS AND METHOD AND FIRMWARE UPDATE APPARATUS, METHOD AND SYSTEM | |
EP3731044B1 (en) | Communication system and communication method | |
JP6923038B2 (en) | Communication systems, communication methods, and programs | |
TW202009773A (en) | Method and apparatus for activating trusted execution environment | |
JPWO2005107139A1 (en) | COMMUNICATION SYSTEM, COMMON KEY CONTROL DEVICE, AND GENERAL COMMUNICATION DEVICE | |
EP3425552B1 (en) | Hardware secure module, related processing system, integrated circuit, device and method | |
JP2013182148A (en) | Information processing apparatus, information processing method, and program | |
CN111125791B (en) | Memory data encryption method and device, CPU chip and server | |
JP4934471B2 (en) | Data communication system | |
EP3425551B1 (en) | A processing system, related integrated circuit, device and method for a hardware secure module | |
US11804951B2 (en) | Advanced sensor security protocol | |
JP6207984B2 (en) | Information processing apparatus, information processing method, and program | |
JP2007295342A (en) | Cipher communication system | |
WO2020217741A1 (en) | Authentication file creation device, control system, program, and control method | |
EP3025472B1 (en) | Apparatus for communicating a signal according to a communication model and network node comprising the apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200422 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200422 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200630 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200828 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210603 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210712 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6923038 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |