JP2021106323A - 異常検知システム及び異常検知方法 - Google Patents
異常検知システム及び異常検知方法 Download PDFInfo
- Publication number
- JP2021106323A JP2021106323A JP2019236641A JP2019236641A JP2021106323A JP 2021106323 A JP2021106323 A JP 2021106323A JP 2019236641 A JP2019236641 A JP 2019236641A JP 2019236641 A JP2019236641 A JP 2019236641A JP 2021106323 A JP2021106323 A JP 2021106323A
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- node device
- verification
- node
- management server
- 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
Abstract
【課題】計算リソースが限定的なノード装置から構成されるブロックチェーンネットワークに適した異常検知システムを提供する。【解決手段】異常検知システム10において、ブロックチェーンネットワークを構成するノード装置群と、ブロックチェーンネットワークを管理する管理サーバと、を有する。第1のノード装置がログデータに基づき対象機器に対して状態判定を実行し、判定結果に応じてトランザクションを管理サーバに送信し、管理サーバが所定の選定基準に従ってトランザクションを検証する検証ノード装置群を選定し、選定した検証ノード装置群にトランザクションを送信し、検証ノード装置群がトランザクションの検証結果を管理サーバに送信し、管理サーバがトランザクションの検証成功通知を受信すると、トランザクションの承認を第1のノード装置に通知し、ノード装置群がトランザクションをブロックチェーンに記録する。【選択図】図1
Description
本発明は、異常検知システム及び異常検知方法に関する。
工場、設備、プラント等では、アクチュエータなどのエッジ機器の状態がセンサなどによって検知され、収集されたログデータに基づきエッジ機器の動作が制御されている。従来のサーバ・クライアント型の異常検知手法では、管理サーバが検知対象の各エッジ機器からログデータを収集し、検知対象の全てのエッジ機器に対して一括して異常検知を実行している。このため、管理サーバが停止した場合、異常検知を実行することができなくなる可能性がある。
そこで、特開2018−5818号公報では、ピア・ツー・ピア(P2P)型のネットワークにおいて、監視役装置が被監視装置から取得したログデータに基づき状態判定を行い、判定結果を各監視役装置にブロードキャストすると共に、各監視役装置がブラックリストをブロックチェーンに記録するというシステムが提案されている。
しかしながら、P2P型のネットワークでは、計算リソースが少なく、ブロックチェーンネットワークに参加できない、あるいは、参加したとしてもブラックリストの記録に時間を要する監視役装置が存在しうる。このため、リアルタイムな異常検知ができないおそれがある。
上記問題点に鑑み、本発明の課題は、計算リソースが限定的であるノード装置から構成されるブロックチェーンネットワークに適した異常検知システムを提供することである。
上記課題を解決するため、本発明の一態様は、ブロックチェーンネットワークを構成するノード装置群と、
前記ブロックチェーンネットワークを管理する管理サーバと、
を有し、
第1のノード装置が、ログデータに基づき対象機器に対して状態判定を実行し、判定結果に応じてトランザクションを前記管理サーバに送信し、
前記管理サーバが、所定の選定基準に従って前記トランザクションを検証する検証ノード装置群を選定し、前記選定した検証ノード装置群に前記トランザクションを送信し、
前記検証ノード装置群が、前記トランザクションの検証結果を前記管理サーバに送信し、
前記管理サーバが、前記トランザクションの検証成功通知を受信すると、前記トランザクションの承認を前記第1のノード装置に通知し、
前記ノード装置群が、前記トランザクションをブロックチェーンに記録する異常検知システムに関する。
前記ブロックチェーンネットワークを管理する管理サーバと、
を有し、
第1のノード装置が、ログデータに基づき対象機器に対して状態判定を実行し、判定結果に応じてトランザクションを前記管理サーバに送信し、
前記管理サーバが、所定の選定基準に従って前記トランザクションを検証する検証ノード装置群を選定し、前記選定した検証ノード装置群に前記トランザクションを送信し、
前記検証ノード装置群が、前記トランザクションの検証結果を前記管理サーバに送信し、
前記管理サーバが、前記トランザクションの検証成功通知を受信すると、前記トランザクションの承認を前記第1のノード装置に通知し、
前記ノード装置群が、前記トランザクションをブロックチェーンに記録する異常検知システムに関する。
本発明によると、計算リソースが限定的であるノード装置から構成されるブロックチェーンネットワークに適した異常検知システムを提供することができる。
以下、図面に基づいて本発明の実施の形態を説明する。
[発明の概略]
以下の実施例では、異常なエッジ機器を検出し、検出した異常なエッジ機器に関する情報をブロックチェーンに記録する異常検知システムが開示される。
[発明の概略]
以下の実施例では、異常なエッジ機器を検出し、検出した異常なエッジ機器に関する情報をブロックチェーンに記録する異常検知システムが開示される。
後述される実施例を概略すると、図1に示されるように、異常検知システム10は、ブロックチェーンネットワークのノード装置群を構成するエッジコントローラ100_1〜100_5(以降、エッジコントローラ100として総称されうる)と、パーミッション型のブロックチェーンネットワークを管理する管理サーバ20とを有する。エッジコントローラ100と認証サーバ20とは、ブロックチェーン用LAN(Local Area Network)30を介し相互接続され、ブロックチェーンネットワークを構成する。なお、図示された実施例では、エッジコントローラ100と認証サーバ20とがブロックチェーンネットワークを構成しているが、本発明はこれに限定されず、例えば、エッジ機器70、センサ80等の他の機器がブロックチェーンネットワークのノード装置として含まれてもよい。
各エッジコントローラ100は、センサ80から取得したログデータに基づき1つ以上のエッジ機器70の動作を制御すると共に、エッジ機器70の状態を判定する。管理サーバ20は、パーミッション型のブロックチェーンネットワークへのノード装置の参加を認証する認証サーバ50と、トランザクションを検証する検証ノード装置を選定する検証ノード選定サーバ60とを有する。
例えば、エッジコントローラ100_1が異常状態にあるエッジ機器70を検出した場合、エッジコントローラ100_1は、異常なエッジ機器70の検出を報告するためのトランザクションを管理サーバ20に送信する。
管理サーバ20は、所定の選定基準に従って当該トランザクションを検証させる他のエッジコントローラ100(例えば、エッジコントローラ100_2〜100_5の1つ以上など)を選定し、選定したエッジコントローラ100にトランザクションを転送する。選定されたエッジコントローラ100は、受信したトランザクションに含まれる異常状態であると判定されたエッジ機器70のログデータに基づき当該エッジ機器70の状態判定を実行し、トランザクション発行元のエッジコントローラ100_1による判定結果の適否を検証結果として管理サーバ20に送信する。
検証結果が発行元エッジコントローラ100_1による判定結果が適切であることを示す検証成功であった場合、管理サーバ20は、トランザクションの承認通知を発行元エッジコントローラ100_1に送信する。そして、エッジコントローラ100_1は、承認されたトランザクションを自ら保持するブロックチェーンに追加すると共に、当該トランザクションをエッジコントローラ100_2〜100_5を含む他の全てのエッジ装置に配信する。当該トランザクションを受信すると、各エッジコントローラ100_2〜100_5もまた、受信したトランザクションを自ら保持するブロックチェーンに追加する。
上述した実施例による異常検知システム10によると、管理サーバ20がトランザクションを検証可能な計算余力を有したエッジコントローラ100を選定し、選定したエッジコントローラ100に検証処理を実行させることが可能となり、限定的な計算リソースしか有さないエッジコントローラ100、あるいは、多くの計算リソースを使用中であり、計算余力の少ないエッジコントローラ100に対して検証処理による過大な負担を強いることなく、ブロックチェーンネットワークを実現することが可能になる。
[認証サーバ]
次に、図2を参照して、本発明の一実施例による認証サーバ50を説明する。認証サーバ50は、ブロックチェーンネットワークのノード装置群の各ノード装置の識別情報及び公開鍵を保持し、パーミッション型のブロックチェーンネットワークへのノード装置の参加を認証する。認証サーバ50は、エッジコントローラ100などのブロックチェーンネットワークの各ノード装置の識別情報(ID)及び公開鍵などのアカウント情報を保持及び管理し、各ノード装置の識別情報及び公開鍵を他のノード装置に提供する。例えば、新規ノード装置がブロックチェーンネットワークに参加すると、認証サーバ50は、当該新規ノード装置に各ノード装置の識別情報及び公開鍵を提供すると共に、新規ノード装置の識別情報及び公開鍵を既存のノード装置群に配信する。これにより、各ノード装置は、受信したトランザクションにおける署名を当該トランザクションの生成元ノード装置の公開鍵により復号化し、復号化結果に応じて当該トランザクションを検証することができる。
[認証サーバ]
次に、図2を参照して、本発明の一実施例による認証サーバ50を説明する。認証サーバ50は、ブロックチェーンネットワークのノード装置群の各ノード装置の識別情報及び公開鍵を保持し、パーミッション型のブロックチェーンネットワークへのノード装置の参加を認証する。認証サーバ50は、エッジコントローラ100などのブロックチェーンネットワークの各ノード装置の識別情報(ID)及び公開鍵などのアカウント情報を保持及び管理し、各ノード装置の識別情報及び公開鍵を他のノード装置に提供する。例えば、新規ノード装置がブロックチェーンネットワークに参加すると、認証サーバ50は、当該新規ノード装置に各ノード装置の識別情報及び公開鍵を提供すると共に、新規ノード装置の識別情報及び公開鍵を既存のノード装置群に配信する。これにより、各ノード装置は、受信したトランザクションにおける署名を当該トランザクションの生成元ノード装置の公開鍵により復号化し、復号化結果に応じて当該トランザクションを検証することができる。
図2は、本発明の一実施例による認証サーバ50の機能構成を示すブロック図である。図2に示されるように、認証サーバ50は、ネットワーク参加要求受信部51、参加要求検証部52、ブロックチェーンネットワークアカウントリスト保持部53、ネットワーク参加応答送信部54及びID・検証鍵セット配信部55を有する。
ネットワーク参加要求受信部51は、ブロックチェーンネットワークへの参加を所望するノード装置からネットワーク参加要求を受信し、受信したネットワーク参加要求を参加要求検証部52にわたす。
参加要求検証部52は、ネットワーク参加要求の送信元ノード装置をブロックチェーンネットワークに加入するか判断する。例えば、パーミッション型のブロックチェーンネットワークでは、ブロックチェーンネットワークへの参加は、管理者などによる許可が必要とされる。この場合、参加要求検証部52は、例えば、異常検知システム10の管理者に当該送信元ノード装置をブロックチェーンネットワークに加入してよいか問い合わせ、加入許可が得られた場合、送信元ノード装置の加入を許可してもよい。あるいは、参加要求検証部52は、送信元ノード装置に識別情報及びパスワードを要求し、取得した識別情報及びパスワードに基づき送信元ノード装置の加入を許可してもよい。送信元ノード装置の加入を許可すると、参加要求検証部52は、ネットワーク参加応答送信部54に加入許可を通知すると共に、送信元ノード装置の公開鍵を取得し、取得した識別情報及び公開鍵をブロックチェーンネットワークアカウントリスト保持部53に格納する。
ブロックチェーンネットワークアカウントリスト保持部53は、ブロックチェーンネットワークの各ノード装置の識別情報及び公開鍵を保持する。
ネットワーク参加応答送信部54は、参加要求検証部52によって判定された加入可否を送信元ノード装置に通知する。
ID・検証鍵セット配信部55は、加入許可されたノード装置の識別情報及び公開鍵をブロックチェーンネットワークの他のノード装置に配信する。また、ノード装置の識別情報又は公開鍵に変更があった場合、ID・検証鍵セット配信部54は、変更後の識別情報又は公開鍵をブロックチェーンネットワークのノード装置群に配信する。
[エッジコントローラ]
次に、図3〜6を参照して、本発明の一実施例によるエッジコントローラ100を説明する。エッジコントローラ100は、ブロックチェーンネットワークにおけるノード装置として機能し、センサ80から取得したログデータに基づきアクチュエータなどのエッジ機器70を制御すると共に、エッジ機器70の状態を判定する。
[エッジコントローラ]
次に、図3〜6を参照して、本発明の一実施例によるエッジコントローラ100を説明する。エッジコントローラ100は、ブロックチェーンネットワークにおけるノード装置として機能し、センサ80から取得したログデータに基づきアクチュエータなどのエッジ機器70を制御すると共に、エッジ機器70の状態を判定する。
図3は、本発明の一実施例によるエッジコントローラ100の機能構成を示すブロック図である。図3に示されるように、エッジコントローラ100は、エッジ機器70及び/又はセンサ80から取得したログデータを処理するログデータ処理部110と、ブロックチェーンネットワークのノード装置群及び管理サーバ20と通信し、ブロックチェーンによる各種処理を実行するブロックチェーン処理部120とを有する。
ログデータ処理部110は、ログデータ受信部111、状態判定部112、ブラックリスト管理部113、ログ管理部114及びログデータ送信部115を有し、ブロックチェーン処理部120は、ブロックチェーンネットワーク認証情報保持部121、トランザクション生成部122、署名検証部123、ブロックチェーン用通信部124、ブロックチェーン更新部125、ブロックチェーン保持部126及びブロックチェーン参照部127を有する。
ログデータ受信部111は、アクチュエータなどのエッジ機器70及び/又は当該エッジ機器70の動作状態、環境状態等を検知するセンサ80から、エッジコントローラ100の制御下の各エッジ機器70のログデータを受信し、受信したログデータを状態判定部112に送信する。
状態判定部112は、ログデータ受信部111から受信した各エッジ機器70のログデータに基づきエッジ機器70の状態を判定する。具体的には、状態判定部112は、予め保持している正常動作時のエッジ機器70のログデータと受信したログデータとを比較し、受信したログデータに正常動作時のログデータから所定の閾値以上の乖離などを検出した場合、エッジ機器70が異常状態にあると判定してもよい。あるいは、状態判定部112は、学習済み異常検知モデルを保持し、受信したログデータを当該異常検知モデルに入力し、出力結果が異常状態を示す場合、エッジ機器70が異常状態にあると判定してもよい。当該異常検知モデルは、訓練データを利用した教師付き学習などによって学習された何れか適切なタイプの機械学習モデルとして実現されてもよい。エッジ機器70が異常状態にあると判定した場合、状態判定部112は、異常なエッジ機器70をブラックリスト管理部113に通知すると共に、当該エッジ機器70のログデータをログ管理部114に提供する。
ブラックリスト管理部113は、エッジコントローラ100の制御下のエッジ機器70の状態だけでなく、ブロックチェーンネットワークの他のエッジコントローラ100などのノード装置の制御下のエッジ機器70の状態をブラックリストの形式で管理する。具体的には、ブラックリスト管理部113は、ブロックチェーンネットワーク内の異常状態にあるエッジ機器70を示すブラックリストを保持し、当該ブラックリストによってエッジ機器70の状態を管理する。
例えば、ブラックリストは、図4に示されるように、タイムスタンプ、異常状態にあるエッジ機器70の識別子(ID)及び書込み/削除状態のデータ項目を有するデータ構造によって構成されてもよい。タイムスタンプは、当該エッジ機器70がブラックリストにエントリされた時点を示し、エッジ機器70のIDは、当該エッジ機器70のIPアドレスを示し、書込み/削除は、当該エントリに対する直近の操作を示すものであってもよい。しかしながら、本発明によるブラックリストは、これに限定されず、異常状態にあるエッジ機器70を示す他の何れか適切なデータ項目によるデータ構造から構成されてもよい。
ログ管理部114は、状態判定部112から受信したエッジ機器70のログデータを管理する。ログ管理部114は、保持しているログデータをログデータ送信部115及びブロックチェーン用通信部123に提供する。また、ログ管理部114は、状態判定部112から異常状態にあると通知されたエッジ機器70のログデータを、ブラックリストの対応するエントリに関連付けて保持してもよい。
ログデータ送信部115は、ログ管理部114に保持されている異常状態にあるエッジ機器70のログデータをブロックチェーンネットワークのノード装置群に配信する。
ブロックチェーンネットワーク認証情報保持部121は、認証サーバ50から受信した認証済みのノード装置の認証情報を保持する。具体的には、ブロックチェーンネットワーク認証情報保持部121は、当該エッジコントローラ100の秘密鍵及び公開鍵と共に、他のエッジコントローラ100などのブロックチェーンネットワークの他のノード装置の識別情報及び公開鍵を含む認証情報を保持する。他のエッジコントローラ100の認証情報は、認証サーバ50から提供される。
トランザクション生成部122は、ブラックリスト管理部113から提供されたブラックリストと、ログ管理部114から提供されたブラックリストに追加されたエッジ機器70のログデータとからトランザクションを生成する。例えば、トランザクションは、図5に示されるようなデータ構造を有してもよい。図5(a)に示されたデータ構造では、トランザクションは、当該トランザクションのシーケンス番号(SeqNum)、発行時刻(ts)、発行元(From)、データ送信先(To)、データ(Data)及びトランザクション発行元の署名(Sig)を含む。ここで、当該署名は、例えば、Dataフィールドに格納されているデータ又は当該データのハッシュ値を当該エッジコントローラ100の秘密鍵によって符号化したデータであってもよい。なお、ハッシュ値の算出は、MD4、MD5、SHA−1及びSHA−2などの何れか適切なハッシュ関数を利用して行われてもよい。
また、図5(b)に示されるように、データ(Data)は、ブラックリストのシーケンス番号(SeqNum)、更新時刻(Ts)、発行元エッジコントローラ100のID(From)及びブラックリストとログデータとを含むデータ(Data)を含んでもよい。トランザクション生成部122は、生成したトランザクションをブロックチェーン用通信部124にわたす。
署名検証部123は、ブロックチェーン用通信部124を介しブロックチェーンネットワークの他のノード装置から受信したトランザクションを検証する。例えば、署名検証部123は、受信したトランザクションの署名(Seg)を発行元(From)ノードの公開鍵により復号化し、復号化された情報と当該トランザクションのデータ又は当該データのハッシュ値とを比較する。復号化された情報とデータ又はハッシュ値とが一致する場合、署名検証部123は、受信したトランザクションの署名の検証成功をブロックチェーン用通信部124に通知すると共に、検証成功したトランザクションをブロックチェーン更新部125にわたす。他方、復号化された情報とデータ又はハッシュ値とが一致しない場合、署名検証部123は、当該トランザクションの署名の検証不成功をブロックチェーン用通信部124に通知する。
ブロックチェーン用通信部124は、トランザクション生成部122によって生成されたトランザクションをブロックチェーンネットワークの各ノード装置に配信する。また、検証ノード選定サーバ60から検証対象のトランザクションを受信すると、ブロックチェーン用通信部124は、トランザクションに含まれている署名(Seq)部分を署名検証部123にわたし、ログデータを状態判定部112にわたす。署名検証部123により署名の検証成功が確認され、状態判定部112によりログデータの異常状態が確認されると、ブロックチェーン用通信部124は、当該トランザクションの検証成功(エンドースメント)を検証ノード選定サーバ60に通知する。
また、他のノード装置から承認済みのトランザクションを受信すると、ブロックチェーン用通信部124は、受信したトランザクションを署名検証部123にわたし、署名検証部123は、トランザクションの署名を検証し、検証成功すると、当該トランザクションをブロックチェーン更新部125に提供する。
ブロックチェーン更新部125は、承認されたトランザクションをブロックチェーン保持部126に格納する。例えば、ブロックチェーン更新部125は、承認されたトランザクションからブロックを生成し、生成したブロックをブロックチェーンに追加してもよい。例えば、ブロックチェーンの各ブロックは、図6に示されるように、承認されたトランザクション群と、ブロックチェーンの直前のブロックから計算されたハッシュ値とから構成される。各ブロックが生成されると、生成されたブロックは、ブロックチェーンの最後尾に追加される。例えば、ブロックの生成は、所定の時間間隔毎、所定数のトランザクションが承認される毎などの何れかのタイミングで行われてもよい。
なお、ブロックのハッシュ値の計算は、ブロックチェーンネットワークの何れか1つ以上のノード装置(例えば、管理サーバ20、管理サーバ20の管理者によって選定された何れか1つ以上のノード装置、検証ノード選定サーバ60によって選定された何れか1つ以上のノード装置など)によって行われてもよく、所定の条件を充足したハッシュ値を最初に計算したノード装置が、当該ハッシュ値をブロックチェーンネットワークのノード装置群に配信し、各ノード装置は受信したハッシュ値に基づきブロックを生成してもよい。
ブロックチェーン保持部126は、ブロックチェーンネットワークのノード装置群によって共有されるブロックチェーンを保持する。
ブロックチェーン参照部127は、ブロックチェーン保持部126に格納されているブロックチェーンを参照する。
[検証ノード選定サーバ]
次に、図7を参照して、本発明の一実施例による検証ノード選定サーバ60を説明する。検証ノード選定サーバ60は、所定の選定基準に従ってトランザクションを検証させる検証ノード装置を選定し、当該検証ノード装置にトランザクションを送信する。
[検証ノード選定サーバ]
次に、図7を参照して、本発明の一実施例による検証ノード選定サーバ60を説明する。検証ノード選定サーバ60は、所定の選定基準に従ってトランザクションを検証させる検証ノード装置を選定し、当該検証ノード装置にトランザクションを送信する。
図7は、本発明の一実施例による検証ノード選定サーバ60の機能構成を示すブロック図である。図7に示されるように、検証ノード選定サーバ60は、計算余力情報受信部61、計算余力情報保持部62、トランザクション受信部63、検証ノード選定部64、検証依頼・結果送受信部65、エンドースメント検証部66、トランザクション検証結果送信部67及びブロックチェーンネットワーク認証情報保持部68を有する。
計算余力情報受信部61は、ブロックチェーンネットワークの各ノード装置から当該ノード装置の計算余力情報を受信する。ここで、計算余力情報は、ノード装置が備える計算能力と現在使用中の計算リソースとに基づき算出されてもよい。例えば、計算余力は、当該ノード装置のCPU(Central Processing Unit)使用率、使用可能メモリ量、メモリ使用率などであってもよい。計算余力情報受信部61は、各ノード装置から収集した計算余力情報を計算余力情報保持部62にわたす。
計算余力情報保持部62は、計算余力情報受信部61から受信した各ノード装置の計算余力情報を保持する。
トランザクション受信部63は、ブロックチェーンネットワークのノード装置群からブロックチェーン用LAN30を介しトランザクションを受信し、受信したトランザクションを検証依頼・結果送受信部65にわたす。
検証ノード選定部64は、所定の選定基準に従ってトランザクションを検証すべき検証ノード装置を選定する。具体的には、検証ノード選定部64は、各ノード装置の計算余力情報に基づきトランザクションを検証させる検証ノード装置を選定する。例えば、検証ノード選定部64は、ノード装置から受信したトランザクションに対して、上位の計算余力のあるノード装置から必要承認数分のノード装置を検証ノード装置として選定し、選定した検証ノードにトランザクションを送信する。具体的には、計算余力は、当該ノード装置のCPU使用率、使用可能メモリ量、メモリ使用率などであってもよい。例えば、検証ノード選定部64は、定期的に取得した全てのノード装置の使用可能メモリ量の降順に検証ノード装置を選定してもよい。あるいは、検証ノード選定部64は、定期的に取得した全てのノード装置のメモリ使用率の昇順に検証ノード装置を選定してもよい。
また、検証ノード選定部64は、正常に機能していない可能性のあるノード装置を選定対象から除外してもよい。具体的には、検証ノード選定部64は、各ノード装置のトランザクション否決回数を記録し、所定のトランザクション否決回数となったノード装置を選定対象から排除してもよい。ここで、トランザクションの否決とは、当該ノード装置による状態判定結果が他の(所定割合の)ノード装置の状態判定結果と一致しないことを意味し、当該ノード装置が正常に機能していないことを示唆するものである。
また、検証ノード選定部64は、通信負荷の昇順に検証ノード装置を選定してもよい。具体的には、検証ノード選定部64は、定期的に全てのノード装置の通信負荷情報(例えば、各エッジコントローラが使用する制御用LANネットワークの速度など)を収集し、通信量の昇順に検証ノード装置を選定してもよい。
一実施例では、検証ノード選定部64は、計算余力情報に基づき計算余力の降順に所定の選定割合のノード装置群を検証ノード装置群として選定してもよい。
一例として、必要承認数が全ノード装置の所定の割合(例えば、過半数など)として設定されている場合、検証ノード選定部64は、当該所定の割合のノード装置を選定してもよい。この場合、選定したノード装置の全てからトランザクションの検証成功通知(エンドースメント)を受信すると、エンドースメント検証部66は、当該トランザクションは承認してもよい。
また、他の例として、必要承認数が全ノード装置(すなわち、上述した所定の割合が100%)として設定されてもよく、このとき、検証ノード選定部64は、検証ノード選定を行うことなく、全てのノード装置に検証対象のトランザクションを送信し、全てのノード装置からトランザクションのエンドースメントを受信した場合に、エンドースメント検証部66は、当該トランザクションを承認してもよい。
また、更なる他の例として、検証ノード選定数が全ノードの80%として設定されてもよく、この場合、検証ノード選定部64は、選定された検証ノード装置のうちの70%からトランザクションのエンドースメントを受信すると(結果として、全ノードの過半数以上のノード装置に承認される)、エンドースメント検証部66は、当該トランザクションを承認してもよい。
また、一実施例として、検証ノード選定部64は、装置状態に基づき各ノード装置に重みポイントを付与し、トランザクションの検証成功を示す検証成功通知(エンドースメント)を送信したノード装置の重みポイントの合計に基づき、トランザクション承認を発行元のノード装置に通知してもよい。例えば、100台のノード装置がブロックチェーンネットワークにあり、各ノード装置に1ポイントが付与されている場合、所定のポイント合計数(例えば、51ポイントなど)のエンドースメントが必要とされてもよい。また、ノード装置のポイントは装置状態に応じて変更されてもよく、例えば、状態判定結果の不一致によってトランザクションが否決されたノード装置は故障の可能性があると考えられ、当該ノード装置のポイントは0.5ポイントなどに低減されてもよい。検証ノード選定部64は、合計ポイントが51ポイント以上となるようにノード装置を選定し、エンドースメントを返したノード装置の合計ポイントが51ポイント以上だった場合、エンドースメント検証部66は、当該トランザクションを承認してもよい。
このようにして、検証ノード選定部64は、計算余力の大きい所定数のノード装置を選定すると、選定された検証ノード装置の識別情報をブロックチェーンネットワーク認証情報保持部68から取得し、検証依頼・結果送受信部65に提供してもよい。
検証依頼・結果送受信部65は、トランザクション受信部63から取得したトランザクションを、検証ノード選定部64によって選定された検証ノード装置に転送し、当該トランザクションを選定された検証ノードに検証させる。その後、検証依頼・結果送受信部65は、検証ノード装置から検証結果を示すエンドースメントを受信し、受信したエンドースメントをエンドースメント検証部66にわたす。
エンドースメント検証部66は、検証依頼・結果送受信部65から取得したエンドースメントを検証する。例えば、エンドースメント検証部66は、所定の承認割合の検証ノード装置群からトランザクションの検証成功を示すエンドースメントを受信すると、トランザクション承認を当該トランザクションの発行元のノード装置に通知してもよい。
トランザクション検証結果送信部67は、エンドースメント検証部66からトランザクションの承認が通知されると、トランザクションの発行元ノード装置にトランザクションが承認されたことを通知する。
ブロックチェーンネットワーク認証情報保持部68は、検証ノード選定サーバ60の秘密鍵及び公開鍵と共に、ブロックチェーンネットワークのノード装置の識別情報及び公開鍵を含むアカウント情報を保持する。当該アカウント情報は、認証サーバ50から提供される。
[異常検知処理]
次に、図8及び9を参照して、本発明の一実施例による異常検知処理を説明する。図8は、本発明の一実施例による異常検知処理を示す概略図である。図示された実施例では、エッジコントローラ100_1が、制御下にあるエッジ機器70(図示せず)の異常を検知し、当該エッジ機器70を自らのブラックリストに追加したと仮定する。
[異常検知処理]
次に、図8及び9を参照して、本発明の一実施例による異常検知処理を説明する。図8は、本発明の一実施例による異常検知処理を示す概略図である。図示された実施例では、エッジコントローラ100_1が、制御下にあるエッジ機器70(図示せず)の異常を検知し、当該エッジ機器70を自らのブラックリストに追加したと仮定する。
図8に示されるように、ステップS101において、エッジコントローラ100_1は、更新されたブラックリストと当該エッジ機器70のログデータとを含むトランザクションを生成し、検証ノード選定サーバ60に送信する。
ステップS102において、検証ノード選定サーバ60は、エッジコントローラ100_1からトランザクションを受信すると、所定の選定基準に従って当該トランザクションを検証する検証ノード装置を選定し、選定した検証ノード装置に当該トランザクションを送信する。図示された実施例では、エッジコントローラ100_3,100_4,100_5が選定されている。
ステップS103において、エッジコントローラ100_3,100_4,100_5はそれぞれ、検証ノード選定サーバ60から受信したトランザクションに対して状態判定を実行し、判定結果を検証ノード選定サーバ60に送信する。すなわち、トランザクションの署名が検証成功し、トランザクションのログデータに対して異常が検知された場合、エッジコントローラ100_3,100_4,100_5は、エンドースメントを検証ノード選定サーバ60に送信する。
ステップS104において、検証ノード選定サーバ60は、エッジコントローラ100_3,100_4,100_5から受信した判定結果に基づきトランザクションを承認するか判断し、トランザクションを承認する場合、発行元のエッジコントローラ100_1にトランザクション承認を送信する。
ステップS105において、エッジコントローラ100_1は、承認されたトランザクションをブロックチェーンネットワークの他のノード装置に配信し、当該トランザクションを受信すると、エッジコントローラ100_2〜100_5はそれぞれ、ブロック生成時に自ら保持するブロックチェーンに当該トランザクションを記録する。
図9は、本発明の一実施例による異常検知処理を示すシーケンス図である。図示された実施例では、エッジコントローラ100_1が、制御下にあるエッジ機器70(図示せず)の異常を検知し、当該エッジ機器70を自らのブラックリストに追加したと仮定する。
図9に示されるように、ステップS201において、エッジコントローラ100_1は、更新されたブラックリストと当該エッジ機器のログデータとを含むトランザクションを検証ノード選定サーバ60に送信することによって、トランザクションの承認を要求する。
ステップS202において、検証ノード選定サーバ60は、受信したトランザクションを検証させる検証ノード装置を所定の選定基準に従って選定する。具体的には、検証ノード選定サーバ60は、ブロックチェーンネットワークの各ノード装置から計算余力情報を受信し、受信した計算余力情報に基づき所定の選定基準に従って検証ノード装置を選定してもよい。例えば、所定の選定基準として、収集した計算余力情報に基づき計算余力の降順にノード装置群がソートされ、計算余力の大きいものから所定の選定割合(例えば、過半数など)のノード装置群が検証ノード装置として選定されてもよい。図示された実施例では、検証ノード選定サーバ60は、エッジコントローラ100_3〜100_5を検証ノード装置として選定している。
ステップS203において、検証ノード選定サーバ60は、選定したノード装置にトランザクションを検証させるため、当該トランザクションをこれらのノード装置に送信する。図示された例では、検証ノード選定サーバ60は、検証ノード装置として選定したエッジコントローラ100_3〜100_5に検証対象のトランザクションを送信し、当該トランザクションをエッジコントローラ100_3〜100_5に検証させる。
ステップS204において、エッジコントローラ100_3〜100_5は、検証ノード選定サーバ60から受信したトランザクションを検証するため、当該トランザクションから署名及びログデータを抽出する。そして、エッジコントローラ100_3〜100_5は、各自が保持する当該トランザクションの発行元のエッジコントローラ100_1の公開鍵を用いて、抽出した署名を検証する一方、ログデータに対して状態判定を実行して、ログデータの異常の有無を判定する。
ステップS205において、署名の検証に成功すると共に、ログデータに異常があることを確認すると、エッジコントローラ100_3〜100_5は、検証成功通知(エンドースメント)を検証ノード選定サーバ60に返す。他方、署名の検証が不成功であって場合、あるいは、ログデータに異常が検知できなかった場合、エッジコントローラ100_3〜100_5は、検証が不成功成功であった旨を検証ノード選定サーバ60に通知する。
ステップS206において、検証ノード選定サーバ60は、所定の承認割合のエッジコントローラ100_3〜100_5からトランザクションの検証成功を示すエンドースメントを受信すると、トランザクション承認を発行元のエッジコントローラ100_1に通知する。例えば、所定の承認割合が過半数に設定されている場合、検証ノード選定サーバ60は、エッジコントローラ100_3〜100_5の全てからエンドースメントを受信すると、当該トランザクションを承認し、トランザクションの承認を発行元のエッジコントローラ100_1に通知する。
あるいは、検証ノード選定サーバ60は、装置状態に基づき各ノード装置に重みポイントを付与し、トランザクションの検証成功を示すエンドースメントを送信したノード装置の重みポイントの合計に基づき、当該トランザクションの承認を発行元のノード装置に通知してもよい。例えば、エッジコントローラ100_1〜100_5に0.5,1.0,0.5,1.5,1.5の重みポイントが付与され、合計ポイント5.0の過半数がトランザクションの承認に必要とされている場合、検証ノード選定サーバ60は、エッジコントローラ100_3〜100_5の全てからエンドースメントを受信すると、合計ポイントが過半数の2.5を超える3.5となるため、当該トランザクションを承認し、トランザクションの承認を発行元のエッジコントローラ100_1に通知する。
ステップS207において、エッジコントローラ100_1は、承認されたトランザクションを自ら保持するブロックチェーンに記録する。
ステップS208において、エッジコントローラ100_1は更に、当該トランザクションをブロックチェーンネットワークの他のノード装置であるエッジコントローラ100_2〜100_5に配信する。
ステップS209において、エッジコントローラ100_2〜100_5は、受信したトランザクションを自ら保持するブロックチェーンに記録する。
なお、図示された実施例では、ブロックチェーンネットワークのノード装置群は、エッジコントローラ100及び管理サーバ20から構成されているが、本発明によるノード装置群はこれに限定されず、例えば、エッジ機器70が含まれてもよい。この場合、エッジ機器70は、収集したログデータに対して自ら状態判定を実行してもよいし、あるいは、ブロックチェーンネットワークの他のノード装置群にログデータを配信し、これらのノード装置群に状態判定を実行させてもよい。後者の場合、ログデータに対して異常を検知したノード装置は、当該エッジ機器70をブラックリストに追加し、更新したブラックリストとログデータとを含むトランザクションをトランザクション承認要求として検証ノード選定サーバ60に送信し、以降の処理については、上述したステップが実行される。
[ハードウェア構成]
ここで、上述した認証サーバ50、検証ノード選定サーバ60及びエッジコントローラ100は、例えば、図10に示されるようなハードウェア構成を有してもよい。すなわち、認証サーバ50、検証ノード選定サーバ60及びエッジコントローラ100は、バスBを介し相互接続されるドライブ装置11、補助記憶装置12、メモリ装置13、CPU(Central Processing Unit)14、インタフェース装置15及び通信装置16を有する。
[ハードウェア構成]
ここで、上述した認証サーバ50、検証ノード選定サーバ60及びエッジコントローラ100は、例えば、図10に示されるようなハードウェア構成を有してもよい。すなわち、認証サーバ50、検証ノード選定サーバ60及びエッジコントローラ100は、バスBを介し相互接続されるドライブ装置11、補助記憶装置12、メモリ装置13、CPU(Central Processing Unit)14、インタフェース装置15及び通信装置16を有する。
認証サーバ50、検証ノード選定サーバ60及びエッジコントローラ100における各種機能及び処理を実現するプログラムを含む各種コンピュータプログラムは、CD−ROM(Compact Disk−Read Only Memory)などの記録媒体17によって提供されてもよい。プログラムを記憶した記録媒体17がドライブ装置11にセットされると、プログラムが記録媒体17からドライブ装置11を介して補助記憶装置12にインストールされる。但し、プログラムのインストールは必ずしも記録媒体17により行う必要はなく、ネットワークなどを介し何れかの外部装置からダウンロードするようにしてもよい。補助記憶装置12は、インストールされたプログラムを格納すると共に、必要なファイルやデータなどを格納する。メモリ装置13は、プログラムの起動指示があった場合に、補助記憶装置12からプログラムやデータを読み出して格納する。プロセッサとして機能するCPU14は、メモリ装置13に格納されたプログラムやプログラムを実行するのに必要なパラメータなどの各種データに従って、認証サーバ50、検証ノード選定サーバ60及びエッジコントローラ100の各種機能及び処理を実行する。インタフェース装置15は、ネットワーク又は外部装置に接続するための通信インタフェースとして用いられる。通信装置16は、外部装置と通信するための各種通信処理を実行する。
しかしながら、認証サーバ50、検証ノード選定サーバ60及びエッジコントローラ100は、上述したハードウェア構成に限定されるものでなく、他の何れか適切なハードウェア構成により実現されてもよい。
以上、本発明の実施例について詳述したが、本発明は上述した特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 異常検知システム
20 管理サーバ
50 認証サーバ
60 検証ノード選定サーバ
70 エッジ機器
80 センサ
100 エッジコントローラ
20 管理サーバ
50 認証サーバ
60 検証ノード選定サーバ
70 エッジ機器
80 センサ
100 エッジコントローラ
Claims (7)
- ブロックチェーンネットワークを構成するノード装置群と、
前記ブロックチェーンネットワークを管理する管理サーバと、
を有し、
第1のノード装置が、ログデータに基づき対象機器に対して状態判定を実行し、判定結果に応じてトランザクションを前記管理サーバに送信し、
前記管理サーバが、所定の選定基準に従って前記トランザクションを検証する検証ノード装置群を選定し、前記選定した検証ノード装置群に前記トランザクションを送信し、
前記検証ノード装置群が、前記トランザクションの検証結果を前記管理サーバに送信し、
前記管理サーバが、前記トランザクションの検証成功通知を受信すると、前記トランザクションの承認を前記第1のノード装置に通知し、
前記ノード装置群が、前記トランザクションをブロックチェーンに記録する異常検知システム。 - 前記管理サーバは、前記所定の選定基準に従って前記検証ノード装置群を選定する検証ノード選定サーバを含み、
前記検証ノード選定サーバは、前記ノード装置群から受信した計算余力情報に基づき、前記所定の選定基準に従って前記検証ノード装置群を選定する、請求項1記載の異常検知システム。 - 前記検証ノード選定サーバは、前記計算余力情報に基づき計算余力の降順に所定の選定割合の前記ノード装置群を前記検証ノード装置群として選定する、請求項2記載の異常検知システム。
- 前記検証ノード選定サーバは、所定の承認割合の前記検証ノード装置群から前記トランザクションの検証成功通知を受信すると、前記トランザクションの承認を前記第1のノード装置に通知する、請求項2又は3記載の異常検知システム。
- 前記検証ノード選定サーバは、装置状態に基づき各ノード装置に重みポイントを付与し、前記トランザクションの検証成功通知を送信したノード装置の重みポイントの合計に基づき、前記トランザクションの承認を前記第1のノード装置に通知する、請求項2記載の異常検知システム。
- 前記管理サーバは、前記ノード装置群の各ノード装置の識別情報及び公開鍵を保持する認証サーバを含み、
新規ノード装置が前記ブロックチェーンネットワークに参加すると、前記認証サーバは、前記新規ノード装置に各ノード装置の識別情報及び公開鍵を提供すると共に、前記ブロックチェーンネットワークの各ノード装置に前記新規ノード装置の識別情報及び公開鍵を配信する、請求項1乃至5何れか一項記載の異常検知システム。 - ブロックチェーンネットワークを構成するノード装置群の第1のノード装置が、ログデータに基づき対象機器に対して状態判定を実行し、判定結果に応じてトランザクションを前記ブロックチェーンネットワークを管理する管理サーバに送信するステップと、
前記管理サーバが、所定の選定基準に従って前記トランザクションを検証する検証ノード装置群を選定し、前記選定した検証ノード装置群に前記トランザクションを送信するステップと、
前記検証ノード装置群が、前記トランザクションの検証結果を前記管理サーバに送信するステップと、
前記管理サーバが、前記トランザクションの検証成功通知を受信すると、前記トランザクションの承認を前記第1のノード装置に通知するステップと、
前記ノード装置群が、前記トランザクションをブロックチェーンに記録するステップと、
を有する異常検知方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019236641A JP2021106323A (ja) | 2019-12-26 | 2019-12-26 | 異常検知システム及び異常検知方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019236641A JP2021106323A (ja) | 2019-12-26 | 2019-12-26 | 異常検知システム及び異常検知方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021106323A true JP2021106323A (ja) | 2021-07-26 |
Family
ID=76919512
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019236641A Pending JP2021106323A (ja) | 2019-12-26 | 2019-12-26 | 異常検知システム及び異常検知方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021106323A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114374515A (zh) * | 2021-12-01 | 2022-04-19 | 深圳市银之杰科技股份有限公司 | 智能多方联合调度方法 |
CN115271733A (zh) * | 2022-09-28 | 2022-11-01 | 深圳市迪博企业风险管理技术有限公司 | 一种隐私保护的区块链交易数据异常检测方法及设备 |
WO2023119398A1 (ja) * | 2021-12-21 | 2023-06-29 | 株式会社東芝 | ブロックチェーンシステム、ブロックチェーンシステム更新方法及びプログラム |
-
2019
- 2019-12-26 JP JP2019236641A patent/JP2021106323A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114374515A (zh) * | 2021-12-01 | 2022-04-19 | 深圳市银之杰科技股份有限公司 | 智能多方联合调度方法 |
CN114374515B (zh) * | 2021-12-01 | 2023-09-12 | 深圳市银之杰科技股份有限公司 | 智能多方联合调度方法 |
WO2023119398A1 (ja) * | 2021-12-21 | 2023-06-29 | 株式会社東芝 | ブロックチェーンシステム、ブロックチェーンシステム更新方法及びプログラム |
CN115271733A (zh) * | 2022-09-28 | 2022-11-01 | 深圳市迪博企业风险管理技术有限公司 | 一种隐私保护的区块链交易数据异常检测方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111543031B (zh) | 用于控制和/或监控装置的方法和控制系统 | |
JP2021106323A (ja) | 異常検知システム及び異常検知方法 | |
CN112527912B (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
CN108696356B (zh) | 一种基于区块链的数字证书删除方法、装置及系统 | |
CN110602217B (zh) | 基于区块链的联盟管理方法、装置、设备及存储介质 | |
CN109919771B (zh) | 一种应用分层区块链技术的工业互联网交易装置 | |
CN112311735A (zh) | 可信认证方法,网络设备、系统及存储介质 | |
CA3015672A1 (en) | Structure of policies for evaluating key attributes of encryption keys | |
US11757884B2 (en) | Method and system for controlling the release of a resource | |
CN104980449B (zh) | 网络请求的安全认证方法及系统 | |
Arulkumar et al. | Secure communication in unstructured P2P networks based on reputation management and self certification | |
US8510819B2 (en) | System and method for managing and securing mobile devices | |
CN112581233A (zh) | 订单离线操作的方法、装置、设备和计算机可读存储介质 | |
WO2019058560A1 (ja) | 制御装置および制御装置システム | |
US10855463B2 (en) | System and method for providing quality of service during transport key rotation at a distributed management controller group | |
JP2021039588A (ja) | 制御システム及び制御情報配信方法 | |
US20220179384A1 (en) | Method and control system for controlling an execution of transactions | |
CN115589298B (zh) | 区块链的信息验证方法、装置和系统、设备、介质 | |
CN108924149B (zh) | 一种基于Token令牌的身份合法性验证方法及系统 | |
CN116389504A (zh) | 基于区块链的身份认证快速共识方法、系统、设备及介质 | |
CN113791872B (zh) | 基于云计算的认证方法及系统 | |
KR102542063B1 (ko) | 뉴럴 블록 클러스터 기반의 안전한 블록 체인을 구축하는 장치 및 그 동작 방법 | |
KR102589438B1 (ko) | 블록체인 기반 시스템에서의 비결정적 데이터 생성 방법 | |
CN112685769A (zh) | 区块链的数据处理方法、装置及电子设备 | |
CN113032478A (zh) | 区块链系统及数据上链方法、装置、设备和介质 |