JP2020092318A - Relay device, relay method, and computer program - Google Patents
Relay device, relay method, and computer program Download PDFInfo
- Publication number
- JP2020092318A JP2020092318A JP2018227667A JP2018227667A JP2020092318A JP 2020092318 A JP2020092318 A JP 2020092318A JP 2018227667 A JP2018227667 A JP 2018227667A JP 2018227667 A JP2018227667 A JP 2018227667A JP 2020092318 A JP2020092318 A JP 2020092318A
- Authority
- JP
- Japan
- Prior art keywords
- topic
- message
- relay
- unit
- management information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
本発明の実施形態は、中継装置、中継方法及びコンピュータプログラムに関する。 Embodiments of the present invention relate to a relay device, a relay method, and a computer program.
プラント等でリアルタイムに発生する各種センサデータをクラウドサーバに送信する際に用いられる通信方式の一つとして、MQTT(Message Queueing Telemetry Transport)等のパブリッシュ・サブスクライブ型のメッセージング方式が知られている(以下「Pub/Sub型通信」という。)。Pub/Sub型通信は、ブローカ(Broker:仲介者)がパブリッシャ(Publisher:発行者)から受信したメッセージを対応するトピックに登録し、トピックに登録されたメッセージをそのトピックに対して配信を申し込んでいた1以上のサブスクライバ(Subscriber:購読者)に配信する通信モデルである。このようなPub/Sub型通信では、パブリッシャはメッセージの配信を必要とする個々のサブスクライバを意識することなく複数のサブスクライバに効率的にメッセージを配信することができる。 A publish/subscribe type messaging method such as MQTT (Message Queueing Telemetry Transport) is known as one of communication methods used when transmitting various sensor data generated in real time in a plant or the like to a cloud server ( Hereinafter referred to as "Pub/Sub type communication".) In the Pub/Sub type communication, a broker (broker) registers a message received from a publisher (publisher) in a corresponding topic, and a message registered in the topic is applied for delivery to the topic. It is a communication model for delivering to one or more subscribers (Subscriber). In such Pub/Sub communication, a publisher can efficiently deliver a message to a plurality of subscribers without being aware of the individual subscribers who need to deliver the message.
しかしながら、従来のPub/Sub型通信のセキュリティは必ずしも十分でなく、メッセージの誤配信や改竄等が行われる可能性があった。例えば、不正やトピックによってメッセージが意図しないサブスクライバに配信されてしまったり、不正なサブスクライバによって改竄されてしまう可能性があった。 However, the security of the conventional Pub/Sub type communication is not always sufficient, and there is a possibility that a message may be erroneously delivered or tampered with. For example, a message may be delivered to an unintended subscriber due to fraud or a topic, or may be tampered with by an unauthorized subscriber.
本発明が解決しようとする課題は、よりセキュリティの高いPub/Sub型通信を実現することができる中継装置、中継方法及びコンピュータプログラムを提供することである。 An object of the present invention is to provide a relay device, a relay method, and a computer program that can realize Pub/Sub type communication with higher security.
実施形態の中継装置は、パブリッシュ・サブスクライブ型のメッセージング方式に基づいて、1以上のパブリッシャから受信されたメッセージを指定されたトピックに基づいて1以上のサブスクライバに配信する装置である。前記中継装置は、記憶部と、中継部と、を持つ。記憶部は、前記トピックのパブリッシャを示すトピック管理情報を予め記憶している。中継部は、前記トピック管理情報において前記トピックのパブリッシャとして予め設定されている送信装置からメッセージを受信し、受信した前記メッセージを前記トピックのサブスクライバである受信装置に送信する。 The relay device according to the embodiment is a device that delivers a message received from one or more publishers to one or more subscribers based on a specified topic based on a publish/subscribe messaging method. The relay device includes a storage unit and a relay unit. The storage unit stores in advance topic management information indicating the publisher of the topic. The relay unit receives a message from a transmission device preset as a publisher of the topic in the topic management information, and transmits the received message to a reception device that is a subscriber of the topic.
以下、実施形態の中継装置、中継方法及びコンピュータプログラムを、図面を参照して説明する。 Hereinafter, a relay device, a relay method, and a computer program according to the embodiments will be described with reference to the drawings.
(第1の実施形態)
図1は、第1の実施形態におけるパブリッシュ・サブスクライブ型(以下「Pub/Sub型」という。)通信システムの構成例を示す図である。図1に示す通信システム100は、第1の実施形態におけるPub/Sub型通信システムの一例である。通信システム100は、中継装置10、送信装置20、及び受信装置30を備える。中継装置10はネットワークN1を介して送信装置20と通信可能に接続され、ネットワークN2を介して受信装置30と通信可能に接続される。なお、中継装置10が送信装置20及び受信装置30と通信可能に接続される限りにおいて、通信システム100のネットワーク構成は図1と異なる構成であってもよい。
(First embodiment)
FIG. 1 is a diagram illustrating a configuration example of a publish/subscribe type (hereinafter referred to as “Pub/Sub type”) communication system according to the first embodiment. The
中継装置10は、Pub/Sub型通信におけるブローカとして機能する通信装置である。具体的には、中継装置10は、MQTT(Message Queueing Telemetry Transport)等のPub/Sub型メッセージング方式に基づいて、送信装置20が送信したメッセージを対応する受信装置30に中継する機能(以下「中継機能」という。)を有する。
The
送信装置20は、Pub/Sub型通信におけるパブリッシャとして機能する通信装置である。具体的には、送信装置20は、中継装置10のメッセージング方式に則って、配信対象のメッセージをブローカである中継装置10に送信する機能を有する。例えば、送信装置20は、登録先のトピックを示す情報(以下「トピック情報」という。)を付加したメッセージを中継装置10に送信する。なお、図1は、3台の送信装置20−1、20−2、20−3を備える通信システム100を示しているが、中継装置10に接続される送信装置20の数は少なくとも1以上であればよく、3未満であってもよいし、4以上であってもよい。
The
受信装置30は、Pub/Sub型通信におけるサブスクライバとして機能する通信装置である。具体的には、受信装置30は、中継装置10のメッセージング方式に則って、ブローカである中継装置10から購読対象のメッセージを受信する機能を有する。なお、図1は、3台の受信装置30−1、30−2、30−3を備える通信システム100を示しているが、中継装置10に接続される受信装置30の数は少なくとも1以上であればよく、3未満であってもよいし、4以上であってもよい。
The
このように構成される実施形態の通信システム100において、中継装置10は、上記の中継機能に加えて、トピックの設定者を認証する機能(以下「認証機能」という。)を有することにより、よりセキュリティの高いPub/Sub型通信を実現することができる。なお、ここでいうトピックの設定とは、トピックに対するパブリッシャ又はサブスクライバの対応づけを意味する。以下、実施形態の中継装置10の構成について詳細に説明する。
In the
図2は、第1の実施形態の中継装置10の機能構成の具体例を示す図である。中継装置10は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、プログラムを実行する。中継装置10は、プログラムの実行によって第1通信部101、第2通信部102、第3通信部103、第4通信部104、トピック管理情報記憶部105、メッセージ中継部106、認証部111及びトピック設定部112を備える装置として機能する。なお、中継装置10の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
FIG. 2 is a diagram illustrating a specific example of the functional configuration of the
第1通信部101、第2通信部102、第3通信部103及び第4通信部104は中継装置10を送信装置20及び受信装置30と通信可能に接続する通信インタフェースである。第1通信部101及び第2通信部102は、中継装置10を送信装置20と通信可能に接続する。第3通信部103及び第4通信部104は、中継装置10を受信装置30と通信可能に接続する。
The
中継装置10は第1通信部101及び第3通信部103を介してトピックの設定に関する通信を行い、第2通信部102及び第4通信部104を介してメッセージの送受信に関する通信を行う。なお、第1通信部101、第2通信部102、第3通信部103及び第4通信部104は、中継装置10が送信装置20及び受信装置30と通信可能である限りにおいて適宜集約又は分散されてもよい。
The
トピック管理情報記憶部105は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。トピック管理情報記憶部105はトピック管理情報を記憶する。トピック管理情報は、Pub/Sub型通信におけるトピックに関する設定情報である。トピック管理情報は、メッセージの送受信に先立って予めトピック管理情報記憶部105に記録される。
The topic management
図3及び図4は、第1の実施形態におけるトピック管理情報の具体例を示す図である。図3は、本実施形態の通信システム100のように、パブリッシャとして機能する通信装置(ここでは送信装置20)と、サブスクライバとして機能する通信装置(ここでは受信装置30)とが異なる装置として構成されている場合におけるトピック管理情報を示している。この場合、トピック管理情報は、例えば図3に示すトピック管理テーブルT1としてトピック管理情報記憶部105に記憶される。
3 and 4 are diagrams showing specific examples of the topic management information in the first embodiment. In FIG. 3, like the
トピック管理テーブルT1は、パブリッシャ又はサブスクライバとして機能する通信装置のIP(Internet Protocol)アドレスと、各通信装置が配信するメッセージのトピックと、の組み合わせごとに1つのレコードを有し、各レコードはIPアドレス、トピックID及びアクセス権の各値を持つ。 The topic management table T1 has one record for each combination of an IP (Internet Protocol) address of a communication device functioning as a publisher or a subscriber and a topic of a message distributed by each communication device, and each record has an IP address. , Topic ID and access right.
トピックIDは、対応するIPアドレスを持つ通信装置に対応づけられるトピックの識別情報である。アクセス権は、対応するIPアドレスを持つ通信装置が、対応するトピックに関して与えられる権限を表す。例えば、トピック管理テーブルT1のレコードR1は、“192.168.1.102”のIPアドレスを持つ通信装置がトピック“plantB”についてメッセージを配信(“publish”)可能であることを表している。また、例えば、トピック管理テーブルT1のレコードR2は、“192.168.2.102”のIPアドレスを持つ通信装置がトピック“plantB”についてメッセージを購読(“subscribe”)可能であることを表している。 The topic ID is identification information of a topic associated with a communication device having a corresponding IP address. The access right represents the authority given to the corresponding topic by the communication device having the corresponding IP address. For example, the record R1 of the topic management table T1 indicates that the communication device having the IP address of “192.168.1.102” can deliver (“publish”) a message for the topic “plantB”. Further, for example, the record R2 of the topic management table T1 indicates that the communication device having the IP address of “192.168.2.102” can subscribe (“subscribe”) a message for the topic “plantB”. There is.
なお、Pub/Sub型通信によってメッセージを送受信する通信装置は、必ずしもパブリッシャ又はサブスクライバのいずれかとして機能するものである必要はなく、パブリッシャ及びサブスクライバとして機能するものであってもよい。例えば、この場合のトピック管理情報は、図4に示すトピック管理テーブルT2のように設定される。 It should be noted that the communication device that transmits and receives messages by the Pub/Sub type communication does not necessarily have to function as either a publisher or a subscriber, and may function as a publisher and a subscriber. For example, the topic management information in this case is set as in the topic management table T2 shown in FIG.
図2の説明に戻る。メッセージ中継部106は、トピック管理情報に基づいてメッセージを中継する機能を有する。具体的には、メッセージ中継部106は、送信装置20から受信したメッセージを、そのメッセージに含まれているトピック情報が示すトピックに登録するとともに、トピックに登録されているメッセージを、そのトピックに対応づけられている受信装置30に送信する。
Returning to the explanation of FIG. The
認証部111は、トピックの設定要求(以下「トピック設定要求」という。)を受け付けるとともに、要求元の通信装置(ここでは送信装置20又は受信装置30)認証する機能(以下「認証機能」という。)を有する。なお、ここでいうトピックの設定とは、トピック管理情報の新規生成や、既存のトピック管理情報に対する設定の追加、変更、削除等を意味する。
The
また、上記の認証機能は、要求元の通信装置について上記設定資格の有無を判定することができればどのような方法で実現されてもよい。例えば、認証部111は、要求元の通信装置からユーザ名及びパスワード、秘密鍵、証明書等の資格情報を取得し、取得した資格情報に基づいて上記設定資格の有無を判定してもよい。また、認証部111は、要求元の通信装置を図示しない他の装置に依頼し、その認証結果に基づいて要求元の通信装置を認証してもよい。
Further, the above authentication function may be realized by any method as long as the presence or absence of the setting qualification can be determined for the requesting communication device. For example, the
具体的には、認証部111は、トピック設定要求の受け付けとともに、トピック管理情報に対する設定内容を示す情報(以下「設定要求情報」という。)を要求元の通信装置から取得する。一方で、認証部111は、トピック設定要求の受け付けに応じて要求元の通信装置の認証処理を行い、認証に成功した場合に設定要求情報をトピック設定部112に出力する。
Specifically, the
トピック設定部112は、トピックの設定機能を有する。具体的には、トピック設定部112は、認証部111が出力する設定要求情報を取得し、取得した設定要求情報が示す設定内容をトピック管理情報に反映させる。
The
図5は、第1の実施形態における送信装置20の機能構成の具体例を示す図である。送信装置20は、バスで接続されたCPUやメモリや補助記憶装置などを備え、プログラムを実行する。送信装置20は、プログラムの実行によって第1通信部21、第2通信部22、メッセージ送信部23及びトピック設定要求部24を備える装置として機能する。なお、送信装置20の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
FIG. 5 is a diagram illustrating a specific example of the functional configuration of the
第1通信部21及び第2通信部22は送信装置20を中継装置10と通信可能に接続する通信インタフェースである。送信装置20は第1通信部21を介してトピックの設定に関する通信を行い、第2通信部22を介してメッセージの送信に関する通信を行う。なお、第1通信部21及び第2通信部22は、送信装置20が中継装置10と通信可能である限りにおいて適宜集約又は分散されてもよい。
The
メッセージ送信部23は、Pub/Sub型通信におけるパブリッシャとして、ブローカである中継装置10に対してメッセージを送信する機能を有する。具体的には、メッセージ送信部23は、送信するメッセージに関するトピック情報(例えばトピックID)を予め記憶しており、トピック情報をメッセージに付加して中継装置10に送信する。なお、メッセージ送信部23は、送信する全てのメッセージに同じトピック情報を付加してもよいし、メッセージに応じて異なるトピック情報を付加してもよい。
The
トピック設定要求部24は、送信装置20をパブリッシャとするトピック設定要求を中継装置10に通知する機能を有する。トピック設定要求部24は、トピック設定要求の通知とともに、トピックの設定に関する資格情報と設定要求情報とを中継装置10に送信する。
The topic
図6は、第1の実施形態における受信装置30の機能構成の具体例を示す図である。受信装置30は、バスで接続されたCPUやメモリや補助記憶装置などを備え、プログラムを実行する。受信装置30は、プログラムの実行によって第1通信部31、第2通信部32、メッセージ受信部33及びトピック設定要求部34を備える装置として機能する。なお、受信装置30の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
FIG. 6 is a diagram illustrating a specific example of the functional configuration of the receiving
第1通信部31及び第2通信部32は受信装置30を中継装置10と通信可能に接続する通信インタフェースである。受信装置30は第1通信部31を介してトピックの設定に関する通信を行い、第2通信部32を介してメッセージの受信に関する通信を行う。なお、第1通信部31及び第2通信部32は、受信装置30が中継装置10と通信可能である限りにおいて適宜集約又は分散されてもよい。
The
メッセージ受信部33は、Pub/Sub型通信におけるサブスクライバとして、予め購読が申し込まれているトピックのメッセージを、ブローカである中継装置10から受信する機能を有する。
The
トピック設定要求部34は、送信装置20をサブスクライバとするトピック設定要求を中継装置10に通知する機能を有する。トピック設定要求部34は、トピック設定要求の通知とともに、トピックの設定に関する資格情報と設定要求情報とを中継装置10に送信する。
The topic
図7は、第1の実施形態の通信システム100がPub/Sub型通信によってメッセージを送受信する処理の具体例を示すシーケンス図である。なお、ここで説明するメッセージの送受信処理は、従来のPub/Sub型通信によるメッセージの送受信処理と同様である。
FIG. 7 is a sequence diagram showing a specific example of a process in which the
まず、送信装置20において配信すべきメッセージが発生した場合、送信装置20は、発生したメッセージをPub/Sub型通信のプロトコルに則って中継装置10に送信する(ステップS101)。具体的には、送信装置20は、送信するメッセージに関するトピック情報(例えばトピックID)を予め記憶しており、そのトピック情報をメッセージに付加して中継装置10に送信する。ここで、予め送信装置20に記憶されているトピック情報は全てのメッセージに共通の1つのトピックを示すものであってもよいし、メッセージに応じて異なる複数のトピックを示すものであってもよい。また、送信装置20は、1つのメッセージに対して1つのトピックを示すトピック情報を付加してもよいし、複数のトピックを示すトピック情報を付加してもよい。送信されたメッセージは中継装置10によって受信される。
First, when a message to be distributed is generated in the
中継装置10では、メッセージ中継部106が、受信されたメッセージの送信元である送信装置20がトピック管理情報に設定されているか否かを判定する(ステップS102)。例えば、メッセージ中継部106は、受信されたメッセージに付加されている送信元のIPアドレスを取得し、そのIPアドレスがパブリッシャとしてトピック管理情報に設定されているか否かを判定する。ここで、送信元の送信装置20がトピック管理情報に設定されている場合(ステップS102−YES)、メッセージ中継部106は受信されたメッセージの登録先として指定されているトピックがトピック管理情報に設定されているか否かを判定する(ステップS103)。
In the
具体的には、メッセージ中継部106は、受信されたメッセージに付加されているトピック情報に基づいて、そのメッセージの登録先として指定されているトピックを識別し、そのトピックがトピック管理情報において送信元の送信装置20に対応づけられているか否かを判定する。ここで、受信されたメッセージの登録先として指定されているトピックがトピック管理情報に設定されている場合(ステップS103−YES)、メッセージ中継部106は、トピック情報によって指定されたトピックに受信されたメッセージを登録するとともに、トピックに登録されているメッセージを、そのトピックに対応づけられている受信装置30に転送する(ステップS104)。このような一連の処理の流れにより、中継装置10は1以上の送信装置20から送信されたメッセージを対応する1以上の受信装置30に中継する。
Specifically, the
例えば、トピック管理情報が図3のように設定されている場合、IPアドレス“192.168.1.102”を持つ送信装置20が送信したメッセージは、送信元の送信装置20と同じトピック“plantB”に対応づけられたIPアドレスを持つ受信装置30に送信される。具体的には、IPアドレス“192.168.1.102”を持つ送信装置20が送信したメッセージは、IPアドレス“192.168.2.101”を持つ受信装置30と、IPアドレス“192.168.2.102”を持つ受信装置30と、に送信される。
For example, when the topic management information is set as shown in FIG. 3, the message transmitted by the
一方、ステップS102において、送信元の送信装置20がトピック管理情報に設定されていない場合(ステップS102−NO)、又はステップS103において、受信されたメッセージの登録先として指定されているトピックがトピック管理情報に設定されていない場合(ステップS103−NO)、メッセージ中継部106はメッセージの転送を行わずに廃棄する(ステップS105)。
On the other hand, in step S102, when the
このような一連の処理の流れでメッセージを中継することにより、中継装置10は正当な送信装置20から送信されたメッセージを受信装置30に中継し、不正な送信装置20から送信されたメッセージが受信装置30に中継されないようにすることができる。これは、以下で説明するトピックの設定処理により、メッセージの送受信に先立って正当な送信装置20だけがトピック管理情報に設定されているためである。
By relaying the message in such a series of processing flows, the
図8は、第1の実施形態の通信システム100がPub/Sub型通信によるメッセージの送受信に先立って行うトピックの設定処理の具体例を示すシーケンス図である。ここでは、パブリッシャ、サブスクライバの順にトピックの設定処理が行われる場合について説明するが、トピックの設定処理は必ずしもこの順序で行われる必要はない。例えば、トピックの設定処理は、サブスクライバ、パブリッシャの順に行われてもよい。
FIG. 8 is a sequence diagram showing a specific example of topic setting processing performed by the
[パブリッシャの設定]
まず、送信装置20が中継装置10に対してトピック設定要求を通知する(ステップS111)。このとき、送信装置20は、中継装置10に対して認証のための資格情報とともに設定要求情報を送信する。中継装置10は、トピック設定要求を受け付けるとともに、要求元の送信装置20から資格情報及び設定要求情報を受信する。
[Publisher Settings]
First, the
中継装置10では、認証部111が、受信された資格情報に基づいて要求元の送信装置20の認証処理を行い(ステップS112)、その認証結果を要求元の送信装置20に応答する(ステップS113)。
In the
続いて、トピック設定部112が、要求元の送信装置20の認証結果を判定し(ステップS114)、その判定結果に応じてトピックの設定処理を行う(ステップS115)。具体的には、要求元の送信装置20の認証に成功した場合(ステップS114−OK)、トピック設定部112は受信されている設定要求情報の示す設定内容をトピック設定情報に反映する。
Subsequently, the
例えば、ステップS111において、IPアドレス“192.168.1.102”を持つ送信装置20が、自身をトピック“plantB”のパブリッシャとして設定することを中継装置10に対して要求したとする。この場合、ステップS115では、図3に示すレコードR1がトピック管理テーブルT1に追加される。一方、要求元の送信装置20の認証に失敗した場合(ステップS114−NG)、トピック設定部112はトピックの設定を行わない。
For example, in step S111, it is assumed that the
[サブスクライバの設定]
まず、受信装置30が中継装置10に対してトピック設定要求を通知する(ステップS121)。このとき、受信装置30は、中継装置10に対して認証のための資格情報とともに設定要求情報を送信する。中継装置10は、トピック設定要求を受け付けるとともに、要求元の資格情報及び設定要求情報を受信する。
Subscriber settings
First, the receiving
中継装置10では、認証部111が、受信された資格情報に基づいて要求元の受信装置30の認証処理を行い(ステップS122)、その認証結果を要求元の受信装置30に応答する(ステップS123)。
In the
続いて、トピック設定部112が、要求元の受信装置30の認証結果を判定し(ステップS124)、その判定結果に応じてトピックの設定処理を行う(ステップS125)。具体的には、要求元の受信装置30の認証に成功した場合(ステップS124−OK)、トピック設定部112は受信されている設定要求情報に基づいてトピックの設定を行う。
Subsequently, the
例えば、ステップS121において、IPアドレス“192.168.2.102”を持つ受信装置30が、自身をトピック“plantB”のサブスクライバとして設定することを中継装置10に対して要求したとする。この場合、ステップS125では、図3に示すレコードR2がトピック管理テーブルT1に追加される。一方、要求元の受信装置30の認証に失敗している場合(ステップS124−NG)、トピック設定部112はトピックの設定を行わない。
For example, in step S121, the receiving
なお、図8では、パブリッシャの設定(ステップS111〜S115)と、サブスクライバの設定(ステップS121〜S125)との両方が行われる場合におけるトピックの設定処理の流れを説明したが、トピックの設定処理は必ずしもパブリッシャ及びサブスクライバの両方について行われる必要はない。例えば、トピックの設定処理は、必要に応じてパブリッシャ又はサブスクライバのいずれか一方について行われてもよい。 Note that FIG. 8 illustrates the flow of topic setting processing in the case where both publisher setting (steps S111 to S115) and subscriber setting (steps S121 to S125) are performed. It does not necessarily have to be done for both publishers and subscribers. For example, the topic setting process may be performed for either the publisher or the subscriber as necessary.
また、図8では、簡単のためトピック設定要求とともに設定要求情報が送信される場合について説明したが、設定要求情報は必ずしもトピック設定要求とともに送信される必要はない。例えば、設定要求情報は、認証の成功が通知された後で送信されてもよい。 Further, in FIG. 8, the case where the setting request information is transmitted together with the topic setting request has been described for simplification, but the setting request information does not necessarily need to be transmitted together with the topic setting request. For example, the setting request information may be transmitted after notification of successful authentication.
また、トピック設定部112は、設定要求情報が示すトピックがトピック管理テーブルに含まれていない場合、設定を要求されているトピックが不正であると判定し、トピック設定要求を破棄してもよい。
Further, when the topic indicated by the setting request information is not included in the topic management table, the
このように構成された第1の実施形態の通信システム100では、中継装置10がPub/Sub型通信におけるトピックの設定に関する認証機能を備えることにより、よりセキュリティの高いPub/Sub型通信を実現することができる。
In the
具体的には、第1の実施形態の通信システム100は、トピックの設定時においてパブリッシャ又はサブスクライバの認証を行うことで、不正なトピックが設定されることを抑制することができる。また、第1の実施形態の通信システム100は、予め設定されたアクセス権に基づいてトピックに対するメッセージの登録を行うことにより、メッセージ送受信時の通信負荷を増大させることなく、不正なメッセージが配信されることを抑制することができる。
Specifically, the
(第2の実施形態)
図9は、第2の実施形態におけるPub/Sub型通信システムの構成例を示す図である。図9に示す通信システム100aは、第2の実施形態におけるPub/Sub型通信システムの一例である。通信システム100aは、中継装置10に代えて中継装置10aを備える点、送信装置20に代えて送信装置20aを備える点で第1の実施形態の通信システム100と異なる。
(Second embodiment)
FIG. 9 is a diagram showing a configuration example of the Pub/Sub type communication system in the second embodiment. The
図10は、第2の実施形態の中継装置10aの機能構成の具体例を示す図である。中継装置10aは、トピック設定部112及びメッセージ中継部106に代えてトピック設定部112a及びメッセージ中継部106aを備える点、順序管理情報記憶部107及び改竄検知部108をさらに備える点で第1の実施形態の中継装置10と異なる。その他の機能部は第1の実施形態と同様のため、これらの機能部については図2と同じ符号を付すことにより説明を省略する。
FIG. 10 is a diagram illustrating a specific example of the functional configuration of the
順序管理情報記憶部107は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。順序管理情報記憶部107は順序管理情報を記憶する。順序管理情報は、通信システム100aにおいて送受信されるメッセージの順序管理に用いられる情報である。順序管理情報は、メッセージの送受信が開始される前に初期化され、メッセージの送受信に応じて更新される。例えば、順序管理情報は、トピック設定部112aによってトピックの設定時に更新され、メッセージ中継部106aによってメッセージの中継時に更新される。
The order management
図11は、第2の実施形態における順序管理情報の具体例を示す図である。例えば、順序管理情報は図11に示す順序管理テーブルT3として順序管理情報記憶部107に記憶される。順序管理テーブルT3は、送信装置20aと、その送信装置20aが配信するメッセージのトピックとの組み合わせごとに1つのレコードを有し、各レコードは、送信装置20aのIPアドレス、トピックID及びシーケンス番号の各値を持つ。シーケンス番号は、対応するトピックについて、対応する送信装置20aから受信されたメッセージの順序を表す値であり、メッセージが受信されるごとに所定のルールで増加する値であればどのような値であってもよい。
FIG. 11 is a diagram showing a specific example of order management information in the second embodiment. For example, the order management information is stored in the order management
例えば、シーケンス番号は、メッセージが受信されるごとに1ずつインクリメントされる数値であってもよいし、過去に受信したメッセージのデータサイズの累積和であってもよい。シーケンス番号は、送信装置20aと、その送信装置20aが配信するメッセージのトピックとの組み合わせごとに管理される。
For example, the sequence number may be a numerical value that is incremented by 1 each time a message is received, or may be the cumulative sum of the data sizes of previously received messages. The sequence number is managed for each combination of the
図10の説明に戻る。改竄検知部108は、受信されたメッセージの改竄を検知する機能を有する。具体的には、改竄検知部108は、受信されたメッセージに付加された改竄検知コード(改竄検知情報)を用いてそのメッセージが改竄されているか否かを判定する。改竄検知コードは、送信時のメッセージデータによってのみ得られる(可能性が十分に高い)データであればどのような方法で生成されてもよい。例えば、改竄検知コードの生成には、MAC(Message Authentication Code:メッセージ認証コード)関数やMIC(Message Integrity Code:メッセージ完全性コード)、ハッシュ関数等を用いることができる。
Returning to the description of FIG. The
中継装置10aが送信装置20aから受信するメッセージには、送信装置20aが送信時のメッセージデータを用いて生成した改竄検知コードが付加されており、改竄検知部108は、受信されたメッセージに付加されている改竄検知コードと、受信されたメッセージデータを用いて送信装置20aと同様の方法で生成した改竄検知コードと、の比較によりメッセージデータに対する改竄の有無を判定する。
The message received by the
図12は、第2の実施形態において送信装置20aから送信されるメッセージフォーマットの具体例を示す図である。図12に示すメッセージMは送信装置20aから送信されるメッセージの具体例であり、例えば、実データが格納されるペイロード部M1と、ペイロード部M1に送信元識別子、メッセージ長、トピックID、シーケンス番号を付加するヘッダ部M2と、ペイロード部M1に改竄検知コードを付加するフッタ部M3と、で構成される。この場合、少なくともペイロード部M1を含むメッセージデータを用いて生成された改竄検知コードがフッタ部M3として付加される。なお、ここでのシーケンス番号は、送信装置20aにおけるメッセージの送信順序を表す。
FIG. 12 is a diagram showing a specific example of a message format transmitted from the
この場合、改竄検知部108は、フッタ部M3に付加された改竄検知コードの生成方法を予め記憶しており、受信されたメッセージデータを用いて送信装置20aと同様の方法で改竄検知コードを生成する。例えば、フッタ部M3に付加される改竄検知コードが、ペイロード部M1及びヘッダ部M2のメッセージデータを用いて生成される場合、改竄検知部108は、受信されたメッセージデータのペイロード部M1及びヘッダ部M2のデータを用いて改竄検知コードを生成する。そして、改竄検知部108は、受信された改善検知コードと生成した改竄検知コードとを比較し、両者が等しい場合に改竄無しと判定し、両者が異なる場合に改竄有りと判定する。
In this case, the
改竄検知部108は、改竄無しと判定した場合には、受信されたメッセージをメッセージ中継部106aに出力し、改竄有りと判定した場合には、受信されたメッセージを破棄する。なお、改竄検知部108は、改竄有りと判定した場合には、その旨を通知する動作を行うように構成されてもよい。
The
図10の説明に戻る。メッセージ中継部106aは、改竄検知部108から出力されたメッセージを受信装置30に中継する点では第1の実施形態におけるメッセージ中継部106と同様であるが、この中継の際に、メッセージの順序確認を行う点で第1の実施形態におけるメッセージ中継部106と異なる。具体的には、メッセージ中継部106aは、受信されたメッセージに付加されているシーケンス番号と、自装置で管理されているシーケンス番号との比較によってメッセージが正しい順序で受信されているか否かを判定する。メッセージ中継部106aは、受信順序が正しい場合にメッセージを中継するように構成されてもよいし、受信順序の不整合が検知された場合には、その旨を通知する動作を行うように構成されてもよい。
Returning to the description of FIG. The
トピック設定部112aは、送信装置20a及び受信装置30のトピック設定要求に応じてトピックの設定を行う点では第1の実施形態におけるトピック設定部112と同様であるが、この設定の際に、順序管理情報(具体的にはシーケンス番号)を初期化する点で第1の実施形態におけるトピック設定部112と異なる。例えば、図11の例の場合、トピック設定部112aは、トピックの設定に応じて、シーケンス番号x、y、zをそれぞれ初期値に初期化する。なお、初期値には‘0’や‘1’等の予め定められた値が用いられてもよいし、初期化のタイミングでランダムに決定されてもよい。初期値がランダムに決定される場合、トピック設定部112aは決定した初期値を送信装置20aに通知し、送信装置20aは通知された初期値でメッセージ送信を開始する。
The
図13は、第2の実施形態の送信装置20aの機能構成の具体例を示す図である。送信装置20aは、メッセージ送信部23に代えてメッセージ送信部23aを備える点で第1の実施形態の送信装置20と異なる。その他の機能部は第1の実施形態と同様のため、これらの機能部については図5と同じ符号を付すことにより説明を省略する。
FIG. 13 is a diagram illustrating a specific example of the functional configuration of the
メッセージ送信部23aは、Pub/Sub型通信におけるパブリッシャとして、ブローカである中継装置10に対してメッセージを送信する点では第1の実施形態におけるメッセージ送信部23と同様であるが、送信するメッセージにシーケンス番号及び改竄検知コードを付加する点で第1の実施形態におけるメッセージ送信部23と異なる。
The
図14は、第2の実施形態の通信システム100aがPub/Sub型通信によってメッセージを送受信する処理の具体例を示すシーケンス図である。図14に示すシーケンス図は、中継装置10aがトピック判定処理(ステップS103)とメッセージ転送処理(ステップS104)との間で改竄判定処理(ステップS201)及び順序判定処理(ステップS202)を行う点、メッセージ廃棄処理(ステップS105)とともに改竄検知通知(ステップS203)を行う点で、第1の実施形態におけるメッセージの送受信処理(図7参照)と異なる。その他の処理は第1の実施形態と同様であるため、その他の同様の処理については図7と同じ符号を付すことにより説明を省略する。
FIG. 14 is a sequence diagram showing a specific example of a process in which the
また、ここでは、中継装置10aが、メッセージの改竄が検出されていない場合、かつ正しい順序でメッセージが受信されている場合に受信装置30にメッセージを転送し、メッセージの改竄が検出された場合、又は正しい順序でメッセージが受信されていない場合にはメッセージの転送を行わずにその旨を通知する例を示したが、改竄の検出結果又は順序判定の結果に基づいてどのような処理を行うかは任意に変更されてよい。例えば、中継装置10aは、改竄の検出結果又は順序判定の結果によらずメッセージを転送し、改竄が検出された場合にのみその旨を通知するように構成されてもよい。
Further, here, when the tampering of the message is not detected, and when the message is received in the correct order, the
図15は、第2の実施形態の通信システム100aがPub/Sub型通信によるメッセージの送受信に先立って行うトピックの設定処理の具体例を示すシーケンス図である。図15に示すシーケンス図は、中継装置10aがパブリッシャについてトピックの設定を行った(ステップS115)後にシーケンス番号を初期化する(ステップS301)点で、第1の実施形態におけるトピックの設定処理(図8参照)と異なる。その他の処理は第1の実施形態と同様であるため、その他の同様の処理については図8と同じ符号を付すことにより説明を省略する。
FIG. 15 is a sequence diagram showing a specific example of topic setting processing performed by the
このように構成された第2の実施形態の通信システム100aでは、中継装置10aがPub/Sub型通信におけるトピックの設定に関する認証機能を備えることにより、よりセキュリティの高いPub/Sub型通信を実現することができる。さらに、第2の実施形態の通信システム100aでは、中継装置10aが、受信したメッセージに対する改竄の有無を検知する機能と、受信したメッセージの受信順序を確認する機能と、を持つことにより、さらにセキュリティの高いPub/Sub型通信を実現することができる。
In the
(第3の実施形態)
図16は、第3の実施形態におけるPub/Sub型通信システムの構成例を示す図である。図16に示す通信システム100bは、第2の実施形態におけるPub/Sub型通信システムの一例である。通信システム100bは、中継装置10、送信装置20及び受信装置30に代えて中継装置10b、送信装置20b及び受信装置30bを備える点、管理装置40をさらに備える点で第1の実施形態の通信システム100と異なる。
(Third Embodiment)
FIG. 16 is a diagram showing a configuration example of the Pub/Sub type communication system in the third embodiment. A
中継装置10bは、管理装置40のトピック設定要求に応じてトピックの設定処理を行う点で第1の実施形態の中継装置10と異なる。送信装置20bは第1通信部21及びトピック設定要求部24を備えない点で第1の実施形態の送信装置20と異なる。受信装置30bは第1通信部31及びトピック設定要求部34を備えない点で第1の実施形態の受信装置30と異なる。
The
管理装置40は、第1の実施形態における送信装置20及び受信装置30に代えて中継装置10bにトピックの設定を要求する装置である。管理装置40はネットワークN3を介して中継装置10bと通信可能に接続される。なお、管理装置40が中継装置10bと通信可能に接続される限りにおいて、通信システム100bのネットワーク構成は図16と異なる構成であってもよい。
The
すなわち、第3の実施形態における通信システム100bは、第1の実施形態ではパブリッシャ(送信装置20)及びサブスクライバ(受信装置30)が有していた、ブローカ(中継装置10)に対するトピックの設定要求機能を、パブリッシャ及びサブスクライバとは異なる管理装置40に持たせた点で第1の実施形態における通信システム100と異なる。一方、第3の実施形態におけるメッセージの送受信処理は第1の実施形態と同様である(図7参照)。そのため、以下では、トピックの設定処理についてのみ説明し、メッセージの送受信処理についての説明を省略する。
That is, in the
図17は、第3の実施形態の中継装置10bの機能構成の具体例を示す図である。中継装置10bは、第3通信部103を備えない点、認証部111に代えて認証部111bを備える点で第1の実施形態の中継装置10と異なる。認証部111bは、第1の実施形態における認証部111と同様の認証機能を有するものの、認証の対象が管理装置40である点で第1の実施形態における認証部111と異なる。その他の機能部については第1の実施形態の中継装置10と同様である。そのため、第1の実施形態と同様の機能部については図2と同じ符号を付すことにより説明を省略する。
FIG. 17 is a diagram illustrating a specific example of the functional configuration of the
図18は、第3の実施形態の管理装置40の機能構成の具体例を示す図である。管理装置40は、バスで接続されたCPUやメモリや補助記憶装置などを備え、プログラムを実行する。管理装置40は、プログラムの実行によって第1通信部41、第2通信部42、第1トピック設定要求部43及び第2トピック設定要求部44を備える装置として機能する。なお、管理装置40の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
FIG. 18 is a diagram illustrating a specific example of the functional configuration of the
第1通信部41及び第2通信部42は管理装置40を中継装置10bと通信可能に接続する通信インタフェースである。管理装置40は第1通信部41を介してパブリッシャのトピック設定に関する通信を行い、第2通信部42を介してサブスクライバのトピック設定に関する通信を行う。なお、第1通信部41及び第2通信部42は、管理装置40が中継装置10bと通信可能である限りにおいて適宜集約又は分散されてもよい。
The
第1トピック設定要求部43は、第1の実施形態の送信装置20におけるトピック設定要求部24と同様の機能部であり、送信装置20bをパブリッシャとするトピック設定要求を中継装置10bに通知する機能を有する。すなわち、第1トピック設定要求部43は、トピック設定要求部24と同様に、トピック設定要求の通知とともに、パブリッシャのトピック設定に関する資格情報と設定要求情報とを中継装置10bに送信する。
The first topic setting requesting
第2トピック設定要求部44は、第1の実施形態の受信装置30におけるトピック設定要求部34と同様の機能部であり、受信装置30bをサブスクライバとするトピック設定要求を中継装置10bに通知する機能を有する。すなわち、第2トピック設定要求部44は、トピック設定要求部34と同様に、トピック設定要求の通知とともに、サブスクライバのトピック設定に関する資格情報と設定要求情報とを中継装置10bに送信する。
The second topic setting requesting
図19は、第3の実施形態の通信システム100bにおけるトピックの設定処理の具体例を示すシーケンス図である。図19に示すシーケンス図は、第1の実施形態におけるトピックの設定処理(図8参照)において送信装置20及び受信装置30が実行した処理の一部を管理装置40に実行させるようにしたものであり、各処理の内容は第1の実施形態と同様である。そのため、図19に示す各処理については、図8において対応する同様の処理と同じ符号を付すことにより各処理の説明を省略する。
FIG. 19 is a sequence diagram showing a specific example of topic setting processing in the
このように構成された第3の実施形態の通信システム100bでは、中継装置10bがPub/Sub型通信におけるトピックの設定に関する認証機能を備えることにより、よりセキュリティの高いPub/Sub型通信を実現することができる。さらに、第3の実施形態の通信システム100bでは、中継装置10bに対するトピックの設定要求を管理装置40が行うため、既存の送信装置及び受信装置を変更することなく第3の実施形態の通信システム100bを構成することができる。
In the
(第4の実施形態)
図20は、第4の実施形態におけるPub/Sub型通信システムの構成例を示す図である。図20に示す通信システム100cは、第4の実施形態におけるPub/Sub型通信システムの一例である。通信システム100cは、中継装置10及び送信装置20に代えて中継装置10c及び送信装置20cを備える点で第3の実施形態の通信システム100bと異なる。
(Fourth Embodiment)
FIG. 20 is a diagram showing a configuration example of the Pub/Sub type communication system in the fourth embodiment. The
図21は、第4の実施形態における中継装置10cの機能構成の具体例を示す図である。中継装置10cは、第3通信部103を備えない点、第1通信部101を介して管理装置40と通信する点で第2の実施形態の中継装置10aと異なる。
FIG. 21 is a diagram showing a specific example of the functional configuration of the
図22は、第4の実施形態における送信装置20cの機能構成の具体例を示す図である。送信装置20cは、第1通信部21及びトピック設定要求部24を備えない点で第2の実施形態の送信装置20aと異なる。
FIG. 22 is a diagram showing a specific example of the functional configuration of the
すなわち、第4の実施形態の通信システム100cは、第3の実施形態の通信システム100bに対して、第2の実施形態の通信システム100aにおけるメッセージの送受信に関する構成を追加したものであるということができる。すなわち、第4の実施形態におけるメッセージの送受信処理は第2の実施形態と同様である(図14参照)。そのため、以下では、トピックの設定処理についてのみ説明し、メッセージの送受信処理についての説明を省略する。
That is, the
図23は、第4の実施形態の通信システム100cがPub/Sub型通信によるメッセージの送受信に先立って行うトピックの設定処理の具体例を示すシーケンス図である。図23に示すシーケンス図は、中継装置10cがパブリッシャについてトピックの設定を行った(ステップS115)後にシーケンス番号を初期化する(ステップS301)点で、第3の実施形態におけるトピックの設定処理(図19参照)と異なる。その他の処理は第3の実施形態と同様であるため、その他の同様の処理については図19と同じ符号を付すことにより説明を省略する。
FIG. 23 is a sequence diagram showing a specific example of topic setting processing performed by the
このように構成された第4の実施形態の通信システム100cでは、中継装置10cがPub/Sub型通信におけるトピックの設定に関する認証機能を備えることにより、よりセキュリティの高いPub/Sub型通信を実現することができる。さらに、第4の実施形態の通信システム100cでは、中継装置10cが、受信したメッセージに対する改竄の有無を検知する機能と、受信したメッセージの受信順序を確認する機能と、を持つことにより、さらにセキュリティの高いPub/Sub型通信を実現することができる。さらに、第4の実施形態の通信システム100cでは、中継装置10cに対するトピックの設定要求を管理装置40が行うため、さらにセキュリティの高いPub/Sub型通信を実現することができる。
In the
(変形例)
メッセージの送受信処理に先立って行われるトピックの設定処理は、その設定処理によって設定されるトピックに関連するメッセージ送受信が開始される前のタイミングであれば任意のタイミングで実行されてよい。例えば、これらの設定処理は、送信装置及び受信装置、又は管理装置のそれぞれの起動時において実行されてもよいし、ユーザの実行指示に応じて実行されてもよい。また、これらの設定処理は、関連するメッセージの送受信が行われる直前に実行されてもよい。
(Modification)
The topic setting process performed prior to the message transmission/reception process may be executed at any timing before the message transmission/reception related to the topic set by the setting process is started. For example, these setting processes may be executed when each of the transmission device and the reception device or the management device is activated, or may be executed in response to an execution instruction from the user. Further, these setting processes may be executed immediately before the transmission/reception of the related message.
トピック管理情報と順序管理情報とは必ずしも異なる情報として記憶される必要はない。例えば、トピック管理テーブルT1又はT2と、順序管理テーブルT3とは、1つのテーブルに統合されてもよい。 The topic management information and the order management information do not necessarily have to be stored as different information. For example, the topic management table T1 or T2 and the order management table T3 may be integrated into one table.
ネットワークN1、N2及びN3は、例えばLAN(Local Area Network)などのローカルな通信回線であっても良いし、インターネットや専用回線などの広域な有線通信回線であってもよい。また、ネットワークN1、N2及びN3は、3G(3rd Generation)、4G(4th Generation)、5G(5th Generation)、LPWA(Low-Power Wide-Area Network)などの広域な無線通信回線を用いてもよい。 The networks N1, N2, and N3 may be local communication lines such as a LAN (Local Area Network), or wide-area wired communication lines such as the Internet and a dedicated line. The networks N1, N2, and N3 may use wide-area wireless communication lines such as 3G (3rd Generation), 4G (4th Generation), 5G (5th Generation), and LPWA (Low-Power Wide-Area Network). ..
トピック管理テーブルに登録される各機器の識別情報には、各機器の識別が可能な情報であればIPアドレス以外の情報が用いられてもよい。例えば、トピック管理テーブルには、各機器のMAC(Media Access Control)アドレスが用いられてもよい。 As the identification information of each device registered in the topic management table, information other than the IP address may be used as long as the information can identify each device. For example, the topic management table may use the MAC (Media Access Control) address of each device.
メッセージ中継部は、不正な順序でメッセージが受信された場合、その旨を他の装置(例えば送信装置)に通知するように構成されてもよいし、その旨をログファイル等に記録する、又は監視画面等に表示するように構成されてもよい。 The message relay unit may be configured to notify other devices (for example, the transmitting device) of the fact that the messages are received in an improper order, and record that fact in a log file or the like, or It may be configured to be displayed on a monitoring screen or the like.
トピック判定処理(ステップS103)、改竄検知処理(ステップS201)、順序判定処理(ステップS202)の各処理は、必ずしも図14に示す順序で行われる必要はなく、任意の順序で行われてよい。 The topic determination process (step S103), the falsification detection process (step S201), and the order determination process (step S202) do not necessarily have to be performed in the order shown in FIG. 14, and may be performed in any order.
改竄検知部は、シーケンス番号も含めた改ざん検知を行う場合、必ずしもメッセージの順序判定処理を行う必要はない。一方、順序判定処理を行う場合、改竄検知部はパケットロスを検知したことに応じて送信装置に再送を指示してもよい。 The tampering detection unit does not necessarily need to perform message order determination processing when performing tampering detection including a sequence number. On the other hand, when performing the order determination process, the tampering detection unit may instruct the transmission device to retransmit in response to the detection of the packet loss.
例えば、実施形態の通信システムは、プラント等の監視制御システムにおいて多様なセンサデータを収集する手段として適用することができる。この場合、送信装置はセンサデータを一定周期で取得して中継装置へ送信する機能を有してもよい。また、受信装置はセンサデータを利用するアプリケーションの実行により、センサデータの記憶、表示又は分析を行う機能を有してもよい。また、センサデータは、例えば、監視制御対象の温度、湿度、濃度、水位、水量、流量、圧力、回転数、重量、電圧、電流等の計測値や、運転中、停止中、異常発生、故障発生等の動作状態や異常状態などを示す情報であってもよいし、画像、映像、音声、テキスト等のマルチメディアデータであってもよい。 For example, the communication system of the embodiment can be applied as means for collecting various sensor data in a supervisory control system such as a plant. In this case, the transmission device may have a function of acquiring the sensor data at regular intervals and transmitting the sensor data to the relay device. Further, the receiving device may have a function of storing, displaying, or analyzing the sensor data by executing an application that uses the sensor data. Further, the sensor data includes, for example, measured values of temperature, humidity, concentration, water level, water amount, flow rate, pressure, rotation speed, weight, voltage, current, etc. of the monitoring control target, during operation, during stoppage, abnormality occurrence, failure. The information may be information indicating an operation state such as occurrence or an abnormal state, or may be multimedia data such as an image, a video, a voice, or a text.
以上説明した少なくともひとつの実施形態によれば、トピックのパブリッシャを示すトピック管理情報を予め記憶している記憶部と、トピック管理情報においてトピックのパブリッシャとして予め設定されている送信装置からメッセージを受信し、受信したメッセージをトピックのサブスクライバである受信装置に送信する中継部と、を持つことにより、よりセキュリティの高いPub/Sub型通信を実現することができる。 According to at least one embodiment described above, a message is received from a storage unit that stores in advance topic management information indicating a publisher of a topic, and a transmission device preset in the topic management information as a topic publisher. By having the relay unit that transmits the received message to the receiving device which is the subscriber of the topic, it is possible to realize Pub/Sub communication with higher security.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the spirit of the invention. These embodiments and their modifications are included in the invention described in the claims and the equivalents thereof as well as included in the scope and the gist of the invention.
100,100a,100b,100c…通信システム、10,10a,10b,10c…中継装置、101…第1通信部、102…第2通信部、103…第3通信部、104…第4通信部、105…トピック管理情報記憶部、106,106a…メッセージ中継部、107…順序管理情報記憶部、108…改竄検知部、111,111b…認証部、112,112a…トピック設定部、20,20a,20b,20c…送信装置、21…第1通信部、22…第2通信部、23,23a…メッセージ送信部、24…トピック設定要求部、30,30b…受信装置、31…第1通信部、32…第2通信部、33…メッセージ受信部、34…トピック設定要求部、40…管理装置、41…第1通信部、42…第2通信部、43…第1トピック設定要求部、44…第2トピック設定要求部 100, 100a, 100b, 100c... Communication system, 10, 10a, 10b, 10c... Relay device, 101... First communication unit, 102... Second communication unit, 103... Third communication unit, 104... Fourth communication unit, 105... Topic management information storage unit, 106, 106a... Message relay unit, 107... Sequence management information storage unit, 108... Falsification detection unit, 111, 111b... Authentication unit, 112, 112a... Topic setting unit, 20, 20a, 20b , 20c... Sending device, 21... First communication unit, 22... Second communication unit, 23, 23a... Message sending unit, 24... Topic setting requesting unit, 30, 30b... Receiving device, 31... First communication unit, 32 ...Second communication unit, 33... message receiving unit, 34... topic setting requesting unit, 40... management device, 41... first communication unit, 42... second communication unit, 43... first topic setting requesting unit, 44... 2 Topic setting request section
Claims (13)
前記トピックのパブリッシャを示すトピック管理情報を予め記憶している記憶部と、
前記トピック管理情報において前記トピックのパブリッシャとして予め設定されている送信装置からメッセージを受信し、受信した前記メッセージを前記トピックのサブスクライバである受信装置に送信する中継部と、
を備える中継装置。 A relay device for delivering a message received from one or more publishers to one or more subscribers based on a specified topic based on a publish/subscribe type messaging system,
A storage unit that stores in advance topic management information indicating the publisher of the topic,
A relay unit that receives a message from a transmission device preset as a publisher of the topic in the topic management information, and transmits the received message to a reception device that is a subscriber of the topic;
A relay device including.
前記通信装置が前記認証部によって認証された場合に、前記送信装置を前記トピックのパブリッシャとして前記トピック管理情報に登録するトピック設定部と、
をさらに備える、
請求項1に記載の中継装置。 An authentication unit that performs authentication processing of the communication device requesting that the transmission device be a publisher of the topic;
A topic setting unit that registers the transmission device in the topic management information as a publisher of the topic when the communication device is authenticated by the authentication unit;
Further comprising,
The relay device according to claim 1.
請求項2に記載の中継装置。 The topic setting unit registers the transmitting device in the topic management information as a publisher of the topic when the topic is registered in the topic management information in advance,
The relay device according to claim 2.
請求項1又は2に記載の中継装置。 The communication device is the transmitting device,
The relay device according to claim 1 or 2.
前記受信装置を前記トピックのサブスクライバとすることを要求する通信装置の認証処理を行う認証部と、
前記通信装置が前記認証部によって認証された場合に、前記受信装置を前記トピックのサブスクライバとして前記トピック管理情報に登録するトピック設定部と、
をさらに備える、
請求項1に記載の中継装置。 The topic management information further indicates subscribers to the topic,
An authentication unit that performs authentication processing of a communication device that requests that the receiving device be a subscriber of the topic,
A topic setting unit that registers the receiving device in the topic management information as a subscriber of the topic when the communication device is authenticated by the authenticating unit;
Further comprising,
The relay device according to claim 1.
請求項5に記載の中継装置。 The topic setting unit registers the receiving device in the topic management information as a subscriber of the topic when the topic is registered in the topic management information in advance,
The relay device according to claim 5.
請求項5又は6に記載の中継装置。 The communication device is the receiving device,
The relay device according to claim 5 or 6.
請求項2、3、5及び6のいずれか一項に記載の中継装置。 The communication device is a device different from the transmission device, the reception device, and the relay device,
The relay device according to claim 2, 3, 5, or 6.
前記中継部は、改竄されていないメッセージを前記受信装置に送信する、
請求項1から8のいずれか一項に記載の中継装置。 A tampering detection unit for detecting tampering with respect to the message based on tampering detection information added to the message received from the transmission device,
The relay unit transmits an untampered message to the receiving device,
The relay device according to any one of claims 1 to 8.
前記中継部は、前記メッセージに付加された前記メッセージの送信順序を示す情報と、前記順序管理情報が示す受信順序とが等しい場合に、前記メッセージを前記受信装置に送信する、
請求項1から9のいずれか一項に記載の中継装置。 The storage unit further stores order management information indicating a reception order of messages received from the transmission device,
The relay unit transmits the message to the receiving device when the information indicating the transmission order of the messages added to the message and the reception order indicated by the order management information are the same.
The relay device according to any one of claims 1 to 9.
請求項1から10のいずれか一項に記載の中継装置。 When the information indicating the transmission order of the messages added to the message and the reception order indicated by the order management information are not equal, the relay unit has a function of notifying the fact.
The relay device according to any one of claims 1 to 10.
前記トピックのパブリッシャを示すトピック管理情報を予め記憶するステップと、
前記トピック管理情報において前記トピックのパブリッシャとして予め設定されている送信装置からメッセージを受信し、受信した前記メッセージを前記トピックのサブスクライバである受信装置に送信するステップと、
を有する中継方法。 A relay method for delivering a message received from one or more publishers to one or more subscribers based on a specified topic based on a publish/subscribe messaging method, comprising:
Pre-storing topic management information indicating the publisher of the topic;
Receiving a message from a transmission device preset as a publisher of the topic in the topic management information, and transmitting the received message to a reception device that is a subscriber of the topic,
Relay method having.
前記トピックのパブリッシャを示すトピック管理情報を予め記憶するステップと、
前記トピック管理情報において前記トピックのパブリッシャとして予め設定されている送信装置からメッセージを受信し、受信した前記メッセージを前記トピックのサブスクライバである受信装置に送信するステップと、
を実行させるためのコンピュータプログラム。 A computer that functions as a relay device that delivers messages received from one or more publishers to one or more subscribers based on a specified topic based on the publish/subscribe type messaging system,
Pre-storing topic management information indicating the publisher of the topic;
Receiving a message from a transmission device preset as a publisher of the topic in the topic management information, and transmitting the received message to a reception device that is a subscriber of the topic,
A computer program for executing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018227667A JP2020092318A (en) | 2018-12-04 | 2018-12-04 | Relay device, relay method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018227667A JP2020092318A (en) | 2018-12-04 | 2018-12-04 | Relay device, relay method, and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020092318A true JP2020092318A (en) | 2020-06-11 |
Family
ID=71013914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018227667A Pending JP2020092318A (en) | 2018-12-04 | 2018-12-04 | Relay device, relay method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020092318A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064741A (en) * | 2022-01-17 | 2022-02-18 | 天津所托瑞安汽车科技有限公司 | Method, device and equipment for acquiring prepositive data and storage medium |
WO2022180691A1 (en) * | 2021-02-24 | 2022-09-01 | 日本電信電話株式会社 | Communication system, communication device, fraud determination method, and program |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060056628A1 (en) * | 2002-12-12 | 2006-03-16 | International Business Machines Corporation | Methods, apparatus and computer programs for processing alerts and auditing in a publish/subscribe system |
JP2007288725A (en) * | 2006-04-20 | 2007-11-01 | Sanden Corp | Connection apparatus for communications equipment |
JP2017028345A (en) * | 2015-07-15 | 2017-02-02 | 日立オートモティブシステムズ株式会社 | Gateway device and control method thereof |
US20170149755A1 (en) * | 2015-11-25 | 2017-05-25 | Takuya SONEDA | Management system, communication control method, and communication system |
JP2017097652A (en) * | 2015-11-25 | 2017-06-01 | 株式会社リコー | Management system, communication system, communication control method, and program |
WO2017170176A1 (en) * | 2016-03-28 | 2017-10-05 | 株式会社リコー | Information transmission system, information transmission method, and program |
-
2018
- 2018-12-04 JP JP2018227667A patent/JP2020092318A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060056628A1 (en) * | 2002-12-12 | 2006-03-16 | International Business Machines Corporation | Methods, apparatus and computer programs for processing alerts and auditing in a publish/subscribe system |
JP2007288725A (en) * | 2006-04-20 | 2007-11-01 | Sanden Corp | Connection apparatus for communications equipment |
JP2017028345A (en) * | 2015-07-15 | 2017-02-02 | 日立オートモティブシステムズ株式会社 | Gateway device and control method thereof |
US20170149755A1 (en) * | 2015-11-25 | 2017-05-25 | Takuya SONEDA | Management system, communication control method, and communication system |
JP2017097652A (en) * | 2015-11-25 | 2017-06-01 | 株式会社リコー | Management system, communication system, communication control method, and program |
WO2017170176A1 (en) * | 2016-03-28 | 2017-10-05 | 株式会社リコー | Information transmission system, information transmission method, and program |
Non-Patent Citations (1)
Title |
---|
"MQTT統合ネットワーク", 電気学会研究会資料, vol. システム研究会 ST−18−119〜13, JPN6022020605, 6 November 2018 (2018-11-06), JP, ISSN: 0004786019 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022180691A1 (en) * | 2021-02-24 | 2022-09-01 | 日本電信電話株式会社 | Communication system, communication device, fraud determination method, and program |
CN114064741A (en) * | 2022-01-17 | 2022-02-18 | 天津所托瑞安汽车科技有限公司 | Method, device and equipment for acquiring prepositive data and storage medium |
CN114064741B (en) * | 2022-01-17 | 2022-05-24 | 天津所托瑞安汽车科技有限公司 | Method, device and equipment for acquiring prepositive data and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10284553B2 (en) | Relay apparatus, terminal apparatus, and communication method | |
CN108667601B (en) | Method, device and equipment for transmitting data | |
JP6282779B2 (en) | Management apparatus, program, system and method | |
WO2015188440A1 (en) | Resource subscription processing method and device | |
US20100180123A1 (en) | Procedure and architecture for the protection of real time data | |
US9438427B2 (en) | Method and system for providing a plurality of tamperproof digital certificates for a plurality of public keys of a device | |
US10699031B2 (en) | Secure transactions in a memory fabric | |
US9699202B2 (en) | Intrusion detection to prevent impersonation attacks in computer networks | |
KR20150135032A (en) | System and method for updating secret key using physical unclonable function | |
GB2555183A (en) | Method for secure data management in a computer network | |
JP2020092318A (en) | Relay device, relay method, and computer program | |
JP6419217B2 (en) | Method for transferring data between computer systems, computer network infrastructure, and computer program product | |
JP2012204895A (en) | Information processor | |
US9641543B2 (en) | Systems and methods for securing remote configuration | |
JP5336262B2 (en) | User authentication system and user authentication method | |
US11336657B2 (en) | Securing communication within a communication network using multiple security functions | |
WO2019239191A1 (en) | Methods, wireless modules, electronic devices and server devices | |
US9781131B2 (en) | Systems and methods for securing remote configuration | |
JPH1032573A (en) | Receiving protocol equipment, multi-address message transmitter and transmission and reception protocol equipment | |
CN113169865A (en) | Control device, industrial control system, and encryption key life prolonging method | |
JP2020113852A (en) | On-vehicle communication system, on-vehicle communication control apparatus, on-vehicle communication apparatus, computer program, communication control method and communication method | |
TWI709309B (en) | Network management device and network management method thereof | |
CN111698299B (en) | Session object replication method, device, distributed micro-service architecture and medium | |
CN110968442B (en) | Data processing method and device | |
US20230412369A1 (en) | Communication system, information processing device, information processing method, and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220531 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20221129 |