(第1の実施形態)
以下、本発明の実施形態について、図面を参照して説明する。第1の実施形態の遠隔サービスシステムは、発電プラントなどのプラント内に配置された設備の設定条件の変更を、遠隔地から行うシステムである。以下の説明においては、第1の実施形態の遠隔サービスシステムが、発電プラントに適用されているものとして説明する。そして、以下の説明においては、第1の実施形態の遠隔サービスシステムが、発電プラントに配置された設備の設定条件を変更するために、設備を制御する制御機器が設備に対して設定するパラメータ値を変更するものとして説明する。
図1は、第1の実施形態における遠隔サービスシステムの概略構成を示したブロック図である。遠隔サービスシステム1は、変更要求装置100と、変更確認装置200と、変更実施装置210と、プラントネットワーク装置300とのそれぞれを含んで構成される。遠隔サービスシステム1では、変更要求装置100と、変更確認装置200と、変更実施装置210とのそれぞれが、ネットワーク10に接続されている。なお、図1には、遠隔サービスシステム1によって設定条件の変更を要求する発電プラントの構成要素も併せて示している。より具体的には、ファイヤーウォール310と、プラント制御システム320とを併せて示している。
なお、図1においては、ファイヤーウォール310がプラントネットワーク装置300とプラント制御システム320との間の位置にある場合を示しているが、ファイヤーウォール310は、変更実施装置210とプラント制御システム320との間であれば、いずれの位置にあってもよい。つまり、ファイヤーウォール310は、変更実施装置210とプラントネットワーク装置300との間の位置にあってもよい。また、ファイヤーウォール310は、変更実施装置210とプラントネットワーク装置300との間の位置と、プラントネットワーク装置300とプラント制御システム320との間の位置との両方の位置にあってもよい。
ネットワーク10は、インターネットなどの公共の通信ネットワークである。
変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれは、遠隔サービスシステム1を利用する利用者によって操作されるコンピュータ端末である。変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれは、例えば、CPU(Central Processing Unit)などの処理装置と、処理装置を動作させるために必要なプログラムやアプリケーションとデータとが記憶されたROM(Read Only Memory)やフラッシュメモリ(Flash Memory)などの種々のメモリを含んで構成される。従って、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれは、記憶されたプログラムやアプリケーションを実行することにより機能する。なお、変更要求装置100、変更確認装置200、または変更実施装置210のいずれか1つまたは複数は、それぞれの利用者が使用する専用のコンピュータ端末として構成されていてもよい。また、変更要求装置100、変更確認装置200、または変更実施装置210のいずれか1つまたは複数は、それぞれの利用者が使用するパーソナルコンピュータ(Personal Computer:PC)や、携帯情報端末(Personal Digital Assistant:PDA)の機能を備えた、いわゆる、タブレット端末などの携帯端末機器などによって構成されていてもよい。
変更要求装置100は、例えば、発電プラントにおいて発電した電力を提供するサービス事業者のサービス員などが、発電プラント内に配置された設備の設定条件の変更を要求するために操作するコンピュータ端末である。変更要求装置100は、サービス事業者のサービス員S(以下、サービス事業者Sという)によって、設備の設定条件を変更する変更内容が制御内容として入力されると、入力された変更内容を表す制御情報(以下、変更情報という)を、ネットワーク10を介して変更確認装置200に送信する。
変更確認装置200は、例えば、発電プラント内に配置されたそれぞれの設備の設定条件を管理する担当者などが、サービス事業者Sから要求された変更内容に従って設定条件を変更した場合に、対象の設備や関連する設備において起こり得る問題などを含めて、変更内容を確認するために操作するコンピュータ端末である。変更確認装置200は、変更要求装置100から送信されてきた変更情報を受信し、受信した変更情報を、サービス事業者Sから要求された設備の設定条件の変更内容を確認する担当者Cなど(以下、変更内容確認者Cという)に提示する。また、変更確認装置200は、変更内容確認者Cによって、受信した変更情報が設備に対して正しい(問題なく適用することができる)変更内容であると確認したことを表す情報が入力されると、確認済みの変更情報を、ネットワーク10を介して変更実施装置210に送信する。
なお、変更確認装置200は、通常の場合には、変更要求装置100から送信されてきた変更情報を確認して変更実施装置210に送信するが、例えば、緊急事態であるなど、予め定めた条件の元では、変更内容確認者Cが変更確認装置200に入力した設備の設定条件などの変更内容を、変更情報として送信する構成であってもよい。この場合、変更確認装置200は、変更情報を、変更実施装置210(またはプラントネットワーク装置300)に直接送信してもよい。また、変更確認装置200は、変更情報を変更要求装置100に送信し、変更要求装置100による確認、つまり、サービス事業者Sによる確認を得た後に、変更実施装置210(またはプラントネットワーク装置300)に直接送信してもよい。
変更実施装置210は、例えば、発電プラント内に配置されたそれぞれの設備を実際に稼働させる現場の担当者などが、変更内容確認者Cによって確認された設備に対する変更内容(サービス事業者Sから要求された対象の設備の設定条件の変更内容)を実際の設備に反映させる(実施させる)ために操作するコンピュータ端末である。変更実施装置210は、変更確認装置200から送信されてきた確認済みの変更情報を受信し、受信した確認済みの変更情報が表す設備の変更内容を、設備を実際に稼働させる担当者Iなど(以下、変更実施者Iという)に提示する。また、変更実施装置210は、変更実施者Iによって、受信した確認済みの変更情報が表す変更内容を実施することを表す情報が入力されると、実施する変更情報(設備のパラメータ値)を、プラントネットワーク装置300との間で決められた専用の通信規格の回線(以下、専用通信回線という)を介してプラントネットワーク装置300に送信する。なお、本開示においては、変更実施装置210とプラントネットワーク装置300との間で決められた専用通信回線の通信規格に関しては、特に規定しない。
なお、遠隔サービスシステム1において変更実施装置210は、必須の構成要素ではない。つまり、遠隔サービスシステム1は、変更実施装置210を備えていない構成であってもよい。この場合の遠隔サービスシステム1では、変更確認装置200が、実施する変更情報(設備のパラメータ値)を、プラントネットワーク装置300に直接送信する。なお、この場合の遠隔サービスシステム1におけるプラントネットワーク装置300は、ネットワーク10に接続されている状態である。
プラントネットワーク装置300は、遠隔サービスシステム1からの設定条件の変更を受け付ける発電プラント内に構築された専用の通信ネットワーク(以下、プラントネットワークという)の入り口に接続されるコンピュータ端末である。プラントネットワーク装置300は、変更実施装置210から専用通信回線を介して送信された実施する変更情報(設備のパラメータ値)を、プラントネットワークに伝送する。なお、本開示においては、プラントネットワーク装置300の構成に関しては、特に規定しない。例えば、プラントネットワーク装置300は、発電プラント内に構築されたプラントネットワークに接続するパーソナルコンピュータとして構成されていてもよい。また、例えば、プラントネットワーク装置300は、発電プラント内に構築されたプラントネットワークに接続するルーター装置として構成されていてもよい。なお、本開示においては、発電プラント内に構築されたプラントネットワークの通信規格に関しては、特に規定しない。
なお、本開示においては、変更実施装置210とプラントネットワーク装置300との間の通信回線は、専用通信回線に限定されるものではない。つまり、本開示においては、変更実施装置210とプラントネットワーク装置300との間の通信回線が、汎用の通信回線であってもよい。
ファイヤーウォール310は、発電プラント内に構築されたプラントネットワークにおけるセキュリティを確保するためのネットワーク防衛機能である。なお、本開示においては、ファイヤーウォール310の機能を実現する構成や方式に関しては、特に規定しない。例えば、ファイヤーウォール310は、プラントネットワーク装置300と共に、ルーター装置として構成されていてもよい。
プラント制御システム320は、発電プラント内に配置されたそれぞれの設備を制御する制御機器である。プラント制御システム320は、遠隔サービスシステム1によって変更される設備の設定条件に対応するパラメータ値を、対象の設備に設定する。なお、本開示においては、プラント制御システム320の構成や、プラント制御システム320による設備の制御方法およびパラメータ値の設定方法に関しては、特に規定しない。
これにより、遠隔サービスシステム1を適用した発電プラントでは、サービス事業者Sが設定条件の変更を要求した対象の設備に、要求した変更内容が適用される。より具体的には、プラントネットワーク装置300が、変更実施装置210から送信されてきた設備のパラメータ値をファイヤーウォール310に伝送することによって、発電プラントでは、プラントネットワーク装置300から伝送されたパラメータ値を、プラントネットワークによってプラント制御システム320に伝送する。そして、発電プラントでは、プラント制御システム320が、ファイヤーウォール310を介してプラントネットワーク装置300から伝送されてきたパラメータ値を、対象の設備に適用する。
なお、遠隔サービスシステム1では、プラント制御システム320が、遠隔サービスシステム1によって変更された設備の設定条件を適用した結果を、ファイヤーウォール310を介してプラントネットワーク装置300に伝送し、プラントネットワーク装置300が、設備の設定条件を適用した結果の情報を、変更実施装置210、変更確認装置200、および変更要求装置100に送信する構成にしてもよい。この場合、変更実施装置210、変更確認装置200、および変更要求装置100のそれぞれ、つまり、変更実施者I、変更内容確認者C、およびサービス事業者Sは、設備に要求した設定条件が正しく適用されたか否かを確認することができる。これにより、この構成の遠隔サービスシステム1では、設備の稼働状態の監視をすることができる。つまり、この構成の遠隔サービスシステム1では、設備に対して要求をしていない設定条件の変更がされた場合でも、プラント制御システム320が設定条件を適用した結果が変更実施装置210、変更確認装置200、および変更要求装置100のそれぞれに送信されてくるため、第三者による利用者へのなりすましや、変更情報を伝送する経路の途中での変更情報の改ざんによる設備の設定条件の変更の監視に活用することができる。
次に、遠隔サービスシステム1を利用した設備の設定条件の変更の処理および作業について説明する。図2は、第1の実施形態の遠隔サービスシステム1における処理および作業の流れ(処理シーケンス)を示したシーケンス図である。図2には、遠隔サービスシステム1を構成する、ネットワーク10に接続された変更要求装置100、変更確認装置200、および変更実施装置210と、プラントネットワーク装置300とのそれぞれにおける処理の流れの一例を示している。なお、図2においては、遠隔サービスシステム1からの変更内容を対象の設備に設定するプラント制御システム320の処理を、プラントネットワーク装置300の処理として示している。また、図2には、サービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれの作業、つまり、変更要求装置100、変更確認装置200、および変更実施装置210に対する操作も併せて示している。上述したように、遠隔サービスシステム1では、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれが、ネットワーク10を介して変更情報を送受信する。
まず、サービス事業者Sは、変更要求装置100を操作して、設定条件を変更する対象の設備の識別情報(例えば、機器ID、以下、設備識別情報という)や、設備のパラメータ値などを含む変更情報を、変更要求装置100に入力する(ステップS100)。
そして、サービス事業者Sは、変更要求装置100を操作して、署名を付加する。その後、サービス事業者Sは、変更要求装置100に、サービス事業者Sが入力した変更情報とサービス事業者Sが付加した署名(以下、事業者署名(または、第1の署名)という)との送信を指示し、変更内容確認者Cに変更情報の確認を要求する(ステップS101)。
これにより、変更要求装置100は、サービス事業者Sが入力した変更情報と事業者署名とを紐付けた「変更情報+事業者署名」のデータを、ネットワーク10を介して変更確認装置200に送信する(ステップS102)。このとき、変更要求装置100は、事業者署名を、予め定められたサービス事業者Sの鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「変更情報+事業者署名」のデータを変更確認装置200に送信する。
続いて、変更確認装置200は、受信した「変更情報+事業者署名」のデータに含まれる変更情報と事業者署名とを、変更内容確認者Cに提示する。このとき、変更確認装置200は、受信した「変更情報+事業者署名」のデータに含まれる事業者署名を、予め入手されたサービス事業者Sの鍵(公開鍵、秘密鍵、共通鍵など)を用いて復号化し、「事業者署名」に含まれる変更情報のハッシュ値と、受信した「変更情報」のハッシュ値とを比較した結果を含めて、変更情報と事業者署名とを、変更内容確認者Cに提示する。変更内容確認者Cは、変更確認装置200に提示された変更情報と事業者署名(ハッシュ値の比較結果を含む)とを確認する(ステップS103)。
そして、変更内容確認者Cは、提示された事業者署名が正しい署名であり、提示された変更情報が、サービス事業者Sが設定条件を変更する対象とした設備に対して正しい(問題なく適用することができる)変更内容である場合、変更確認装置200を操作して、署名を追加する。つまり、変更確認装置200に提示された事業者署名が、設備の設定条件の変更をすることができる遠隔サービスシステム1の正式な利用者の署名であり、変更確認装置200に提示された変更情報に示されている設備のパラメータ値が、変更情報に示されている設備識別情報をもつ設備に適用することができるパラメータ値である場合、変更内容確認者Cは、変更確認装置200が受信した変更情報に、さらに変更内容確認者Cが付加した署名(以下、確認者署名(または、第2の署名)という)を追加する。その後、変更内容確認者Cは、変更確認装置200に、受信した変更情報および事業者署名と、確認者署名との送信を指示し、変更実施者Iに設備の設定条件の変更を要求する(ステップS104)。
これにより、変更確認装置200は、ネットワーク10を介して変更要求装置100から受信した事業者署名が紐付けられた変更情報に、さらに確認者署名を紐付けた「変更情報+事業者署名+確認者署名」のデータを、ネットワーク10を介して変更実施装置210に送信する(ステップS105)。このとき、変更確認装置200は、確認者署名を、予め定められた変更内容確認者Cの鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「変更情報+事業者署名+確認者署名」のデータを変更実施装置210に送信する。
続いて、変更実施装置210は、受信した「変更情報+事業者署名+確認者署名」のデータに含まれる事業者署名と確認者署名とを、変更実施者Iに提示する。このとき、変更実施装置210は、受信した「変更情報+事業者署名+確認者署名」のデータに含まれる事業者署名を、予め入手されたサービス事業者Sの鍵を用いて復号化し、「事業者署名」に含まれる変更情報のハッシュ値と、「変更情報」のハッシュ値とを比較する。また、変更実施装置210は、「確認者署名」を、予め入手された変更内容確認者Cの鍵(公開鍵、秘密鍵、共通鍵など)を用いて復号化し、確認者署名に含まれる「変更情報+事業者署名」のハッシュ値と、受信した「変更情報+事業者署名」のハッシュ値とを比較する。そして、変更実施装置210は、それぞれの署名を比較した結果を含めて、変更情報と事業者署名と確認者署名とを、変更実施者Iに提示する。変更実施者Iは、変更実施装置210に提示された事業者署名と確認者署名と(ハッシュ値の比較結果を含む)とを確認する(ステップS106)。
そして、変更実施者Iは、提示された事業者署名と確認者署名とが正しい場合、変更実施装置210を操作して、署名を追加する。つまり、変更実施装置210に提示された事業者署名と確認者署名が、設備の設定条件の変更をすることができる遠隔サービスシステム1の正式な利用者の署名である場合、変更実施者Iは、変更実施装置210が受信した変更情報に、さらに変更実施者Iの署名(以下、実施者署名(または、第3の署名)という)を追加する。その後、変更実施者Iは、変更実施装置210に、受信した変更情報、事業者署名、確認者署名、および実施者署名の送信を指示し、プラントネットワーク装置300に設備の設定条件の変更の実施を要求する(ステップS107)。
これにより、変更実施装置210は、ネットワーク10を介して変更確認装置200から受信した事業者署名および確認者署名が紐付けられた変更情報に、さらに実施者署名を紐付けた「変更情報+事業者署名+確認者署名+実施者署名」のデータを、専用通信回線を介してプラントネットワーク装置300に送信する(ステップS108)。
これにより、プラントネットワーク装置300は、受信した「変更情報+事業者署名+確認者署名+実施者署名」のデータに含まれる事業者署名、確認者署名、および実施者署名を確認する(ステップS109)。
そして、プラントネットワーク装置300は、確認したサービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれの署名が正しく、署名が付加された順番が正しい、つまり、変更情報が伝送されてきた経路が正しい経路である場合、サービス事業者Sが設定条件の変更を要求した対象の設備に変更内容を適用する(ステップS110)。より具体的には、プラントネットワーク装置300は、変更実施装置210から送信されてきた「変更情報+事業者署名+確認者署名+実施者署名」のデータに含まれる変更情報に示されている設備識別情報をもつ設備を制御するプラント制御システム320に、変更情報に示されている設備のパラメータ値を、ファイヤーウォール310を介してプラントネットワークに伝送する。これにより、プラント制御システム320は、変更情報に示されている設備のパラメータ値を、変更情報に示されている設備のパラメータ値に変更し、サービス事業者Sが設定条件の変更を要求した対象の設備が、サービス事業者Sが要求した設定条件となる。
なお、プラント制御システム320が、サービス事業者Sが要求した設定条件を対象の設備に適用した結果(以下、適用結果という)をプラントネットワーク装置300に伝送する構成である場合、プラント制御システム320は、適用結果の情報を、ファイヤーウォール310を介してプラントネットワーク装置300に伝送する。これにより、プラントネットワーク装置300は、プラント制御システム320から伝送された適用結果の情報を、変更実施装置210に送信する。そして、変更実施装置210は、プラントネットワーク装置300から送信されてきた適用結果の情報を、変更確認装置200と変更要求装置100とに送信する。なお、プラントネットワーク装置300は、プラント制御システム320から伝送された適用結果の情報を、変更実施装置210、変更確認装置200、および変更要求装置100のそれぞれの送信する構成であってもよい。これにより、変更実施装置210、変更確認装置200、および変更要求装置100のそれぞれ、つまり、変更実施者I、変更内容確認者C、およびサービス事業者Sは、プラント制御システム320から伝送された適用結果の情報を確認することができる。図2には、プラント制御システム320から伝送された適用結果の情報を、変更実施装置210、変更確認装置200、および変更要求装置100のそれぞれの送信する処理を、ステップS111として破線で示している。
このような構成、処理、および作業の流れ(処理シーケンス)によって、遠隔サービスシステム1では、それぞれの利用者が、それぞれの段階において、変更情報に署名を順次追加していく。つまり、それぞれの利用者の署名を連鎖的に追加していく。そして、複数の利用者が確認した変更内容を設備に対して適用する。これにより、設備に設定しているパラメータ値を変更するときに従来必要であった発電プラントの関係部署への確認をなくすことができ、効率的に設備の設定条件の変更を行うことができる。また、複数の利用者が変更情報を確認するため、高いセキュリティレベルで、第三者による利用者へのなりすましや、変更情報を伝送する経路の途中での変更情報の改ざんを防止することができる。
なお、遠隔サービスシステム1では、プラントネットワーク装置300が、正しい経路で伝送されてきた変更情報に示されている設備のパラメータ値を、ファイヤーウォール310を介してプラントネットワークに伝送する。これにより、発電プラントでは、プラント制御システム320が、設備のパラメータ値を、対象の設備に適用する。このため、サービス事業者Sが変更要求装置100によって送信した変更情報の一部でも変更する場合には、再度、サービス事業者Sが署名を付加してから、それぞれの利用者が署名を順次追加していくことになる。これにより、サービス事業者S以外の利用者が一方的に変更情報を変更することができず、サービス事業者Sの意向を、設備の設定条件に反映することができる。
また、遠隔サービスシステム1における処理シーケンスでは、サービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれが、対応する変更要求装置100、変更確認装置200、または変更実施装置210を操作することによってそれぞれの署名の付加(追加)を行う場合について説明した。しかし、それぞれの利用者が署名を付加する方法は、対応するコンピュータ端末を操作することによって行う方法に限定されるものではない。例えば、上述したように、変更要求装置100、変更確認装置200、または変更実施装置210のそれぞれの機能は、プログラムやアプリケーションを実行することにより実現される。このため、プログラムやアプリケーションに署名の付加を行う機能を実行させることによって、サービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれによる署名の付加を自動化してもよい。この場合、それぞれの利用者の署名は、例えば、コンピュータ端末に利用者がログインしたときの情報を用いることによって、コンピュータ端末ごとの署名ではなく、利用者ごとの署名の付加(追加)を自動化することが考えられる。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態の遠隔サービスシステムも、発電プラントなどのプラント内に配置された設備の設定条件の変更を、遠隔地から行うシステムである。
なお、第2の実施形態の遠隔サービスシステムの構成要素において、第1の実施形態の遠隔サービスシステム1の構成要素と同様の構成要素には同一の符号を付与し、その構成要素に関する詳細な説明は省略する。
図3は、第2の実施形態における遠隔サービスシステムの概略構成を示したブロック図である。遠隔サービスシステム2は、変更要求装置100と、変更確認装置200と、変更実施装置210と、プラントネットワーク装置300とのそれぞれを含んで構成される。遠隔サービスシステム2では、変更要求装置100と、変更確認装置200と、変更実施装置210とのそれぞれが、ブロックチェーン20に接続されている。なお、図3には、図1と同様に、遠隔サービスシステム2によって設定条件の変更を要求する発電プラントの構成要素であるファイヤーウォール310と、プラント制御システム320とを併せて示している。また、図3には、発電プラントの構成要素として、データダイオード330も併せて示している。
なお、図3においても、ファイヤーウォール310がプラントネットワーク装置300とプラント制御システム320との間の位置にある場合を示しているが、図1と同様に、ファイヤーウォール310は、変更実施装置210とプラント制御システム320との間であれば、いずれの位置にあってもよい。また、一般的に、データダイオード330には、ファイヤーウォールの機能も備えているものが多い。このため、データダイオード330にファイヤーウォールの機能を備えている場合には、ファイヤーウォール310は、変更実施装置210からプラント制御システム320までの経路の中になくてもよい。
ブロックチェーン20は、あるデータの塊を1つのブロックとし、ブロックに含まれるデータを表すハッシュ値に基づいてそれぞれのブロックを繋ぎ合わせて管理する分散型のデータ管理技術が採用されたデータ管理システムが構築された公共またはプライベートの通信ネットワークである。ブロックチェーン20に登録されたデータのブロックは、ハッシュ値に基づいて以前に登録されたデータのブロックと時系列に繋がるため、登録されたときの履歴の情報を含めてデータを管理することができると共に、データの改ざんを困難にすることができる。ブロックチェーン20は、複数のデータサーバ装置を含んで構成される。
ブロックチェーン20で、複数のデータサーバ装置に分散したデータを合意形成によって正当性を確認することができる。より具体的には、ブロックチェーン20では、いずれかのデータサーバ装置からデータの登録が要求されると、それぞれのデータサーバ装置が、登録が要求されたデータに付加されている署名を確認することによって、データを登録してよいか否かを確認する。そして、ブロックチェーン20では、それぞれのデータサーバ装置が署名を確認した結果が予め定めたルールを満足する場合に、要求されたデータを登録する。このように、ブロックチェーン20では、それぞれのデータサーバ装置が署名を確認した結果が予め定めたルールを満足するデータのみが登録されるため、正当性が確認されたデータのみが登録されることになる。ここで、予め定めたルールとしては、例えば、全てのデータサーバ装置の内、過半数以上や2/3以上のデータサーバ装置による確認結果が一致すること、というようなルールを設けることができる。
図3では、3つのデータサーバ装置を含んで構成されたブロックチェーン20の構成を示している。これにより、遠隔サービスシステム2では、それぞれのデータサーバ装置の管理権限を分散させることによって、一つの組織だけでデータサーバ装置の改ざんを防ぐことができる。例えば、3つのデータサーバ装置それぞれの権限をサービス事業者S、変更内容確認者C、変更実施者Iに割り振った場合、データサーバ装置に記憶されたデータの内容について、2つ以上のデータサーバ装置でデータの内容が一致しないと、新たな情報(ブロック)をブロックチェーン20に登録することができないルールとした場合、サービス事業者S、変更内容確認者C、変更実施者Iのそれぞれが単独ではデータベースの改ざんができないことになる。このようにして遠隔サービスシステム2では、データの非改ざん性を高めることができる。
なお、ブロックチェーン20は、さらに多くのデータサーバ装置で構成される場合もある。また、それぞれのデータサーバ装置は、クラウドコンピューティングシステムに組み込まれたデータサーバ装置の場合もある。なお、ブロックチェーン20では、それぞれのブロックのデータがいずれのデータサーバ装置に分かれて記録(登録)されるかは予め定めていない。従って、以下の説明においては、ブロックチェーン20を構成するデータサーバ装置を特定せず、ブロックチェーン20の全体が、1つのデータサーバ装置として機能するものとして説明する。
データダイオード330は、一方向の通信のみを実現し、他方向の通信を物理的に遮断するように構成された通信ネットワークである。図3では、発電プラントから外部への一方向の通信のみを行う構成を示している。より具体的には、図3では、データダイオード330を介した通信が、プラントネットワーク装置300から変更実施装置210への一方向のみに物理的に限定されている。なお、データダイオード330は、第1の実施形態の遠隔サービスシステム1が適用された発電プラントにおいても、同様の位置に備えることができる。つまり、第1の実施形態の遠隔サービスシステム1が適用された発電プラントにおいても、後述するデータダイオード330を利用した機能を実現することができる。なお、本開示においては、データダイオード330の機能を実現する構成や方式に関しては、特に規定しない。
なお、データダイオード330を変更実施装置210からプラント制御システム320までの経路の中に置く理由は以下である。発電プラントのような重要なインフラでは、悪意のある第三者からのサイバー攻撃を防ぐために、外部からプラント内部のネットワークへのアクセスであるインバウンド(inbound)通信を制限するために、データダイオード330と呼ばれる一方向の通信のみを行う構成が用いられることがある。これにより、プラントにおける非接触式通信は、物理的に、プラントから外部への一方向、つまり、アウトバウンド(outbound)通信に限定されることになる。一方、サイバー攻撃を防ぎつつも最低限のインバウンド通信を行うために、シリアル通信かつプロトコルを限定した通信を行うこともある。本開示においては、この限定された通信路を、データダイオード330を用いて実現した構成を示している。
遠隔サービスシステム2では、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれが、ブロックチェーン20の同じ通信ネットワークシステムにログインし、ブロックチェーン20を介してそれぞれの段階の変更情報のデータをやり取りする。なお、遠隔サービスシステム2において各構成のそれぞれの動作は、ブロックチェーン20を介してそれぞれの段階の変更情報のデータをやり取りするための動作が異なる以外は、遠隔サービスシステム1における動作と同様である。
より具体的には、遠隔サービスシステム2では、変更要求装置100が、サービス事業者Sによって入力された変更情報を、ネットワーク10を介して変更確認装置200に送信する代わりに、ブロックチェーン20に登録する。また、遠隔サービスシステム2では、変更確認装置200が、ネットワーク10を介して変更要求装置100から送信されてきた変更情報を受信する代わりに、変更要求装置100がブロックチェーン20に登録した変更情報をブロックチェーン20から取得する。そして、変更確認装置200が、変更内容確認者Cによって確認された変更情報を、ネットワーク10を介して変更実施装置210に送信する代わりに、ブロックチェーン20に登録する。また、変更実施装置210が、ネットワーク10を介して変更確認装置200から送信されてきた確認済みの変更情報を受信する代わりに、変更確認装置200がブロックチェーン20に登録した確認済みの変更情報をブロックチェーン20から取得する。そして、変更実施装置210が、変更実施者Iによって確認済みの変更情報が表す変更内容を実施するとされた変更情報(設備のパラメータ値)を、専用通信回線を介してプラントネットワーク装置300に送信する。
なお、遠隔サービスシステム2においても、変更実施装置210とプラントネットワーク装置300との間の通信回線は、専用通信回線に限定されるものではない。例えば、変更実施装置210とプラントネットワーク装置300との間の通信回線は、シリアル通信かつ限定したプロトコルで通信を行う通信回線であってもよい。なお、本開示においては、変更実施装置210とプラントネットワーク装置300との間の通信回線をシリアル通信かつ限定したプロトコルの通信で実現する際の方法や構成に関しては、特に規定しない。
これにより、遠隔サービスシステム2を適用した発電プラントでも、サービス事業者Sが設定条件の変更を要求した対象の設備に、要求した変更内容が適用される。
なお、遠隔サービスシステム2において変更実施装置210は、必須の構成要素ではない。つまり、遠隔サービスシステム2も、遠隔サービスシステム1と同様に、変更実施装置210を備えていない構成であってもよい。この場合の遠隔サービスシステム2では、プラントネットワーク装置300がブロックチェーン20にログインし、変更確認装置200がブロックチェーン20に登録した変更情報(設備のパラメータ値)をブロックチェーン20から取得して、プラントネットワーク装置300に直接送信する。
また、遠隔サービスシステム2では、プラント制御システム320が、遠隔サービスシステム2によって変更された設備の設定条件に応じた設備の稼働状態を表す結果、つまり、変更情報が表す変更内容を適用した適用結果である変更結果のデータを、ファイヤーウォール310を介してプラントネットワーク装置300に伝送する。これにより、プラントネットワーク装置300は、プラント制御システム320から伝送された変更結果のデータを、データダイオード330を介して変更実施装置210に送信する。そして、遠隔サービスシステム2では、変更実施装置210が、プラントネットワーク装置300からデータダイオード330を介して送信された変更結果のデータに署名を追加して、ブロックチェーン20に登録する。
なお、遠隔サービスシステム2では、変更結果のデータへの署名の追加を、プラントネットワーク装置300が行ってもよい。これは、プラントネットワーク装置300は、データダイオード330によって外部のネットワークから保護されているため、悪意のある第三者からのサイバー攻撃を受けにくく、プラントネットワーク装置300が保持している秘密鍵の信頼性が高いからである。なお、遠隔サービスシステム2では、プラントネットワーク装置300と変更実施装置210とのそれぞれが、変更結果のデータへの署名の追加を行ってもよい。
これにより、遠隔サービスシステム2を適用した発電プラントでは、サービス事業者Sが、設定条件の変更を要求した対象の設備における稼働状態の変更結果を確認することができる。より具体的には、変更要求装置100が、変更実施装置210がブロックチェーン20に登録した変更結果のデータをブロックチェーン20から取得して、サービス事業者Sに提示する。なお、変更実施装置210がブロックチェーン20に登録した変更結果のデータは、変更確認装置200もブロックチェーン20から取得することができる。つまり、遠隔サービスシステム2を適用した発電プラントでは、変更内容確認者Cが、確認した変更情報を対象の設備に適用した変更結果を確認することができる。
なお、変更結果には、設備の設備識別情報(例えば、機器ID)、稼働状態を表す情報、変更した設備のパラメータ値などが含まれている。また、変更結果には、例えば、重要業績評価指標(Key Performance Indicator:KPI)など、稼働している設備の効率を算出するためのデータが含まれていてもよい。この場合、変更実施装置210は、プラントネットワーク装置300からデータダイオード330を介して送信された変更結果に基づいてKPIを算出し、算出したKPIのデータに署名を追加して、ブロックチェーン20に登録してもよい。また、プラントネットワーク装置300がKPIを算出し、さらに、算出したKPIのデータにプラントネットワーク装置300を表す署名を追加して変更結果のデータとし、データダイオード330を介してブロックチェーン20に直接登録する構成にしてもよい。
次に、遠隔サービスシステム2を利用した設備の設定条件の変更の処理シーケンスについて説明する。図4は、第2の実施形態の遠隔サービスシステム2における処理および作業の流れ(処理シーケンス)を示したシーケンス図である。図4には、遠隔サービスシステム2を構成する、ブロックチェーン20と、ブロックチェーン20に接続された変更要求装置100、変更確認装置200、および変更実施装置210と、プラントネットワーク装置300とのそれぞれにおける処理の流れの一例を示している。なお、図4においても、図2と同様に、遠隔サービスシステム2からの変更内容を対象の設備に設定するプラント制御システム320の処理を、プラントネットワーク装置300の処理として示している。また、図4にも、サービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれの作業(変更要求装置100、変更確認装置200、および変更実施装置210に対する操作)も併せて示している。上述したように、遠隔サービスシステム2では、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれが、ブロックチェーン20を介して変更情報をやり取りする。
まず、サービス事業者Sは、変更要求装置100を操作して、設定条件を変更する対象の設備の設備識別情報(例えば、機器ID)や、設備のパラメータ値などを含む変更情報を、変更要求装置100に入力する(ステップS200)。
そして、サービス事業者Sは、変更要求装置100を操作して、署名を付加する。その後、サービス事業者Sは、変更要求装置100に、入力した変更情報と事業者署名とのブロックチェーン20への登録を指示する(ステップS201)。
これにより、変更要求装置100は、サービス事業者Sが入力した変更情報とサービス事業者Sが付加した署名とを紐付けた「変更情報+事業者署名」のデータを、ブロックチェーン20に登録する(ステップS202)。このとき、変更要求装置100は、事業者署名を、予め定められたサービス事業者Sの鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「変更情報+事業者署名」のデータをブロックチェーン20に登録する。これにより、ブロックチェーン20には、例えば、1つ目のブロックのデータとして、変更要求装置100が登録した「変更情報+事業者署名」のデータに含まれる、設備の設備識別情報や設備のパラメータ値のデータが「データの内容」として登録され、サービス事業者Sの識別情報(例えば、担当者ID)、つまり、サービス事業者であることを表す情報が「送信者の情報」として登録され、事業者署名が「署名の情報」として登録される。
続いて、変更内容確認者Cは、変更確認装置200を定期的に操作して、変更要求装置100によって「変更情報+事業者署名」のデータがブロックチェーン20に登録されているか否か、つまり、「変更情報+事業者署名」のデータが更新されているか否かを確認する。そして、変更要求装置100によって新たな「変更情報+事業者署名」のデータがブロックチェーン20に登録されている場合、変更内容確認者Cは、変更確認装置200を操作して、ブロックチェーン20に登録されている新たな「変更情報+事業者署名」のデータを、ブロックチェーン20から取得する(ステップS203)。
これにより、変更確認装置200は、取得した「変更情報+事業者署名」のデータに含まれる変更情報と事業者署名とを、変更内容確認者Cに提示する。このとき、変更確認装置200は、取得した「変更情報+事業者署名」のデータに含まれる事業者署名を、予め入手されたサービス事業者Sの鍵(公開鍵、秘密鍵、共通鍵など)を用いて復号化し、「事業者署名」に含まれる変更情報のハッシュ値と、取得した「変更情報」のハッシュ値とを比較した結果を含めて、変更情報と事業者署名とを、変更内容確認者Cに提示する。変更内容確認者Cは、変更確認装置200に提示された変更情報と事業者署名(ハッシュ値の比較結果を含む)とを確認する(ステップS204)。
そして、変更内容確認者Cは、提示された事業者署名が正しい署名であり、提示された変更情報が、サービス事業者Sが設定条件を変更する対象とした設備に対して正しい(問題なく適用することができる)変更内容である場合、変更確認装置200を操作して、署名を追加する。つまり、変更確認装置200に提示された事業者署名が、設備の設定条件の変更をすることができる遠隔サービスシステム2の正式な利用者の署名であり、変更確認装置200に提示された変更情報に示されている設備のパラメータ値が、変更情報に示されている設備識別情報をもつ設備に適用することができるパラメータ値である場合、変更内容確認者Cは、変更確認装置200が取得した変更情報に、さらに確認者署名を追加する。その後、変更内容確認者Cは、変更確認装置200に、取得した変更情報および事業者署名と、確認者署名とのブロックチェーン20への登録を指示する(ステップS205)。
これにより、変更確認装置200は、ブロックチェーン20から取得した事業者署名が紐付けられた変更情報に、さらに確認者署名を紐付けた「変更情報+事業者署名+確認者署名」のデータを、ブロックチェーン20に登録する(ステップS206)。このとき、変更確認装置200は、変更内容確認者Cが追加した署名を、予め定められた変更内容確認者Cの鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「変更情報+事業者署名+確認者署名」のデータをブロックチェーン20に登録する。これにより、ブロックチェーン20には、例えば、2つ目のブロックのデータとして、変更確認装置200が登録した「変更情報+事業者署名+確認者署名」のデータに含まれる、設備の設備識別情報や設備のパラメータ値のデータが「データの内容」として登録され、変更内容確認者Cの識別情報(例えば、担当者ID)、つまり、変更内容確認者であることを表す情報が「送信者の情報」として登録され、事業者署名と確認者署名とが「署名の情報」として登録される。
続いて、変更実施者Iは、変更実施装置210を定期的に操作して、変更確認装置200によって「変更情報+事業者署名+確認者署名」のデータがブロックチェーン20に登録されているか否か、つまり、「変更情報+事業者署名+確認者署名」のデータが更新されているか否かを確認する。そして、変更確認装置200によって新たな「変更情報+事業者署名+確認者署名」のデータがブロックチェーン20に登録されている場合、変更実施者Iは、変更実施装置210を操作して、ブロックチェーン20に登録されている新たな「変更情報+事業者署名+確認者署名」のデータを、ブロックチェーン20から取得する(ステップS207)。
これにより、変更実施装置210は、取得した「変更情報+事業者署名+確認者署名」のデータに含まれる事業者署名と確認者署名とを、変更実施者Iに提示する。このとき、変更実施装置210は、取得した「変更情報+事業者署名+確認者署名」のデータに含まれる事業者署名を、予め入手されたサービス事業者Sの鍵を用いて復号化し、事業者署名に含まれる変更情報のハッシュ値と、取得した変更情報のハッシュ値とを比較する。また、変更実施装置210は、取得した「変更情報+事業者署名+確認者署名」のデータに含まれる確認者署名を、予め入手された変更内容確認者Cの鍵(公開鍵、秘密鍵、共通鍵など)を用いて復号化し、確認者署名に含まれる「変更情報+事業者署名」のハッシュ値と、取得した「変更情報+事業者署名」のハッシュ値とを比較する。そして、変更実施装置210は、それぞれの署名を比較した結果を含めて、変更情報と事業者署名と確認者署名とを、変更実施者Iに提示する。変更実施者Iは、変更実施装置210に提示された事業者署名と確認者署名と(ハッシュ値の比較結果を含む)とを確認する(ステップS208)。
そして、変更実施者Iは、提示された事業者署名と確認者署名とが正しい場合、変更実施装置210を操作して、署名を追加する。つまり、変更実施装置210に提示された事業者署名と確認者署名が、設備の設定条件の変更をすることができる遠隔サービスシステム2の正式な利用者の署名である場合、変更実施者Iは、変更実施装置210が取得した変更情報に、さらに実施者署名を追加する。その後、変更実施者Iは、変更実施装置210に、取得した変更情報、事業者署名、確認者署名、および実施者署名の送信を指示し、プラントネットワーク装置300に設備の設定条件の変更の実施を要求する(ステップS209)。
これにより、変更実施装置210は、ブロックチェーン20に変更確認装置200が登録した事業者署名および確認者署名が紐付けられた変更情報に、さらに実施者署名を紐付けた「変更情報+事業者署名+確認者署名+実施者署名」のデータを、専用通信回線を介してプラントネットワーク装置300に送信する(ステップS210)。
これにより、プラントネットワーク装置300は、変更実施装置210から専用通信回線を介して送信されてきた「変更情報+事業者署名+確認者署名+実施者署名」のデータを受信すると、受信した「変更情報+事業者署名+確認者署名+実施者署名」のデータに含まれる事業者署名、確認者署名、および実施者署名を確認する(ステップS211)。
そして、プラントネットワーク装置300は、確認したサービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれの署名が正しく、署名が付加された順番が正しい、つまり、変更情報が伝送されてきた経路が正しい経路である場合、サービス事業者Sが設定条件の変更を要求した対象の設備に変更内容を適用する(ステップS212)。より具体的には、プラントネットワーク装置300は、変更実施装置210から送信されてきた「変更情報+事業者署名+確認者署名+実施者署名」のデータに含まれる変更情報に示されている設備識別情報をもつ設備を制御するプラント制御システム320に、変更情報に示されている設備のパラメータ値を、ファイヤーウォール310を介してプラントネットワークに伝送する。これにより、プラント制御システム320は、変更情報に示されている設備のパラメータ値を、変更情報に示されている設備のパラメータ値に変更し、サービス事業者Sが設定条件の変更を要求した対象の設備が、サービス事業者Sが要求した設定条件となる。
その後、プラント制御システム320は、変更された設備のパラメータ値に応じた稼働状態を表す変更結果のデータを、ファイヤーウォール310を介してプラントネットワーク装置300に伝送する。これにより、プラントネットワーク装置300は、プラント制御システム320から伝送された変更結果のデータを、データダイオード330を介して変更実施装置210に送信する(ステップS213)。
なお、プラントネットワーク装置300は、プラント制御システム320から伝送された変更結果のデータに、プラント制御システム320またはプラントネットワーク装置300を表す署名(以下、プラント署名という)を付加し、「変更結果+プラント署名」のデータを、プラント制御システム320から伝送された変更結果のデータとして、データダイオード330を介して変更実施装置210に送信してもよい。また、プラントネットワーク装置300は、「変更結果+プラント署名」のデータを、データダイオード330を介してブロックチェーン20に直接登録してもよい。
続いて、変更実施装置210は、受信した変更結果のデータを、変更実施者Iに提示する。変更実施者Iは、変更実施装置210に提示された変更結果のデータを確認し、変更実施装置210を操作して、署名を追加する。その後、変更実施者Iは、変更実施装置210に、受信した変更結果のデータと変更実施者Iの署名とのブロックチェーン20への登録を指示する(ステップS214)。
これにより、変更実施装置210は、プラントネットワーク装置300から送信されてきた変更結果のデータに、変更実施者Iが追加した署名を紐付けた「変更結果+実施者署名」のデータを、ブロックチェーン20に登録する(ステップS215)。このとき、変更実施装置210は、実施者署名を、予め定められた変更実施者Iの鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「変更結果+実施者署名」のデータをブロックチェーン20に登録する。これにより、ブロックチェーン20には、例えば、3つ目のブロックのデータとして、変更実施装置210が登録した「変更結果+実施者署名」のデータに含まれる、変更結果のデータが「データの内容」として登録され、変更実施者Iの識別情報(例えば、担当者ID)、つまり、変更実施者であることを表す情報が「送信者の情報」として登録され、変更実施者Iの署名が「署名の情報」として登録される。なお、変更実施装置210は、「変更結果+実施者署名」のデータをブロックチェーン20に登録する際に、プラントネットワーク装置300が変更結果のデータを送信してきたときの日時の情報を付加してもよい。
これにより、サービス事業者Sは、変更要求装置100を定期的に操作して、変更実施装置210によって「変更結果+実施者署名」のデータがブロックチェーン20に登録されているか否かを確認し、「変更結果+実施者署名」のデータが登録されていれば、設定条件の変更を要求した対象の設備における稼働状態の変更結果を確認することができる。また、変更内容確認者Cも、変更確認装置200を定期的に操作して、ブロックチェーン20に登録されているデータが更新されているか否かを確認することによって、変更実施装置210がブロックチェーン20に登録した「変更結果+実施者署名」のデータに基づいて、設備の設定条件や設備の稼働状態を管理することができる。このとき、変更要求装置100および変更確認装置200のそれぞれは、ブロックチェーン20に登録された「変更結果+実施者署名」のデータに含まれる実施者署名を、予め入手された変更実施者Iの鍵(公開鍵、秘密鍵、共通鍵など)を用いて復号化し、「実施者署名」に含まれる変更結果のハッシュ値と、ブロックチェーン20から取得した「変更結果」のハッシュ値とを比較して、変更実施者Iを確認する。
このような構成、処理、および作業の流れ(処理シーケンス)によって、遠隔サービスシステム2では、それぞれの利用者が、それぞれの段階において、変更情報に署名を順次追加してブロックチェーン20に登録していく。つまり、ブロックチェーン20に登録された変更情報のデータに、それぞれの利用者の署名を連鎖的(時系列)に追加していく。そして、複数の利用者が確認した変更内容を設備に対して適用する。これにより、遠隔サービスシステム1と同様の効果を得ることができる。
しかも、遠隔サービスシステム2では、データの改ざんを困難にするデータ管理方法が採用され、登録されたデータの履歴を時系列で管理することができるブロックチェーン20を介して、それぞれの段階の変更情報のデータをやり取りする。これにより、遠隔サービスシステム2では、ブロックチェーン20に登録したデータに含まれる、変更情報、サービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれの署名、変更結果のそれぞれの情報の改ざんをさらに困難とし、遠隔サービスシステム1よりもさらに高いセキュリティレベルで、第三者による利用者へのなりすましや、変更情報の改ざんを防止することができる。
(第2の実施形態の変形例)
次に、第2の実施形態の変形例について説明する。第2の実施形態の変形例では、遠隔サービスシステム2を構成する変更実施装置210が、プラントネットワーク装置300に設備の設定条件の変更の実施を要求したことを表す情報を、ブロックチェーン20に登録することが、第2の実施形態の遠隔サービスシステム2の動作と異なる。従って、以下の説明においては、第2の実施形態の遠隔サービスシステム2の動作と異なる変形例の動作のみを説明する。
図5は、第2の実施形態の変形例の遠隔サービスシステム2における処理および作業の流れ(処理シーケンス)を示したシーケンス図である。図5には、図4と同様に、遠隔サービスシステム2を構成する、ブロックチェーン20と、ブロックチェーン20に接続された変更要求装置100、変更確認装置200、および変更実施装置210と、プラントネットワーク装置300とのそれぞれにおける処理の流れの一例を示している。なお、図5においても、図4と同様に、遠隔サービスシステム2の変形例からの変更内容を対象の設備に設定するプラント制御システム320の処理を、プラントネットワーク装置300の処理として示している。また、図5にも、サービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれの作業も併せて示している。
上述したように、遠隔サービスシステム2の変形例では、変更実施装置210が、プラントネットワーク装置300に設備の設定条件の変更の実施を要求したことを表す情報をブロックチェーン20に登録する。このため、図5に示した遠隔サービスシステム2の変形例のシーケンス図では、プラントネットワーク装置300に設備の設定条件の変更の実施を要求したことを表す情報をブロックチェーン20に登録する変更実施装置210の処理が追加されている。なお、遠隔サービスシステム2の変形例におけるその他の処理および作業の流れは、遠隔サービスシステム2と同様である。従って、図5では、遠隔サービスシステム2と同様の処理および作業の流れに同一のステップ番号を付与して説明を簡略化し、異なる作業の流れに重点をおいて説明する。
ステップS200~ステップS202において、変更要求装置100は、サービス事業者Sが入力した変更情報と事業者署名とを紐付けた「変更情報+事業者署名」のデータを、ブロックチェーン20に登録する。これにより、ブロックチェーン20には、例えば、1つ目のブロックのデータが登録される。
その後、ステップS203~ステップS206において、変更確認装置200は、ブロックチェーン20から取得した事業者署名が紐付けられた変更情報に、さらに確認者署名を紐付けた「変更情報+事業者署名+確認者署名」のデータを、ブロックチェーン20に登録する。これにより、ブロックチェーン20には、例えば、2つ目のブロックのデータが登録される。
その後、ステップS207~ステップS210において、変更実施装置210は、ブロックチェーン20から取得したサービス事業者Sおよび確認者署名が紐付けられた変更情報に、さらに実施者署名を紐付けた「変更情報+事業者署名+確認者署名+実施者署名」のデータを、専用通信回線を介してプラントネットワーク装置300に送信する。
続いて、変更実施者Iは、変更実施装置210に、「変更情報+事業者署名+確認者署名+実施者署名」のデータをプラントネットワーク装置300に送信したことを表すための実施ログと、実施者署名とのブロックチェーン20への登録を指示する(ステップS301)。なお、実施ログには、プラントネットワーク装置300に送信した日時の情報、変更情報(設備の設備識別情報や設備のパラメータ値)、変更実施者Iの情報など、「変更情報+事業者署名+確認者署名+実施者署名」のデータをプラントネットワーク装置300に送信したときの情報やデータが含まれている。
これにより、変更実施装置210は、実施ログに実施者署名を紐付けた「実施ログ+実施者署名」のデータを、ブロックチェーン20に登録する(ステップS302)。このとき、変更実施装置210は、実施者署名を、予め定められた変更実施者Iの鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「実施ログ+実施者署名」のデータをブロックチェーン20に登録する。これにより、ブロックチェーン20には、例えば、3つ目のブロックのデータとして、変更実施装置210が登録した「実施ログ+実施者署名」のデータに含まれる、日時の情報が「日時」として登録され、設備の設備識別情報や設備のパラメータ値のデータが「データの内容」として登録され、変更実施者Iの情報が「変更実施者の情報」として登録され、実施者署名が「署名の情報」として登録される。
これにより、サービス事業者Sは、変更要求装置100を定期的に操作して、変更実施装置210によって「実施ログ+実施者署名」のデータがブロックチェーン20に登録されているか否かを確認し、「実施ログ+実施者署名」のデータが登録されていれば、要求した対象の設備における設定条件の変更を実施したことを確認することができる。同様に、変更内容確認者Cも、変更確認装置200を定期的に操作することによって、確認した設備の設定条件の変更を実施したことを確認することができる。
一方、ステップS211~ステップS213において、プラントネットワーク装置300およびプラント制御システム320が、ステップS210において変更実施装置210が専用通信回線を介して送信してきた「変更情報+事業者署名+確認者署名+実施者署名」のデータに基づいて設備の設定条件を変更し、変更結果のデータを、データダイオード330を介して変更実施装置210に送信する。
これにより、ステップS214~ステップS215において、変更実施装置210は、プラントネットワーク装置300から送信されてきた変更結果のデータに、実施者署名を紐付けた「変更結果+実施者署名」のデータを、ブロックチェーン20に登録する。なお、変更実施装置210は、「変更結果+実施者署名」のデータをブロックチェーン20に登録する際に、プラントネットワーク装置300が変更結果のデータを送信してきたときの日時の情報を付加する。これにより、ブロックチェーン20には、例えば、4つ目のブロックのデータとして、「変更結果+実施者署名」のデータが登録される。
これにより、サービス事業者Sは、変更要求装置100を定期的に操作することによって、設定条件の変更を要求した対象の設備における稼働状態の変更結果を確認することができる。また、サービス事業者Sは、ブロックチェーン20に登録されている「実施ログ+実施者署名」のデータ(例えば、3つ目のブロックのデータ)と、「変更結果+実施者署名」のデータ(例えば、4つ目のブロックのデータ)とのそれぞれの「日時」の差から、要求した設備の設定条件の変更を実施したときから、実際に設備の稼働状態が変更されるまでの時間差(遅延時間)を確認することもできる。また、変更内容確認者Cも、変更確認装置200を定期的に操作して、ブロックチェーン20に登録されているそれぞれのデータを確認することによって、設備の設定条件や設備の稼働状態を管理することができる。このとき、変更要求装置100および変更確認装置200のそれぞれは、「変更結果+実施者署名」のデータに含まれる実施者署名に基づいて変更実施者Iを確認するのと同様に、ブロックチェーン20に登録された「実施ログ+実施者署名」のデータに含まれる実施者署名に基づいて変更実施者Iを確認する。より具体的には、変更要求装置100および変更確認装置200のそれぞれは、ブロックチェーン20に登録された「実施ログ+実施者署名」のデータに含まれる実施者署名を、予め入手された変更実施者Iの鍵(公開鍵、秘密鍵、共通鍵など)を用いて復号化し、「実施者署名」に含まれる実施ログのハッシュ値と、ブロックチェーン20から取得した「実施ログ」のハッシュ値とを比較して、変更実施者Iを確認する。
このような処理シーケンスによって、遠隔サービスシステム2の変形例では、変更実施装置210がプラントネットワーク装置300に「変更情報+事業者署名+確認者署名+実施者署名」のデータを送信したことを表す実施ログもブロックチェーン20に登録する。つまり、遠隔サービスシステム2の変形例では、改ざんが困難な実施ログもブロックチェーン20のデータとして登録する。これにより、遠隔サービスシステム2の変形例では、それぞれの処理の進捗状態や処理の遅延時間も併せて、設備の設定条件の変更や管理を行うことができると共に、高いセキュリティレベルで、第三者による利用者へのなりすましや、実施ログを含めた設備の設定条件の変更に関する情報の改ざんを防止することができる。
なお、遠隔サービスシステム2(第2の実施形態における遠隔サービスシステム2の変形例も含む。以下の説明において第2の実施形態または遠隔サービスシステム2を参照する場合には同様とする。)でも、第1の実施形態の遠隔サービスシステム1と同様に、プラントネットワーク装置300が、それぞれの利用者が署名を付加(追加)した変更情報に示されている設備のパラメータ値を、ファイヤーウォール310を介してプラントネットワークに伝送する。これにより、発電プラントでも、プラント制御システム320が、設備のパラメータ値を、対象の設備に適用する。このため、遠隔サービスシステム2でも、サービス事業者Sが変更要求装置100によってブロックチェーン20に登録した変更情報の一部でも変更する場合には、再度、サービス事業者Sが署名を付加してブロックチェーン20に登録してから、それぞれの利用者がブロックチェーン20に登録されている変更情報を確認して、署名を順次追加していくことになる。これにより、サービス事業者S以外の利用者が一方的に変更情報を変更することができず、サービス事業者Sの意向を、設備の設定条件に反映することができる。
また、遠隔サービスシステム2でも、それぞれの利用者が署名の付加(追加)をする方法は、対応するコンピュータ端末を操作することによって行う方法に限定されるものではなく、プログラムやアプリケーションを実行することによって署名の付加(追加)を自動化してもよい。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態の遠隔サービスシステムも、上述の各実施形態と同様に、発電プラントなどのプラント内に配置された設備の設定条件の変更を、遠隔地から行うシステムである。
なお、第3の実施形態の遠隔サービスシステムの構成要素において、遠隔サービスシステム2の構成要素と同様の構成要素には同一の符号を付与し、その構成要素に関する詳細な説明は省略する。
図6は、第3の実施形態における遠隔サービスシステムの概略構成を示したブロック図である。遠隔サービスシステム3は、変更要求装置100と、変更確認装置200と、変更実施装置210と、プラントネットワーク装置300とのそれぞれを含んで構成される。遠隔サービスシステム3では、変更要求装置100と、変更確認装置200と、変更実施装置210とのそれぞれが、ブロックチェーン20に接続されている。なお、図6には、図3と同様に、遠隔サービスシステム3によって設定条件の変更を要求する発電プラントの構成要素である、ファイヤーウォール310と、プラント制御システム320と、データダイオード330とを併せて示している。また、図6に、変更実施装置210がプラントネットワーク装置300に設備の設定条件の変更の実施を要求したことを表す実施ログをブロックチェーン20に登録する様子も併せて示している。
なお、図6においても、図3と同様に、変更実施装置210からプラント制御システム320までの経路の中に、ファイヤーウォール310とデータダイオード330とがある場合を示しているが、データダイオード330にファイヤーウォールの機能を備えている場合には、変更実施装置210からプラント制御システム320までの経路の中にファイヤーウォール310がなくてもよい。
なお、上述の各実施形態では、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれが、予め入手された利用者の鍵(公開鍵、秘密鍵、共通鍵など)を用いてデータのハッシュ値を比較することにより、ブロックチェーン20にデータを登録したそれぞれの利用者の署名を確認していた。
これに対して、遠隔サービスシステム3では、利用者の署名を確認する処理を自動で実行するプログラム(以下、署名確認処理プログラムという)を、予めブロックチェーン20に登録しておく。なお、署名確認処理プログラムは、スマートコントラクトコードや単にスマートコントラクトと呼ばれる。以下の説明においては、「スマートコントラクトコード」として説明する。つまり、ブロックチェーン20に登録した署名確認処理プログラムは、データと同様に、ハッシュ値に基づいて関連するプログラムのデータが繋がっている。このため、ブロックチェーン20に登録した確認処理プログラムも、改ざんを困難にすることができると共に、不正な処理を実行しないようにすることができる。つまり、署名確認処理プログラムによって、例えば、第三者の署名を、正しい利用者の署名であると確認することがないようにすることができる。そして、ブロックチェーン20において利用することができるスマートコントラクトコードの機能を用いて、署名確認処理プログラムを自動的に実行させ、ブロックチェーン20内でそれぞれの利用者の署名を確認する。図6には、ブロックチェーン20を構成する3つのデータサーバ装置のそれぞれに、署名確認処理プログラム(署名確認処理プログラム20a~署名確認処理プログラム20c)を登録している状態を示している。
なお、ブロックチェーン20を構成するそれぞれのサーバ装置に登録する署名確認処理プログラムは、1つのプログラムのみに限定されるものではなく、複数の署名確認処理プログラムが登録されてもよい。また、署名確認処理プログラムは、ブロックチェーン20を構成するいずれのデータサーバ装置に分かれて記録(登録)されるかは予め定められていない。従って、以下の説明においては、署名確認処理プログラムが登録されている、ブロックチェーン20を構成するデータサーバ装置を特定されず、ブロックチェーン20の全体の中に、署名確認処理プログラムが登録されているものとして説明する。
署名確認処理プログラムは、それぞれの利用者がデータをブロックチェーン20に登録する際に、自分の署名を確認するための署名確認処理プログラムを指定することにより、自動的に実行される。ここで、署名確認処理プログラムの指定は、例えば、署名確認処理プログラムを識別する情報や、署名確認処理プログラムが登録されているデータサーバ装置における記憶領域のアドレスやブロックの情報などを設定した利用者の署名がされたデータをブロックチェーン20に登録する、つまり、データをブロックチェーン20に送信することによって行うことができる。署名確認処理プログラムは、実行されると、予め入手された利用者の鍵(公開鍵、秘密鍵、共通鍵など)を用いて、登録しようとしているデータのハッシュ値を比較し、データの署名が、正しい利用者の署名であるか否かを確認する。そして、署名確認処理プログラムは、正しい利用者の署名であると確認された場合にのみ、登録しようとしているデータを登録する。より具体的には、署名確認処理プログラムは、登録しようとしているデータの署名をそれぞれのデータサーバ装置が確認し、例えば、過半数以上のデータサーバ装置で正しい利用者の署名であると確認できたなどの予め定めたルールを満足する場合にのみ、登録しようとしているデータを登録する。つまり、遠隔サービスシステム3では、正しい利用者の署名が付加されているデータのみをブロックチェーン20に登録する。
このため、遠隔サービスシステム3を利用するそれぞれの利用者がブロックチェーン20から取得したデータは、正しい利用者が登録したデータであることがすでに確定されていることになる。従って、遠隔サービスシステム3を構成する変更要求装置100と、変更確認装置200と、変更実施装置210とのそれぞれは、対応する利用者の操作に応じてブロックチェーン20からデータを取得した際に、上述の各実施形態のように、データに含まれる利用者の署名のハッシュ値を比較する必要がなくなる。このため、遠隔サービスシステム3を各利用者も、データの署名を確認する必要がなくなる。つまり、遠隔サービスシステム3では、データに含まれる利用者の署名を確認するために、他の利用者の公開鍵を持っている必要がなくなり、公開鍵の管理をしなくてよくなる。
なお、遠隔サービスシステム3において変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれの動作は、ブロックチェーン20にそれぞれの段階のデータ(変更情報、実施ログや変更結果のデータ)を登録する際に、対応する署名確認処理プログラムを指定して実行させる以外は、第2の実施形態の遠隔サービスシステム2における動作と同様である。
より具体的には、遠隔サービスシステム3では、変更要求装置100が、サービス事業者Sによって入力された変更情報をブロックチェーン20に登録する際に、事業者署名を確認する処理を行う署名確認処理プログラム(例えば、署名確認処理プログラム20a)を実行させる。これにより、ブロックチェーン20は、サービス事業者Sの正しい署名が付加された変更情報のデータのみを登録する。また、変更確認装置200が、変更内容確認者Cによって確認された変更情報をブロックチェーン20に登録する際に、事業者署名および確認者署名を確認する処理を行う署名確認処理プログラム(例えば、署名確認処理プログラム20b)を実行させる。これにより、ブロックチェーン20は、サービス事業者Sおよび変更内容確認者Cの正しい署名が付加(追加)された確認後の変更情報のデータのみを登録する。また、変更実施装置210が、実施ログや、プラントネットワーク装置300から送信されてきた変更結果のデータをブロックチェーン20に登録する際に、実施者署名を確認する処理を行う署名確認処理プログラム(例えば、署名確認処理プログラム20c)を実行させる。これにより、ブロックチェーン20は、変更実施者Iの正しい署名が付加された実施ログや変更結果のデータのみを登録する。
これにより、遠隔サービスシステム3を適用した発電プラントでも、サービス事業者Sが設定条件の変更を要求した対象の設備に、要求した変更内容が適用される。そして、遠隔サービスシステム2と同様に、サービス事業者Sが、要求した対象の設備における稼働状態の変更結果を確認することができ、変更内容確認者Cが、確認した変更情報を対象の設備に適用した変更結果を確認することができる。また、遠隔サービスシステム2の変形例と同様に、サービス事業者Sや変更内容確認者Cが、変更実施装置210がプラントネットワーク装置300に設備の設定条件の変更の実施を要求した実施ログを確認することができる。しかも、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれが、ブロックチェーン20から取得したデータに含まれる署名の確認の処理を行わなくてもよいだけでなく、それぞれのデータがブロックチェーン20で管理されていることから、改ざんされていないデータであることが保証されているため、正しい変更要求であることが証明できることによって、遠隔地から設備の設定変更を行うことができるようになる。
なお、遠隔サービスシステム3において変更実施装置210は、必須の構成要素ではない。つまり、遠隔サービスシステム3も、遠隔サービスシステム2と同様に、変更実施装置210を備えていない構成であってもよい。この場合の遠隔サービスシステム3では、プラントネットワーク装置300が、実施ログや変更結果のデータをブロックチェーン20に登録する際に、実施者署名を確認する処理を行う署名確認処理プログラム(例えば、署名確認処理プログラム20c)を実行させる。
次に、遠隔サービスシステム3を利用した設備の設定条件の変更の処理シーケンスについて説明する。図7は、第3の実施形態の遠隔サービスシステム3における処理シーケンスを示したシーケンス図である。なお、図7は、図5と同様に、変更実施装置210が実施ログをブロックチェーン20に登録する場合のシーケンス図である。図7には、遠隔サービスシステム3を構成する、ブロックチェーン20と、ブロックチェーン20に接続された変更要求装置100、変更確認装置200、および変更実施装置210と、プラントネットワーク装置300とのそれぞれにおける処理の流れの一例を示している。なお、図7においても、遠隔サービスシステム3からの変更内容を対象の設備に設定するプラント制御システム320の処理を、プラントネットワーク装置300の処理として示している。また、図7にも、サービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれの作業も併せて示している。
上述したように、遠隔サービスシステム3では、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれが登録しようとしているデータに含まれる利用者の署名を、ブロックチェーン20に登録されている対応する署名確認処理プログラムが確認してから登録する。なお、遠隔サービスシステム3においても、それぞれの利用者の署名は、予め定められた利用者の鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化されたデータに付加され、予め入手された利用者の鍵(公開鍵、秘密鍵、共通鍵など)を用いて復号化されて確認される。しかし、以下の説明においては、利用者の署名の符号化および復号化の処理内容の説明は省略し、単に署名を「付加(追加)する」、「確認する」というように説明する。
また、図6にて、ブロックチェーン20を構成するデータサーバ装置に示した署名確認処理プログラム20aが、事業者署名を確認する処理を行う署名確認処理プログラムであり、署名確認処理プログラム20bが、事業者署名および確認者署名を確認する処理を行う署名確認処理プログラムであり、署名確認処理プログラム20cが、実施者署名を確認する処理を行う署名確認処理プログラムであるものとして説明する。
まず、サービス事業者Sは、変更要求装置100を操作して、設定条件を変更する対象の設備の設備識別情報(例えば、機器ID)や、設備のパラメータ値などを含む変更情報を、変更要求装置100に入力する(ステップS400)。
そして、サービス事業者Sは、変更要求装置100を操作して、署名を付加する。その後、サービス事業者Sは、署名確認処理プログラム20aを指定し、変更要求装置100に、入力した変更情報と事業者署名とのブロックチェーン20への登録を指示する(ステップS401)。
これにより、変更要求装置100は、サービス事業者Sが入力した変更情報とサービス事業者Sが付加した署名とを紐付けた「変更情報+事業者署名」のデータ、および署名確認処理プログラム20aを指定する識別情報(アドレスなど、以下、プログラム識別情報という)を、ブロックチェーン20に送信する(ステップS402)。
続いて、ブロックチェーン20は、受信したプログラム識別情報によって指示されている署名確認処理プログラム20aを実行する。そして、ブロックチェーン20は、署名確認処理プログラム20aによって、受信した「変更情報+事業者署名」のデータに含まれる事業者署名を確認する。ブロックチェーン20では、署名確認処理プログラム20aが、それぞれのデータサーバ装置が確認した事業者署名が、例えば、過半数以上のデータサーバ装置で正しい事業者署名であると確認できた場合に、受信した「変更情報+事業者署名」のデータを登録する(ステップS403)。これにより、ブロックチェーン20には、受信した「変更情報+事業者署名」のデータが、例えば、1つ目のブロックのデータとして登録される。
続いて、変更内容確認者Cは、変更確認装置200を定期的に操作して、正しい事業者署名を含んだ「変更情報+事業者署名」のデータがブロックチェーン20に登録されているか否か、つまり、「変更情報+事業者署名」のデータが更新されているか否かを確認する。そして、変更要求装置100によって新たな「変更情報+事業者署名」のデータがブロックチェーン20に登録されている場合、変更内容確認者Cは、変更確認装置200を操作して、ブロックチェーン20に登録されている新たな「変更情報+事業者署名」のデータを、ブロックチェーン20から取得する(ステップS404)。
これにより、変更確認装置200は、取得した「変更情報+事業者署名」のデータに含まれる変更情報を、変更内容確認者Cに提示する。このとき、変更確認装置200は、取得した「変更情報+事業者署名」のデータに含まれる事業者署名を復号化せず、ハッシュ値を比較した結果を変更内容確認者Cに提示しない。これは、上述したように、ブロックチェーン20に登録されている「変更情報+事業者署名」のデータは、すでに正しいサービス事業者Sが登録したデータであることが確定されているからである。
そして、変更内容確認者Cは、提示された変更情報が、サービス事業者Sが設定条件を変更する対象とした設備に対して正しい(問題なく適用することができる)変更内容である場合、変更確認装置200を操作して、「変更情報+事業者署名」のデータに、確認者署名をさらに追加する。その後、変更内容確認者Cは、事業者署名および確認者署名を確認する処理を行う署名確認処理プログラム20bを指定し、ブロックチェーン20に、取得した変更情報および事業者署名と、確認者署名とのブロックチェーン20への登録を指示する(ステップS405)。
これにより、変更確認装置200は、ブロックチェーン20から取得した事業者署名が紐付けられた変更情報に、さらに確認者署名を紐付けた「変更情報+事業者署名+確認者署名」のデータ、および署名確認処理プログラム20bを指定するプログラム識別情報を、ブロックチェーン20に送信する(ステップS406)。
続いて、ブロックチェーン20は、受信したプログラム識別情報によって指示されている署名確認処理プログラム20bを起動する。そして、ブロックチェーン20は、署名確認処理プログラム20bによって、受信した「変更情報+事業者署名+確認者署名」のデータに含まれる事業者署名および確認者署名を確認する。ブロックチェーン20では、署名確認処理プログラム20bが、それぞれのデータサーバ装置が確認した事業者署名と確認者署名とが、例えば、過半数以上のデータサーバ装置で正しい事業者署名および確認者署名であると確認できた場合に、受信した「変更情報+事業者署名+確認者署名」のデータを登録する(ステップS407)。これにより、ブロックチェーン20には、受信した「変更情報+事業者署名+確認者署名」のデータが、例えば、2つ目のブロックのデータとして登録される。
続いて、変更実施者Iは、変更実施装置210を定期的に操作して、正しい事業者署名と確認者署名を含んだ「変更情報+事業者署名+確認者署名」のデータがブロックチェーン20に登録されているか否か、つまり、「変更情報+事業者署名+確認者署名」のデータが更新されているか否かを確認する。そして、変更確認装置200によって新たな「変更情報+事業者署名+確認者署名」のデータがブロックチェーン20に登録されている場合、変更実施者Iは、変更実施装置210を操作して、ブロックチェーン20に登録されている新たな「変更情報+事業者署名+確認者署名」のデータを、ブロックチェーン20から取得する(ステップS408)。
これにより、変更実施装置210は、取得した「変更情報+事業者署名+確認者署名」のデータに含まれる変更情報を、変更実施者Iに提示する。このとき、変更実施装置210は、取得した「変更情報+事業者署名+確認者署名」のデータに含まれる事業者署名および確認者署名を復号化せず、ハッシュ値を比較した結果を変更実施者Iに提示しない。これは、上述したように、ブロックチェーン20に登録されている「変更情報+事業者署名+確認者署名」のデータも、すでに正しい変更内容確認者Cが確認して登録したデータであることが確定されているからである。
そして、変更実施者Iは、変更実施装置210を操作して、「変更情報+事業者署名+確認者署名」のデータに、実施者署名をさらに追加する。その後、変更実施者Iは、変更実施装置210に、取得した変更情報、事業者署名、確認者署名、および実施者署名の送信を指示し、プラントネットワーク装置300に設備の設定条件の変更の実施を要求する(ステップS409)。
これにより、変更実施装置210は、ブロックチェーン20から取得した事業者署名および確認者署名が紐付けられた変更情報に、さらに実施者署名を紐付けた「変更情報+事業者署名+確認者署名+実施者署名」のデータを、専用通信回線を介してプラントネットワーク装置300に送信する(ステップS410)。
なお、遠隔サービスシステム3においても、変更実施装置210とプラントネットワーク装置300との間の通信回線は、専用通信回線に限定されるものではない。
そして、変更実施者Iは、変更実施装置210を操作して、「変更情報+事業者署名+確認者署名+実施者署名」のデータをプラントネットワーク装置300に送信したことを表す実施ログに署名を付加する。その後、変更実施者Iは、実施者署名を確認する処理を行う署名確認処理プログラム20cを指定し、変更実施装置210に、実施ログと実施者署名とのブロックチェーン20への登録を指示する(ステップS411)。
これにより、変更実施装置210は、実施ログに実施者署名を紐付けた「実施ログ+実施者署名」のデータ、および署名確認処理プログラム20cを指定するプログラム識別情報を、ブロックチェーン20に送信する(ステップS412)。
続いて、ブロックチェーン20は、変更実施装置210から送信されてきた「実施ログ+実施者署名」のデータおよびプログラム識別情報を受信すると、受信したプログラム識別情報によって指示されている署名確認処理プログラム20cを起動(実行)する。そして、ブロックチェーン20は、署名確認処理プログラム20cによって、受信した「実施ログ+実施者署名」のデータに含まれる実施者署名を確認する。ブロックチェーン20では、署名確認処理プログラム20cが、それぞれのデータサーバ装置が確認した実施者署名が、例えば、過半数以上のデータサーバ装置で正しい実施者署名であると確認できた場合に、受信した「実施ログ+実施者署名」のデータを登録する(ステップS413)。これにより、ブロックチェーン20には、受信した「実施ログ+実施者署名」のデータが、例えば、3つ目のブロックのデータとして登録される。
これにより、サービス事業者Sは、変更要求装置100を定期的に操作して、変更実施装置210によって「実施ログ+実施者署名」のデータがブロックチェーン20に登録されているか否かを確認し、「実施ログ+実施者署名」のデータが登録されていれば、要求した対象の設備における設定条件の変更を実施したことを確認することができる。同様に、変更内容確認者Cも、変更確認装置200を定期的に操作することによって、確認した設備の設定条件の変更を実施したことを確認することができる。このとき、変更要求装置100および変更確認装置200は、取得した「実施ログ+実施者署名」のデータに含まれる実施者署名を復号化せずに、取得した「実施ログ+実施者署名」のデータに含まれる実施ログを、サービス事業者Sや変更内容確認者Cに提示する。これは、上述したように、ブロックチェーン20に登録されている「実施ログ+実施者署名」のデータは、すでに正しい変更実施者Iが登録したデータであることが確定されているからである。
一方、プラントネットワーク装置300は、受信した「変更情報+事業者署名+確認者署名+実施者署名」のデータに含まれる事業者署名、確認者署名、および実施者署名を確認する(ステップS414)。
そして、プラントネットワーク装置300は、確認したサービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれの署名が正しく、署名が付加された順番が正しい、つまり、変更情報が伝送されてきた経路が正しい経路である場合、サービス事業者Sが設定条件の変更を要求した対象の設備に変更内容を適用する(ステップS415)。より具体的には、プラントネットワーク装置300は、変更実施装置210から送信されてきた「変更情報+事業者署名+確認者署名+実施者署名」のデータに含まれる変更情報に示されている設備識別情報をもつ設備を制御するプラント制御システム320に、変更情報に示されている設備のパラメータ値を、ファイヤーウォール310を介してプラントネットワークに伝送する。これにより、プラント制御システム320は、変更情報に示されている設備のパラメータ値を、変更情報に示されている設備のパラメータ値に変更し、サービス事業者Sが設定条件の変更を要求した対象の設備の設定条件が、サービス事業者Sが要求した設定条件となる。
その後、プラント制御システム320は、変更された設備のパラメータ値に応じた稼働状態を表す変更結果のデータを、ファイヤーウォール310を介してプラントネットワーク装置300に伝送する。これにより、プラントネットワーク装置300は、プラント制御システム320から伝送された変更結果のデータを、データダイオード330を介して変更実施装置210に送信する(ステップS416)。なお、プラントネットワーク装置300は、プラント制御システム320から伝送された変更結果のデータに、プラント制御システム320またはプラントネットワーク装置300を表すプラント署名を付加し、「変更結果+プラント署名」のデータを、プラント制御システム320から伝送された変更結果のデータとして、データダイオード330を介して変更実施装置210に送信してもよい。
続いて、変更実施装置210は、受信した変更結果のデータを、変更実施者Iに提示する。変更実施者Iは、変更実施装置210に提示された変更結果のデータを確認し、変更実施装置210を操作して、署名を追加する。その後、変更実施者Iは、署名確認処理プログラム20cを指定し、変更実施装置210に、受信した変更結果のデータと実施者署名とのブロックチェーン20への登録を指示する(ステップS417)。
これにより、変更実施装置210は、プラントネットワーク装置300から送信されてきた変更結果のデータに実施者署名を紐付けた「変更結果+実施者署名」のデータ、および署名確認処理プログラム20cを指定するプログラム識別情報を、ブロックチェーン20に送信する(ステップS418)。なお、変更実施装置210は、プラントネットワーク装置300が変更結果のデータを送信してきたときの日時の情報を付加した「変更結果+実施者署名」のデータおよびプログラム識別情報を、ブロックチェーン20に送信してもよい。
続いて、ブロックチェーン20は、受信したプログラム識別情報によって指示されている署名確認処理プログラム20cを起動する。そして、ブロックチェーン20は、署名確認処理プログラム20cによって、受信した「変更結果+実施者署名」のデータに含まれる実施者署名を確認する。ブロックチェーン20では、署名確認処理プログラム20cが、それぞれのデータサーバ装置が確認した実施者署名が、例えば、過半数以上のデータサーバ装置で正しい実施者署名であると確認できた場合に、受信した「変更結果+実施者署名」のデータを登録する(ステップS419)。これにより、ブロックチェーン20には、受信した「変更結果+実施者署名」のデータが、例えば、5つ目のブロックのデータとして登録される。
なお、プラントネットワーク装置300は、プラント制御システム320から伝送された変更結果のデータに、プラント制御システム320またはプラントネットワーク装置300を表すプラント署名を付加し、「変更結果+プラント署名」のデータを、プラント制御システム320から伝送された変更結果のデータとして、プラント署名を確認する処理を行う署名確認処理プログラム(不図示)を指定するプログラム識別情報と共に、データダイオード330を介してブロックチェーン20に直接送信してもよい。この場合、ブロックチェーン20は、プラントネットワーク装置300から「変更結果+プラント署名」のデータと共に送信されてきたプログラム識別情報によって指示されている署名確認処理プログラム(不図示)を起動して、「変更結果+プラント署名」のデータに含まれるプラント署名の署名を確認する。そして、ブロックチェーン20では、署名確認処理プログラム(不図示)が、それぞれのデータサーバ装置が確認したプラント署名が、例えば、過半数以上のデータサーバ装置で正しいプラント署名(プラント制御システム320またはプラントネットワーク装置300の署名)であると確認できた場合に、例えば、4つ目のブロックのデータとして、受信した「変更結果+プラント署名」のデータを登録する。
これにより、サービス事業者Sは、変更要求装置100を定期的に操作して、変更実施装置210によって「変更結果+実施者署名」のデータがブロックチェーン20に登録されているか否かを確認し、「変更結果+実施者署名」のデータが登録されていれば、設定条件の変更を要求した対象の設備における稼働状態の変更結果を確認することができる。また、変更内容確認者Cも、変更確認装置200を定期的に操作して、ブロックチェーン20に登録されているデータが更新されているか否かを確認することによって、変更実施装置210がブロックチェーン20に登録した「変更結果+実施者署名」のデータに基づいて、設備の設定条件や設備の稼働状態を管理することができる。このとき、変更要求装置100および変更確認装置200は、取得した「変更結果+実施者署名」のデータに含まれる実施者署名を復号化せずに、取得した「変更結果+実施者署名」のデータに含まれる変更結果を、サービス事業者Sや変更内容確認者Cに提示する。これは、上述したように、ブロックチェーン20に登録されている「変更結果+実施者署名」のデータは、すでに正しい変更実施者Iが登録したデータであることが確定されているからである。
このような構成、処理、および作業の流れ(処理シーケンス)によって、遠隔サービスシステム3では、それぞれの利用者が、それぞれの段階において、データ(変更情報や、実施ログ、変更結果)に署名を付加(追加)し、データをブロックチェーン20に登録する際に、自分の署名を確認するための署名確認処理プログラムを指定してブロックチェーン20に送信する。これにより、ブロックチェーン20において、指定された署名確認処理プログラムが自動的に実行され、予め定めたルールに基づいて正しい利用者の署名であると確認された場合にのみ、送信されてきたデータをブロックチェーン20に登録する。これにより、ブロックチェーン20に、正しい利用者のそれぞれの署名が連鎖的(時系列)に追加されたデータが登録される。そして、上述の各実施形態と同様に、複数の利用者が確認した変更内容を設備に対して適用することができ、同様の効果を得ることができる。
しかも、遠隔サービスシステム3では、利用者の署名を確認する処理を行う署名確認処理プログラムを予めブロックチェーン20に登録しておく。これにより、遠隔サービスシステム3では、高いセキュリティレベルで、ブロックチェーン20に登録した署名確認処理プログラムの改ざんを防止することができる。
また、遠隔サービスシステム3では、ブロックチェーン20に登録されている署名確認処理プログラムによって、それぞれのデータに含まれる利用者の署名の確認を、ブロックチェーン20内で行う。そして、正しい利用者の署名が付加されていることが確定しているデータのみがブロックチェーン20に登録される。これにより、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれや、サービス事業者S、変更内容確認者C、および変更実施者Iのそれぞれが、前の段階の利用者の署名を確認する必要がなくなる。これにより、上述の各実施形態よりも容易に、設備の設定条件の変更を行うことができる。
上記に述べたとおり、各実施形態によれば、遠隔サービスシステムは、それぞれの利用者が、それぞれの段階において、変更情報に署名を連鎖的(時系列)に付加(追加)していく。そして、複数の利用者が順次確認した変更内容を設備に対して適用する。これにより、設備に設定しているパラメータ値を変更するときに従来必要であったプラントの関係部署への確認をなくすことができ、効率的に設備の設定条件の変更を行うことができる。また、複数の利用者が変更情報を確認するため、高いセキュリティレベルで、第三者による利用者へのなりすましや、変更情報の確認の途中での変更情報の改ざんを防止することができる。これらにより、上述の各実施形態における遠隔サービスシステムを適用したプラントでは、遠隔地からプラントの設備の設定条件を変更する場合においても、設定データのセキュリティレベルを保った状態で、設備の設定条件を変更するための設定の変更を正しく行うことができる。また、設定データのセキュリティレベルを保った状態で、従来必要であったプラントにおける承認手続きや現場での調整作業などの中間的な処理を省いて、設備の設定条件を変更する作業に要する時間やコストを削減することができる。
また、第2の実施形態および第3の実施形態では、遠隔サービスシステムにおいてブロックチェーンを介して、それぞれの利用者がやり取りする。ここでそれぞれの利用者がやり取りするデータは、ブロックチェーンにおける合意形成(例えば、過半数以上のデータサーバ装置が署名を確認した結果が一致するなど)よって管理されている。このため、ブロックチェーンに登録されたデータは高いセキュリティレベルのデータとなる。
また、第3の実施形態では、遠隔サービスシステムにおいてそれぞれの利用者の署名を確認する処理を行う署名確認処理プログラムを、ブロックチェーン内で自動的に実行させることができる。ここで署名確認処理プログラムは、ブロックチェーンによって管理されている。このため、ブロックチェーンに登録された署名確認処理プログラムは、高いセキュリティレベルで保証されたプログラムである。つまり、ブロックチェーンに登録された署名確認処理プログラムは、耐改ざん性が高いプログラムである。そして、それぞれのデータや署名確認処理プログラムがブロックチェーン20によって管理されている、つまり、設備に対する設定条件の変更要求やその承認、その署名を確認するプログラムがブロックチェーン20によって管理されていることから、改ざんされていないことが保証され、遠隔地から設備の設定変更を行うことができるようになる。
なお、第1の実施形態~第3の実施形態では、遠隔サービスシステムにおいて、設備の設定条件の変更内容を2段階で確認した後に、設備の設定条件の変更を適用する構成について説明した。より具体的には、例えば、遠隔サービスシステム1の構成では、サービス事業者Sが要求した設備の設定条件の変更を、1段階目で変更内容確認者Cが確認し、2段階目で変更実施者Iが確認した後に、変更実施者Iが設備の設定条件の変更を適用する構成について説明した。しかし、上述の各遠隔サービスシステムにおいて設備の設定条件の変更内容を確認する段階は、それぞれの実施形態において示した2段階に限定されるものではない。例えば、遠隔サービスシステム1において、変更内容確認者Cと同様に変更情報の確認を行う担当者の数を増やし、それぞれの担当者が、対応するコンピュータ端末を使用して変更内容を確認して署名を連鎖的(時系列)に付加(追加)していくようにすることによって、設備の設定条件の変更内容を確認する段階をさらに増やしてもよい。この場合、サービス事業者Sが入力した設備の設定条件の変更内容(変更情報)の改ざんに対する耐久性をより向上させることができる。一方、例えば、変更内容確認者Cが変更実施者Iを兼任するなど、遠隔サービスシステム1において設備の設定条件の変更内容を確認する段階を減らしてもよい。この場合、サービス事業者Sが要求した設備の設定条件の変更内容(変更情報)を、より迅速に対象の設備に適用することができる。
なお、第2の実施形態および第3の実施形態では、遠隔サービスシステムにおいて、設備の設定条件が変更された後に、変更実施装置210またはプラントネットワーク装置300が、変更された設備の設定条件に応じた設備の稼働状態を表す変更結果をブロックチェーン20に登録する構成について説明した。しかし、上述したように、変更結果には、KPIなど、稼働している設備の効率を算出するためのデータが含まれていてもよい。そして、プラントにおいては、稼働している設備の効率の変化を監視するために、KPIなどの算出を予め定められた期間ごとに行うことが考えられる。このため、変更実施装置210またはプラントネットワーク装置300が、設備の設定条件が変更されたか否かに関わらず、予め定められた期間ごとに伝送されてくる変更結果と同様のデータに基づいてKPIを算出する構成にすることが考えられる。この場合、予め定められた期間ごとに算出されたKPIに基づいて、設定条件を変更する前後の設備の効率の変化や、現在までの設備の効率の変移を確認することができる。言い換えれば、設備の設定条件を変更したことによって得られる、設備の効率向上の効果を確認することができる。
ところで、設備の効率向上の効果は、設備の設定条件を変更したことに対する対価を得る(例えば、設備の設定条件の変更を要求した要求元に課金する)ためのデータとして利用することが考えられる。このため、上述の各実施形態における遠隔サービスシステムを、設備の設定条件を変更したことに対する対価を得るための構成として用いることが考えられる。この場合、設備の設定条件を変更する際の経路とは反対の経路で署名を付加(追加)していくことによって、課金する金額を順次確認する構成を実現することができる。より具体的には、例えば、プラントネットワーク装置300や変更実施装置210などのプラント側の構成要素が算出した、設備の設定条件の変更前後のKPIに基づいて、変更実施者Iなどのプラント側の担当者が、設備の効率向上の効果を確認して、課金する金額を決定し、例えば、変更内容確認者Cなどのプラント側において課金する金額を確認する担当者に、決定した金額の確認を要求する。そして、その担当者は、確認した金額が正しい(問題なく請求することができる)金額である場合に、例えば、サービス事業者Sなどの設備の設定条件の変更を要求した側(要求元)に決定した金額を提示して、実際に対価を得るような構成を実現することができる。このような構成の場合であっても、設備の設定条件を変更する構成と同様に考えることができ、課金する金額を決定するための元データであるKPIのデータに対するセキュリティレベルを保つことによって決定した金額の正当性(妥当性)を保った状態で、実際に対価を得るまでに要する手続きの処理を効率的に行うことができる。
また、上述した課金の基となるKPIのデータの非改ざん性だけでなく、「KPIに応じた課金のルール」もブロックチェーン20に格納(例えば、スマートコントラクトコードのプログラムとして格納)しておくことによって、自動的に課金の処理をすることができる。なお、課金のルールは、サービス事業者Sと変更内容確認者Cとが合意したルールであるため、課金の処理を行う都度、課金ルールの確認は不要であり、かつ課金ルールが改ざんされていないことが証明されるため、サービス事業者Sと変更内容確認者Cとの双方が効率的にサービスの提供や利用をすることができる。なお、課金ルールが更新される場合には、サービス事業者Sと変更内容確認者Cとが再度合意をした課金ルールを、ブロックチェーン20に登録することになる。
なお、第1の実施形態~第3の実施形態の遠隔サービスシステムを、設備の設定条件を変更したことに対する対価を得るために応用した場合の構成、処理、および作業の流れ(処理シーケンス)は、上述した、設備の設定条件の変更を順次確認して行う、第1の実施形態~第3の実施形態の遠隔サービスシステムの構成、処理、および作業の流れ(処理シーケンス)に基づいて容易に考えることができる。従って、上述の各実施形態における遠隔サービスシステムを、設備の設定条件を変更したことに対する対価を得るために応用した場合の具体的な一例に関する詳細な説明は省略する。
なお、上述の各実施形態では、制御機器が設備に設定するパラメータ値を変更する場合について説明した。しかし、例えば、第2の実施形態および第3の実施形態の遠隔サービスシステムは、設備に設定するパラメータ値を変更するシステムへの適用のみに限定されるものではない。より具体的には、プラントにおいてそれぞれの設備を制御するプラント制御システムが実行する付加機能などのサービスの利用許可や利用停止などの制御をするために遠隔サービスシステムを利用することも考えられる。この場合、それぞれの実施形態において説明した順番とは逆に、各実施形態の遠隔サービスシステムを提供するサービス事業者側が、プラント制御システムにおける付加機能などのサービスの利用を制御する。
例えば、遠隔サービスシステム2では、プラント側からサービスの提供が要求された場合、サービス事業者がプラント側からの要求を許可する(承認する)ことによって、プラント制御システムにおける付加機能などのサービスの利用が開始される。また、例えば、何らかの理由によって提供しているサービスの停止をすることが必要になった場合、サービス事業者は、プラント側の承認を得ることなく、単独でサービスの停止を指示し、プラント制御システムにおける付加機能などのサービスを停止させることもある。ここで、サービス事業者が提供しているサービスを停止することが必要になる何らかの理由としては、例えば、提供しているサービスの利用期間の終了や、提供しているサービスの対価としてプラント側からサービス事業者側に支払われるサービス利用料の不払いや支払いの遅延などが考えられる。
なお、サービス事業者側は、プラント側からのサービス利用料の支払い状況の情報を、遠隔サービスシステム2とは別の不図示の課金システムなどから得ることが考えられる。そして、遠隔サービスシステム2では、不図示の課金システムなどから得たサービス利用料の支払い状況の情報(データ)をブロックチェーンに登録することによって、サービス事業者が、サービス利用料の支払い状況の履歴を含めて、提供するサービスの利用許可や利用停止を管理することができる。このため、遠隔サービスシステム2では、不図示の課金システムなどから得たサービス利用料の支払い状況の情報(データ)をブロックチェーンに登録する。なお、サービス利用料の支払い状況の情報(データ)のブロックチェーンへの登録を、サービス事業者が行ってもよいし、不図示の課金システムなどが行ってもよい。
(第4の実施形態)
ここで、第4の実施形態について説明する。第4の実施形態の遠隔サービスシステムは、サービス事業者が、提供するサービスの利用許可や利用停止などの制御を遠隔地から行うシステムである。なお、第4の実施形態の遠隔サービスシステムは、遠隔サービスシステム2においてサービスの利用許可や利用停止などを制御する構成の一例である。
なお、第4の実施形態の遠隔サービスシステムでは、サービス利用料の支払い状況の情報(データ)が、予め定められた時間間隔ごとにブロックチェーンに登録され、発電プラントからのサービス利用料の支払い状況の履歴が管理されている。これにより、サービス事業者が、ブロックチェーンに登録された改ざんをすることが困難なサービス利用料の支払い状況の情報(データ)の履歴に基づいて、提供するサービスの利用許可や利用停止などを制御することができる。
なお、第4の実施形態の遠隔サービスシステムの構成要素は、図3に示した構成要素と同様である。
なお、第4の実施形態の遠隔サービスシステムでは、発電プラントにおいて設備を実際に稼働させる担当者(変更実施者I)による確認を行わない。これは、プラント制御システムが実行する付加機能のサービスの利用要求は、発電プラントにおいて設備を実際に稼働させる担当者と同じ発電プラント側に属する担当者から出される要求であるため、確認をする必要がないからである。また、プラント制御システムが実行する付加機能のサービスの利用停止は、発電プラントにおいて設備を実際に稼働させる担当者によって阻止されてしまわないようにするためである。
図8は、第4の実施形態における遠隔サービスシステムの概略構成を示したブロック図である。遠隔サービスシステム4は、変更要求装置100と、変更確認装置200と、変更実施装置210とのそれぞれを含んで構成される。変更要求装置100と、変更確認装置200と、変更実施装置210とのそれぞれが、ブロックチェーン20に接続されている。なお、図8では、図3から、発電プラントにおいて設備の実際の稼働に関わる変更実施者I、およびプラントネットワーク装置300を省略している。また、図8では、データダイオード330も省略している。
なお、以下の説明においては、プラント制御システム320が実行する、例えば、変更された設備のKPIを算出するための変更結果のデータを取得して伝送する機能を、遠隔サービスシステム4においてサービス事業者側から発電プラント側に提供するプラント制御システム320の付加機能のサービスとして説明する。また、遠隔サービスシステム4において提供するサービス(プラント制御システム320の付加機能)の利用を要求する発電プラント側の担当者、つまり、サービスの要求者を変更内容確認者Cとし、サービスの利用を許可する(承認する)サービス事業者側の担当者、つまり、サービスの承認者をサービス事業者Sとして説明する。
遠隔サービスシステム4でも、変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれが、ブロックチェーン20を介してそれぞれの情報(データ)をやり取りする。なお、遠隔サービスシステム4において変更要求装置100、変更確認装置200、および変更実施装置210のそれぞれの動作は、遠隔サービスシステム2における動作と同様である。
また、遠隔サービスシステム4では、提供するプラント制御システム320の付加機能のサービスに対する発電プラント側のサービス利用料の支払い状況の情報(データ)が、予め定められた時間間隔ごと(例えば、1ヶ月ごと)にブロックチェーン20に時系列に登録され、改ざんをすることが困難な履歴として管理されている。なお、本開示においては、ブロックチェーン20に支払いデータを登録する方法に関しては、特に規定しない。
また、遠隔サービスシステム4では、サービス事業者Sが、ブロックチェーン20に登録されているサービス利用料の支払い状況のデータ(以下、支払いデータという)を確認することによって、提供するサービスの利用許可や利用停止を決定する。そして、遠隔サービスシステム4では、サービス事業者Sが、提供するサービスの利用許可や利用停止を決定した結果を表す利用可否情報のデータをブロックチェーン20に登録する。ここで、利用可否情報は、サービス事業者Sが決定したサービスの利用許可や利用停止に応じた、サービスの実行または停止の指示が制御内容として含まれ、この制御内容(指示内容)を表した制御情報(指示情報)である。そして、遠隔サービスシステム4では、サービス事業者Sが決定してブロックチェーン20に登録したサービス利用の利用可否情報のデータがプラント制御システム320に伝送されて、プラント制御システム320における付加機能の実行、つまり、提供しているサービスの利用許可や利用停止が制御される。
より具体的には、遠隔サービスシステム4では、変更内容確認者C(要求者)が、サービスの利用を要求する情報(以下、要求情報という)のデータをブロックチェーン20に登録することによって、サービス事業者S(承認者)に、プラント制御システム320が実行する付加機能のサービスの提供を依頼する。これにより、遠隔サービスシステム4では、サービス事業者S(承認者)が、ブロックチェーン20に登録されている支払いデータを確認して、変更内容確認者C(要求者)からのサービス利用の要求を許可する(承認する)か否かを決定する。そして、遠隔サービスシステム4では、サービス事業者Sが、変更内容確認者C(要求者)からのサービスの利用要求を許可する(承認する)場合に、プラント制御システム320における付加機能の実行を指示する利用可否情報のデータをブロックチェーン20に登録することによって、プラント制御システム320における付加機能が実行される。これにより、遠隔サービスシステム4では、プラント制御システム320が実行する付加機能のサービスが、発電プラント側に提供される。
一方、遠隔サービスシステム4では、サービス事業者Sが、変更内容確認者C(要求者)からのサービスの利用要求を許可しない(否認する)場合、または、例えば、サービスの利用期間の終了や、サービス利用料の不払いや支払いの遅延などが確認された場合に、プラント制御システム320における付加機能の停止を指示する利用可否情報のデータをブロックチェーン20に登録することによって、プラント制御システム320における付加機能の実行が停止される。これにより、遠隔サービスシステム4では、プラント制御システム320が実行する付加機能のサービスの提供が、発電プラント側の承認を得ることなく停止される。
なお、遠隔サービスシステム4では、上述したように、変更実施装置210が、サービス事業者Sがブロックチェーン20に登録した変更内容確認者Cからのサービス利用の要求を承認したか否かを表す利用可否情報のデータの確認を行わない。従って、遠隔サービスシステム4では、変更実施装置210が、変更要求装置100がブロックチェーン20に登録した利用可否情報のデータを、ファイヤーウォール310を介してプラント制御システム320に直接伝送する。このとき、変更実施装置210は、プラント制御システム320との間で決められた専用の通信規格の回線(以下、直接通信回線という)を介して、プラント制御システム320に利用可否情報のデータを伝送する。なお、直接通信回線は、各実施形態の遠隔サービスシステムにおいて示した専用通信回線と同じ通信規格の回線であっても、異なる通信規格の回線であってもよい。また、直接通信回線は、データダイオード330を含む通信回線であってもよい。
なお、直接通信回線がデータダイオード330を含む通信回線である場合において、データダイオード330にファイヤーウォールの機能を備えている場合には、ファイヤーウォール310を直接通信回線に含まなくてもよい。
また、遠隔サービスシステム4では、プラント制御システム320が、ブロックチェーン20に登録されて伝送された利用可否情報による指示を適用したことによる付加機能の実行状態や実行した付加機能による結果(以下、適用結果という)のデータを、ファイヤーウォール310を介して変更実施装置210に伝送する。そして、遠隔サービスシステム4では、変更実施装置210が、プラント制御システム320から伝送された適用結果のデータを、ブロックチェーン20に登録する。
これにより、遠隔サービスシステム4では、サービス事業者S(承認者)が、プラント制御システム320による付加機能の実行状態、つまり、提供しているサービスの実行または停止を制御した結果を確認することができる。このとき、変更要求装置100は、変更実施装置210がブロックチェーン20に登録した適用結果のデータをブロックチェーン20から取得し、取得した適用結果のデータに含まれるプラント制御システム320の付加機能の実行状態をサービス事業者S(承認者)に提示する。また、遠隔サービスシステム4を適用した発電プラントでは、変更内容確認者C(要求者)が、プラント制御システム320によって実行された付加機能による結果のデータを確認することができる。このとき、変更確認装置200は、変更実施装置210がブロックチェーン20に登録した適用結果のデータをブロックチェーン20から取得し、取得した適用結果のデータに含まれるプラント制御システム320の付加機能の実行結果を変更内容確認者C(要求者)に提示する。
なお、プラント制御システム320がブロックチェーン20との間でデータのやり取りをすることができる構成である場合には、ブロックチェーン20が、変更要求装置100によって登録された利用可否情報のデータを、変更実施装置210を経由せずに、通信回線を介してプラント制御システム320に直接伝送する構成にすることもできる。これにより、遠隔サービスシステム4を適用した発電プラントでは、プラント制御システム320が、ブロックチェーン20に登録された利用可否情報のデータに応じた付加機能を実行する。また、プラント制御システム320がブロックチェーン20との間でデータのやり取りをすることができる構成ある場合には、プラント制御システム320が、適用結果のデータを、変更実施装置210を経由せずに、通信回線を介してブロックチェーン20に直接伝送して登録する構成にすることもできる。
次に、遠隔サービスシステム4を利用した設備においてサービスの利用を制御する処理および作業について説明する。図9は、第4の実施形態の遠隔サービスシステム4における処理および作業の流れを示したシーケンス図である。図9は、変更内容確認者C(要求者)から出されたサービスの利用要求に対して、サービス事業者S(承認者)がサービスの利用を許可する(承認する)か否かを決定する場合の処理シーケンスである。図9には、遠隔サービスシステム4を構成する、ブロックチェーン20と、ブロックチェーン20に接続された変更要求装置100、変更確認装置200、および変更実施装置210と、プラント制御システム320とのそれぞれにおける処理の流れの一例を示している。なお、図9においては、図4と同様に、サービス事業者S(承認者)および変更内容確認者C(要求者)のそれぞれの作業(変更要求装置100および変更確認装置200に対する操作)も併せて示している。
上述したように、遠隔サービスシステム4では、発電プラントにおいて設備を実際に稼働させる担当者が変更実施装置210を操作することによって利用可否情報のデータを確認しない。このため、遠隔サービスシステム4では、変更実施装置210が、プラント制御システム320との間のデータのやり取りを自動で行う。ただし、ブロックチェーン20と変更実施装置210との間のデータのやり取りに高いセキュリティレベルを確保するため、変更実施装置210は、署名を確認する処理や署名を付加する処理などを自動で行ってもよい。より具体的には、変更実施装置210が、ブロックチェーン20から取得した利用可否情報のデータに付加された署名を確認する処理と、ブロックチェーン20に登録するプラント制御システム320から伝送された適用結果に署名を付加する処理とのそれぞれの処理を自動で行ってもよい。しかし、以下の説明においては、説明を容易にするため、変更実施装置210による署名の確認および付加のそれぞれの処理に関する詳細な説明は省略して説明する。
まず、変更内容確認者Cは、変更確認装置200を操作して、プラント制御システム320が実行する付加機能のサービスを利用するための要求を、変更確認装置200に入力し、署名を付加する。その後、変更内容確認者Cは、変更確認装置200を操作して、サービスの利用の要求(要求情報)と変更内容確認者C(要求者)の署名(以下、要求者署名という)とのブロックチェーン20への登録を指示する(ステップS501)。
これにより、変更確認装置200は、変更内容確認者Cが入力したサービス利用の要求情報と変更内容確認者Cが付加した署名とを紐付けた「要求情報+要求者署名」のデータを、ブロックチェーン20に登録する(ステップS502)。このとき、変更確認装置200は、要求者署名を、予め定められた変更内容確認者Cの鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「要求情報+要求者署名」のデータをブロックチェーン20に登録する。なお、変更確認装置200がブロックチェーン20に登録した「要求情報+要求者署名」のデータは、変更内容確認者Cによるサービスの利用要求の履歴として管理される。
続いて、サービス事業者Sは、変更要求装置100を定期的に操作して、変更確認装置200によって「要求情報+要求者署名」のデータがブロックチェーン20に登録されているか否か、つまり、変更内容確認者Cからサービス利用の要求がされているか否かを確認する。そして、変更確認装置200によって「要求情報+要求者署名」のデータがブロックチェーン20に登録されている場合、サービス事業者Sは、変更要求装置100を操作して、ブロックチェーン20に登録されている「要求情報+要求者署名」のデータを、ブロックチェーン20から取得する(ステップS503)。
なお、ブロックチェーン20は、変更確認装置200によって「要求情報+要求者署名」のデータが登録されたことを変更要求装置100に通知する構成であってもよい。この場合、サービス事業者Sは、ブロックチェーン20から通知があった場合に、変更要求装置100を操作して、変更内容確認者Cがブロックチェーン20に登録した「要求情報+要求者署名」のデータを取得するようにしてもよい。
これにより、変更要求装置100は、取得した「要求情報+要求者署名」のデータに含まれるサービス利用の要求情報と要求者署名とを、サービス事業者Sに提示する。このとき、変更要求装置100は、取得した「要求情報+要求者署名」のデータに含まれる要求者署名を、予め入手された変更内容確認者Cの鍵(公開鍵、秘密鍵、共通鍵など)を用いて復号化して要求者署名を確認し、その確認結果を含めて、要求情報と要求者署名とを、サービス事業者Sに提示する。サービス事業者Sは、変更要求装置100に提示された要求情報と要求者署名とを確認する(ステップS504)。
そして、サービス事業者Sは、提示された要求者署名が正しく、提示された要求情報によって要求されたサービスが提供可能である場合、変更要求装置100を操作して、ブロックチェーン20に登録されている、変更内容確認者Cからのサービス利用料の支払い状況の情報(データ)の履歴を、ブロックチェーン20から取得する(ステップS505)。つまり、変更要求装置100に提示された要求者署名が、サービスを利用することができる遠隔サービスシステム4の正式な利用者の署名であり、要求情報に示されているサービスが提供することができるプラント制御システム320の付加機能のサービスである場合、サービス事業者Sは、変更内容確認者Cが属している発電プラント側からのサービス利用料の支払い状況の履歴を、ブロックチェーン20から取得する。
これにより、変更要求装置100は、取得したサービス利用料の支払い状況の履歴を、サービス事業者Sに提示する。サービス事業者Sは、変更要求装置100に提示されたサービス利用料の支払い状況の履歴を確認する。そして、サービス事業者Sは、確認したサービス利用料の支払い状況の履歴に基づいて、変更内容確認者Cからのサービス利用の要求を許可するか否か、つまり、要求されたサービスの利用可否を決定する(ステップS506)。
そして、サービス事業者Sは、変更要求装置100を操作して、プラント制御システム320が実行する付加機能のサービスの利用可否を表す結果を、変更要求装置100に入力し、署名を付加する。その後、サービス事業者Sは、変更要求装置100を操作して、サービスの利用可否の結果を表す利用可否情報とサービス事業者S(承認者)の署名(以下、承認者署名という)とのブロックチェーン20への登録を指示する(ステップS507)。
これにより、変更要求装置100は、サービス事業者Sが入力したサービスの利用可否情報と承認者署名とを紐付けた「利用可否情報+承認者署名」のデータを、ブロックチェーン20に登録する(ステップS508)。このとき、変更要求装置100は、承認者署名を、予め定められたサービス事業者Sの鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「利用可否情報+承認者署名」のデータをブロックチェーン20に登録する。なお、変更要求装置100がブロックチェーン20に登録した「利用可否情報+承認者署名」のデータは、変更内容確認者Cからのサービスの利用要求に対してサービス事業者Sが決定した利用可否の履歴として管理される。
なお、ブロックチェーン20は、変更要求装置100によって「利用可否情報+承認者署名」のデータが登録されたことを変更確認装置200に通知する構成であってもよい。この場合、変更内容確認者Cは、ブロックチェーン20から通知があった場合に、変更確認装置200を操作して、サービス事業者Sがブロックチェーン20に登録した「利用可否情報+承認者署名」のデータ、つまり、要求したサービスの利用可否の結果を確認することができる。そして、変更内容確認者Cは、サービス事業者Sによるサービスの利用可否の結果が、例えば、利用不可である(否認された)場合に、その理由(例えば、サービスの利用期間の終了や、サービス利用料の不払いや支払いの遅延など)の問い合わせをサービス事業者S(サービス事業者側)に対して行うことができる。
続いて、変更実施装置210は、変更要求装置100によって「利用可否情報+承認者署名」のデータがブロックチェーン20に登録されているか否か、つまり、サービス事業者Sからサービスの実行(継続も含む)または停止の指示がなされているか否かを定期的に確認する。そして、変更要求装置100によって「利用可否情報+承認者署名」のデータがブロックチェーン20に登録されている場合、変更実施装置210は、ブロックチェーン20に登録されている「利用可否情報+承認者署名」のデータを、ブロックチェーン20から取得する(ステップS509)。
なお、ブロックチェーン20が「利用可否情報+承認者署名」のデータが登録されたことを変更実施装置210に通知する構成である場合、変更実施装置210は、ブロックチェーン20からの通知に応じて、ブロックチェーン20に登録されている「利用可否情報+承認者署名」のデータを取得するようにしてもよい。
そして、変更実施装置210は、取得した「利用可否情報+承認者署名」のデータに含まれる利用可否情報を、直接通信回線を介してプラント制御システム320に伝送する(ステップS510)。
なお、変更実施装置210は、取得した「利用可否情報+承認者署名」のデータに含まれる承認者署名を自動で確認し、確認した承認者署名が正しい場合に、取得した利用可否情報をプラント制御システム320に伝送してもよい。このとき、変更実施装置210は、取得した「利用可否情報+承認者署名」のデータに含まれる承認者署名を、予め入手されたサービス事業者Sの鍵(公開鍵、秘密鍵、共通鍵など)を用いて自動で復号化して承認者署名を確認する。
これにより、プラント制御システム320は、変更実施装置210から直接通信回線を介して伝送されてきた利用可否情報のデータを受け取ると、受け取った利用可否情報のデータに含まれるサービスの実行または停止の指示を、付加機能の実行に適用する(ステップS511)。より具体的には、プラント制御システム320は、利用可否情報のデータに含まれる指示が、付加機能の実行を表している場合には、付加機能を実行(継続も含む)し、付加機能の実行停止を表している場合には、付加機能の実行を停止する。このようにして、遠隔サービスシステム4では、プラント制御システム320の付加機能によって提供するサービスの実行が、サービス事業者Sによって制御される。
そして、プラント制御システム320は、利用可否情報のデータに含まれる指示を適用したことによる付加機能の実行状態を表す適用結果のデータを、直接通信回線を介して変更実施装置210に伝送する(ステップS512)。なお、プラント制御システム320は、利用可否情報のデータに含まれる指示が、付加機能の実行を表している場合には、実行した付加機能による結果のデータを、適用結果のデータに含めて変更実施装置210に伝送してもよい。また、プラント制御システム320は、変更実施装置210に伝送する適用結果のデータに、プラント制御システム320署名(プラント署名)を自動で付加して、変更実施装置210に伝送してもよい。
続いて、変更実施装置210は、プラント制御システム320から伝送されてきた適用結果のデータを受け取ると、受け取った適用結果のデータをブロックチェーン20に登録する(ステップS513)。このとき、変更実施装置210は、ブロックチェーン20に登録する適用結果のデータに、変更実施装置210を表す署名を自動で追加し、予め定められた変更実施装置210の鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「適用結果+署名」のデータをブロックチェーン20に登録してもよい。
これにより、サービス事業者Sは、変更要求装置100を定期的に操作して、変更実施装置210によって適用結果のデータがブロックチェーン20に登録されているか否かを確認し、登録されている適用結果のデータから、プラント制御システム320における付加機能の実行状態を確認することができる。また、変更内容確認者Cも、変更確認装置200を定期的に操作して、変更実施装置210によって適用結果のデータがブロックチェーン20に登録されているか否かを確認することによって、要求した付加機能のサービスの実行結果のデータを確認することができる。
なお、ブロックチェーン20は、変更実施装置210によって適用結果のデータが登録されたことを変更要求装置100や変更確認装置200に通知する構成であってもよい。
このような構成、処理、および作業の流れ(処理シーケンス)によって、遠隔サービスシステム4では、サービス事業者S(承認者)が、サービスの実行または停止を指示するための利用可否情報をブロックチェーン20に登録することによって、プラント制御システム320の付加機能の実行を制御する。これにより、遠隔サービスシステム4では、承認者がブロックチェーン20に登録した利用可否情報のデータがプラント制御システム320に直接伝送され、プラント制御システム320は、伝送された利用可否情報のデータに含まれる指示を適用し、付加機能を実行または停止する。つまり、遠隔サービスシステム4では、承認者が、要求者からのサービス利用料の支払い状況の履歴に基づいて、提供しているサービスの利用許可や利用停止を単独で制御することができる。
しかも、遠隔サービスシステム4では、データの改ざんを困難にするデータ管理方法が採用され、登録された支払いデータの履歴を時系列で管理している状態であるため、承認者が提供しているサービスの利用許可や利用停止を制御した明確な理由を要求者に提示することができる。例えば、遠隔サービスシステム4では、提供しているサービスの利用停止を指示した場合でも、高いセキュリティレベルで管理された支払いデータの履歴に基づいて決定した適用結果によるものであることを要求者に提示することができる。つまり、遠隔サービスシステム4では、承認者と要求者との双方に疑義が生じない決定結果であることを証明することができる。
なお、図9に示した処理シーケンスでは、要求者から出されたサービスの利用要求に対して、承認者がサービスの利用許可や利用停止を決定する場合を説明した。しかし、遠隔サービスシステム4では、例えば、提供しているサービスの利用期間の終了や、サービス利用料の不払いや支払いの遅延などが確認された場合には、要求者からサービスの利用要求が出されているか否かに関わらず、サービスの利用を停止させる必要がある。これは、提供しているサービスの利用期間の終了や、サービス利用料の不払いや支払いの遅延などが確認された場合には、速やかにプラント制御システム320による付加機能の実行を停止するためである。従って、この場合の処理シーケンスでは、図9における変更確認装置200の処理や変更内容確認者Cによる変更確認装置200の操作が関係しなくなる。より具体的には、遠隔サービスシステム4において、図9に示したシーケンス図におけるステップS504以降の処理を行うことになる。この場合の処理シーケンスの詳細な説明は省略する。
なお、遠隔サービスシステム4では、プラント制御システム320の付加機能によって提供するサービスの利用許可や利用停止を制御する場合について説明した。しかし、遠隔サービスシステム4における制御は、提供するサービスの利用許可や利用停止に限定されるものではない。例えば、プラント制御システム320が実行する付加機能におけるパラメータ値の変更、設定変更などや初期化なども、同様の考え方に基づいて、サービス事業者側が単独で制御することができる。この場合におけるパラメータ値の変更、設定変更などや初期化の可否は、例えば、正しく採用することができるパラメータ値であるか否かによって判定することになる。また、プラント制御システム320が実行する付加機能の高性能化(プログラムのアップグレード)や標準性能化(プログラムのデグレード)などのプログラムの更新も、同様の考え方に基づいて、サービス事業者側が単独で制御することができる。この場合におけるプログラムの更新の可否は、例えば、プログラムの上書きができるか否かによって判定することになる。
また、遠隔サービスシステム4では、データの改ざんを困難にするデータ管理方法としてブロックチェーン20が採用された構成について説明した。このため、サービス事業者側とプラント側とで予め定められた規定に従った処理を実行するプログラム(スマートコントラクトコード)をブロックチェーンに登録しておくことによって、サービス事業者S(承認者)による処理や作業を自動で行う構成にすることもできる。つまり、遠隔サービスシステム4におけるサービスの提供に関する決定や対応を、スマートコントラクトコードのプログラムによって自動で行う構成にすることもできる。このスマートコントラクトコードのプログラムは、サービス事業者側やプラント側が単独で変更する(第三者による利用者へのなりすましや改ざんも含む)ことができないプログラムであるため、このプログラムによる決定や対応は、サービス事業者側およびプラント側の双方により疑義が生じない結果となる。
例えば、スマートコントラクトコードのプログラムとして、サービスの利用期間が終了したり、プラント側からサービス事業者側へのサービス利用料の不払いや支払いの遅延などが発生したりした場合には、提供しているサービスの利用停止をすることを規定したプログラムをブロックチェーンに登録しておくことが考えられる。この場合、スマートコントラクトコードのプログラムによる決定や対応の結果が、例えサービス利用料の不払いが発生したことによるサービスの停止という結果であっても、サービス事業者側とプラント側とで予め定められた規定に従った正しい決定や対応の結果であるということができる。そして、上述したように、プラント側(変更内容確認者C)からのサービスの利用要求や、プラント側からのサービスの利用要求に対してサービス事業者側(サービス事業者S)が決定したサービスの利用可否の結果がブロックチェーンに登録され、履歴として管理されている。これにより、スマートコントラクトコードのプログラムによってサービス事業者側が提供しているサービスの利用停止をした明確な理由を、サービス事業者側とプラント側とで互いに確認することができる。
なお、スマートコントラクトコードのプログラムを採用した場合の構成および処理に関する詳細な説明は省略する。
なお、遠隔サービスシステム4では、プラント制御システム320が実行する付加機能のサービスが1つである場合について説明した。しかし、発電プラントにおいてプラント制御システム320は、発電プラント内に配置された複数の設備を制御することもある。このため、遠隔サービスシステム4では、プラント制御システム320が実行する付加機能もそれぞれの設備に対応した付加機能や、それぞれの設備ごとに異なる付加機能がある場合も考えられる。この場合、遠隔サービスシステム4においては、それぞれの設備に対応する付加機能ごとに、提供するサービスの利用許可や利用停止の制御をすることが必要になる。
(第5の実施形態)
ここで、遠隔サービスシステム4において、プラント制御システム320が実行するそれぞれの設備に対応した付加機能ごとに、提供するサービスの利用許可や利用停止の制御をする場合を、第5の実施形態として説明する。なお、以下の説明においては、プラント制御システム320が実行するそれぞれの設備に対応した付加機能ごとに提供するサービスの利用許可や利用停止の制御をする構成の遠隔サービスシステムを、「遠隔サービスシステム5」として説明する。
図10は、第5の実施形態における遠隔サービスシステムの概略構成を示したブロック図である。遠隔サービスシステム5は、変更要求装置100と、変更確認装置200と、変更実施装置210とのそれぞれを含んで構成される。遠隔サービスシステム5では、変更要求装置100と、変更確認装置200と、変更実施装置210とのそれぞれが、ブロックチェーン20に接続されている。なお、図10では、図8と同様に、発電プラントにおいて設備の実際の稼働に関わる変更実施者I、プラントネットワーク装置300、およびデータダイオード330を省略している。
遠隔サービスシステム5は、図8に示したプラント制御システム320が、複数の設備を制御する制御機器であることが異なる。より具体的には、遠隔サービスシステム5におけるプラント制御システム320が、設備320a~設備320cの3つの設備のそれぞれに対応する付加機能を実行することが、遠隔サービスシステム4におけるプラント制御システム320と異なる。このため、プラント制御システム320が制御する3つの設備(設備320a~設備320c)ごとに、実行する付加機能のサービスに対して利用許可や利用停止の制御をする。しかし、遠隔サービスシステム5におけるその他の構成は、遠隔サービスシステム4の構成と同様である。従って、以下の説明においては、遠隔サービスシステム4と同様の構成および動作に関する詳細な説明は省略し、遠隔サービスシステム5においてプラント制御システム320が実行するそれぞれの設備ごとの付加機能、つまり、それぞれの設備に対応するサービスの利用許可および利用停止を制御する構成および動作に重点をおいて説明する。
遠隔サービスシステム5では、プラント制御システム320が制御するそれぞれの設備に対応する付加機能を区別するため、変更要求装置100とプラント制御システム320が制御するそれぞれの設備との間で予め定められた公開鍵と秘密鍵とを用いて、それぞれの設備に対応する付加機能の実行を制御する。つまり、遠隔サービスシステム5では、利用可否情報を対応する設備の公開鍵を用いて符号化して伝送し、伝送された利用可否情報を対応する設備の秘密鍵を用いて復号化してから、それぞれの設備に対応する付加機能を実行する。図10には、設備320aに対応する公開鍵51aおよび秘密鍵52aと、設備320bに対応する公開鍵51bおよび秘密鍵52bと、設備320cに対応する公開鍵51cおよび秘密鍵52cとのそれぞれを示している。
これにより、遠隔サービスシステム5では、それぞれの設備ごとに、対応する利用可否情報のみが適用され、付加機能が実行される。例えば、設備320bのみに利用可否情報を適用する場合を考える。この場合、変更要求装置100は、公開鍵51bによって符号化した利用可否情報をブロックチェーン20に登録する。これにより、変更実施装置210が設備320a~設備320cを区別せずに利用可否情報を伝送した場合でも、秘密鍵52bによって利用可否情報を復号化することができる設備320bのみに利用可否情報が適用される。言い換えれば、変更実施装置210が伝送した設備320bに対応する利用可否情報は、秘密鍵52aや秘密鍵52cによって復号化することができないため、設備320aや設備320cに適用されることがない。
また、例えば、遠隔サービスシステム5において設備320a~設備320cのそれぞれに異なる利用可否情報を適用する場合を考える。この場合、変更要求装置100は、公開鍵51aによって符号化した設備320aに対応する利用可否情報と、公開鍵51bによって符号化した設備320bに対応する利用可否情報と、公開鍵51cによって符号化した設備320cに対応する利用可否情報とのそれぞれをブロックチェーン20に登録する。これにより、変更実施装置210が伝送した利用可否情報の内、秘密鍵52aによって復号化することができる設備320aに対応する利用可否情報が設備320aにのみ適用される。また、変更実施装置210が伝送した利用可否情報の内、秘密鍵52bによって復号化することができる設備320bに対応する利用可否情報が設備320bにのみ適用される。さらに、変更実施装置210が伝送した利用可否情報の内、秘密鍵52cによって復号化することができる設備320cに対応する利用可否情報が設備320cにのみ適用される。つまり、変更実施装置210が伝送したそれぞれの利用可否情報は、対応する設備のみに適用される。
このように、遠隔サービスシステム5では、それぞれの設備に対応する公開鍵と秘密鍵とを用いることによって、プラント制御システム320が制御するそれぞれの設備に正しい利用可否情報が適用される。言い換えれば、例え誤った利用可否情報がプラント制御システム320に伝送されてしまった場合でも、誤った利用可否情報が設備に適用されてしまうのを防止することができる。つまり、誤った利用可否情報が設備に適用されてしまうことによる設備の誤動作を防止することができる。このため、変更実施装置210は、適用する設備を認識した上で利用可否情報の伝送を行う必要がなく、利用可否情報をプラント制御システム320に伝送する際の制御を容易にすることができる。
次に、遠隔サービスシステム5を利用した設備において利用可否情報を伝送する処理および作業について説明する。図11は、第5の実施形態の遠隔サービスシステム5における処理および作業の流れを示したシーケンス図である。図11に示した処理シーケンスは、変更内容確認者C(要求者)から出されたサービスの利用要求に対して、サービス事業者S(承認者)がサービスの利用を許可する(承認する)か否かを決定する。図11には、遠隔サービスシステム5を構成する、ブロックチェーン20と、ブロックチェーン20に接続された変更要求装置100、変更確認装置200、および変更実施装置210と、プラント制御システム320とのそれぞれにおける処理の流れの一例を示している。なお、サービス事業者S(承認者)および変更内容確認者C(要求者)のそれぞれの作業(変更要求装置100および変更確認装置200に対する操作)も併せて示している。
遠隔サービスシステム5では、変更要求装置100が、変更要求装置100とプラント制御システム320が制御するそれぞれの設備との間で予め定められた公開鍵を用いて、利用可否情報を符号化してからブロックチェーン20に登録する。このため、図11では、変更要求装置100が利用可否情報をブロックチェーン20に登録する際に、対応する公開鍵を用いて利用可否情報を符号化する処理が追加されている。また、図11では、変更確認装置200が伝送されてきた利用可否情報を適用する際に、対応する秘密鍵を用いて利用可否情報を復号化する処理が追加されている。なお、遠隔サービスシステム5におけるその他の処理および作業の流れは、遠隔サービスシステム4と同様である。従って、図11では、遠隔サービスシステム4と同様の処理および作業の流れに同一のステップ番号を付与して説明を簡略化し、異なる作業の流れに重点をおいて説明する。
なお、以下の説明においては、変更内容確認者Cが、図10に示した設備320a~設備320cのそれぞれに対応するサービスの利用要求を出したものとして説明する。
ステップS501~ステップS502において、変更確認装置200は、変更内容確認者Cが入力したそれぞれの設備に対応するサービスの利用の要求(要求情報)と要求者署名とを紐付けた「要求情報+要求者署名」のデータを、ブロックチェーン20に登録する。
その後、ステップS503~ステップS506において、変更要求装置100は、ブロックチェーン20に登録された「要求情報+要求者署名」のデータを取得し、さらに、変更内容確認者Cからのサービス利用料の支払い状況の情報(データ)の履歴を取得する。そして、サービス事業者Sは、変更内容確認者Cから要求されたそれぞれの設備に対応するサービスの利用可否を決定し、変更要求装置100を操作して、決定したそれぞれの設備に対応するサービスの利用可否を表す結果(利用可否情報)を、変更要求装置100に入力する。
そして、サービス事業者Sは、変更要求装置100を操作して、サービスの利用可否の結果を表す利用可否情報の公開鍵を用いた符号化を指示する(ステップS601)。より具体的には、サービス事業者Sは、設備320aに対応するサービスの利用可否の結果を表す利用可否情報の公開鍵51aを用いた符号化を指示する。また、サービス事業者Sは、設備320bに対応するサービスの利用可否の結果を表す利用可否情報の公開鍵51bを用いた符号化を指示する。また、サービス事業者Sは、設備320cに対応するサービスの利用可否の結果を表す利用可否情報の公開鍵51cを用いた符号化を指示する。これにより、変更要求装置100は、それぞれの利用可否情報を、対応する公開鍵を用いて符号化する。
なお、変更内容確認者Cから要求されたそれぞれの設備に対応するサービスの利用可否の結果(それぞれの設備に対応する利用可否情報)は、プラント制御システム320が制御する設備ごとに決定した結果であるため、対応する付加機能の実行を指示する同じ指示の内容であるとは限らない。また、いずれかの設備に対応するサービスの利用要求が変更内容確認者Cから出されていない場合や、サービス事業者Sが決定したサービスの利用可否の結果が以前と同じ結果、つまり、それぞれの設備に対応する付加機能の実行の指示を継続するという結果である場合も考えられる。このため、サービス事業者Sは、以前と異なる結果の利用可否情報のみを、変更要求装置100に入力してもよい。そして、サービス事業者Sは、以前と異なる結果の利用可否情報のみを、対応する公開鍵を用いて符号化するように、変更要求装置100に指示してもよい。
ステップS507~ステップS508において、変更要求装置100は、サービス事業者Sが入力したそれぞれの設備に対応する利用可否情報とサービス事業者S(承認者)の署名とを紐付けた「利用可否情報+承認者署名」のデータを、ブロックチェーン20に登録する。
その後、ステップS509~ステップS510において、変更実施装置210は、ブロックチェーン20に登録された「利用可否情報+承認者署名」のデータを取得し、取得した「利用可否情報+承認者署名」のデータに含まれるそれぞれの利用可否情報を、直接通信回線を介してプラント制御システム320に伝送する。
これにより、プラント制御システム320は、変更実施装置210から直接通信回線を介して伝送されてきたそれぞれの利用可否情報のデータを受け取ると、受け取ったそれぞれの利用可否情報を、対応する秘密鍵を用いて復号化する(ステップS602)。
なお、変更実施装置210から伝送されてきた利用可否情報は、プラント制御システム320が制御する全ての設備に対応する利用可否情報が含まれているとは限らない。そして、変更実施装置210から伝送されてきた利用可否情報は、それぞれの利用可否情報がいずれの設備に対応する利用可否情報であるかが区別されていないことも考えられる。この場合、プラント制御システム320は、それぞれの利用可否情報を、制御する設備に対応するそれぞれの秘密鍵で復号化する。そして、プラント制御システム320は、利用可否情報を復号化することができた場合、この利用可否情報が復号化に用いた秘密鍵に対応する設備の利用可否情報であると認識する。
そして、ステップS511~ステップS512において、プラント制御システム320は、復号化したそれぞれの利用可否情報のデータに含まれるサービス事業者Sからの指示を対応するそれぞれの設備に適用し、それぞれの利用可否情報を適用した適用結果のデータを、直接通信回線を介して変更実施装置210に伝送する。このようにして、遠隔サービスシステム5では、プラント制御システム320が制御するそれぞれの設備によって提供するサービスの実行が、サービス事業者Sによって制御される。
続いて、ステップS513において、変更実施装置210は、プラント制御システム320から伝送されてきた適用結果のデータをブロックチェーン20に登録する。これにより、サービス事業者Sは、変更実施装置210によってブロックチェーン20に登録された適用結果のデータを確認し、プラント制御システム320が制御するそれぞれの設備におけるサービスの実行状態を確認することができる。また、変更内容確認者Cは、変更実施装置210によってブロックチェーン20に登録された適用結果のデータを確認し、要求したそれぞれの設備に対応するサービスの実行結果のデータを確認することができる。
このような構成、処理、および作業の流れによって、遠隔サービスシステム5では、プラント制御システム320が複数の設備を制御する構成である場合、サービス事業者S(承認者)がそれぞれの設備におけるサービスの実行または停止を指示するための利用可否情報を、対応する設備の公開鍵を用いて符号化してブロックチェーン20に登録する。そして、プラント制御システム320が、伝送された利用可否情報を、対応する設備の秘密鍵を用いて復号化してから、それぞれの設備に対応する付加機能のサービスを実行する。つまり、それぞれの設備に対応する公開鍵と秘密鍵とを用いることによって、プラント制御システム320が制御するそれぞれの設備に誤った利用可否情報が適用されてしまうのを防止することができる。これにより、遠隔サービスシステム4と同様の効果を得ることができる。
しかも、遠隔サービスシステム5でも、データの改ざんを困難にするデータ管理方法が採用されているため、サービス事業者S(承認者)と変更内容確認者C(要求者)との双方に疑義が生じずに、サービス事業者S(承認者)が提供しているサービスの利用許可や利用停止を制御することができる。
なお、図11に示した処理シーケンスでも、変更内容確認者C(要求者)から出されたサービスの利用要求に対して、サービス事業者S(承認者)がサービスの利用許可や利用停止を決定する場合を説明した。しかし、遠隔サービスシステム5でも、例えば、提供しているサービスの利用期間の終了や、サービス利用料の不払いや支払いの遅延などが確認された場合には、変更内容確認者C(要求者)からサービスの利用要求が出されているか否かに関わらずに、サービスの利用を停止させることができる。この場合の処理シーケンスについては、詳細な説明は省略する。
また、遠隔サービスシステム5でも、プラント制御システム320が制御するそれぞれの設備に対応して実行する付加機能におけるパラメータ値の変更、設定変更などや初期化、プログラムの更新なども、同様の考え方に基づいて、サービス事業者側が単独で制御することができる。
また、遠隔サービスシステム5でも、サービス事業者側とプラント側とで予め定められた規定に従った処理を実行するプログラム(スマートコントラクトコード)をブロックチェーンに登録しておくことによって、サービス事業者S(承認者)による処理や作業を自動で行う構成にすることもできる。この場合、対応する設備の公開鍵を用いた利用可否情報の符号化も、例えば、符号化処理プログラムなど、ブロックチェーンに登録されたスマートコントラクトコードのプログラムによって自動で行う構成にすることもできる。これにより、サービス事業者Sが利用可否情報を符号化させる指示を誤ってしまったり、第三者による利用者へのなりすましや改ざんによって利用可否情報が誤った符号化をされてしまったりすることを防止することができる。なお、遠隔サービスシステム5においてスマートコントラクトコードのプログラム(符号化処理プログラム)を採用した場合の構成および処理に関する詳細な説明は省略するが、以下に処理の概要を説明する。
なお、以下の説明においては、図11と同様に、変更内容確認者Cが、図10に示した設備320aに対応するサービスの利用要求を出したものとして説明する。
まず、変更確認装置200は、変更内容確認者Cが入力した設備320aに対応するサービスの利用の要求(要求情報)と要求者署名とを紐付けた「要求情報+要求者署名」のデータを、ブロックチェーン20に登録する。このとき、変更確認装置200は、要求情報を符号化せずにブロックチェーン20に登録する。これは、サービス事業者S、つまり、変更要求装置100やブロックチェーン20は、設備320aに対応する秘密鍵52aを持っていないため、要求情報が符号化されてブロックチェーン20に登録されてしまうと、サービス事業者Sが要求情報を復号化することができず、要求情報の内容を確認することができないからである。
その後、サービス事業者Sは、変更要求装置100を操作して要求情報の内容を確認し、設備320aに対応する利用可否情報とサービス事業者S(承認者)の署名とを紐付けた「利用可否情報+承認者署名」のデータ、および符号化処理プログラムを指定する情報をブロックチェーン20に送信する。このとき、サービス事業者Sは、「設備320a」であることを引数として符号化処理プログラムに与える。これにより、ブロックチェーン20は、符号化処理プログラムによって、受信した「利用可否情報」のデータを、設備320aの公開鍵51aを用いて自動的に符号化し、ブロックチェーン20に登録する。なお、ブロックチェーン20では、署名確認処理プログラムが、それぞれのデータサーバ装置が確認した承認者署名が、例えば、過半数以上のデータサーバ装置で正しい承認者署名であると確認できた場合に、符号化処理プログラムが、受信した「利用可否情報」のデータを、設備320aの公開鍵51aを用いて符号化して登録する。
つまり、遠隔サービスシステム5において符号化処理プログラムをスマートコントラクトコードのプログラムとしてブロックチェーン20に登録している場合には、符号化処理プログラムが、利用可否情報がサービス事業者Sによって承認された後に、対応する設備の公開鍵を用いて符号化してから、利用可否情報をブロックチェーン20に登録する。言い換えれば、遠隔サービスシステム5において符号化処理プログラムをスマートコントラクトコードのプログラムとしてブロックチェーン20に登録している場合には、符号化処理プログラムが、最終的に変更実施装置210が利用可否情報をプラント制御システム320に伝送する前に、利用可否情報を対応する設備の公開鍵を用いて符号化してブロックチェーン20に登録する。
その後、変更実施装置210は、ブロックチェーン20に登録されている符号化された後の利用可否情報を、そのままプラント制御システム320に伝送する。つまり、変更実施装置210は、サービス事業者Sの署名(承認者署名)の確認などを行わずに、ブロックチェーン20に登録されている符号化された後の利用可否情報をプラント制御システム320に伝送する。
このように、遠隔サービスシステム5において符号化処理プログラムをブロックチェーン20に登録している場合には、サービス事業者S、つまり、変更要求装置100が、制御する対象の設備を表す引数を符号化処理プログラムに与えることによって、自動的に利用可否情報を符号化してブロックチェーン20に登録することができる。これにより、遠隔サービスシステム5において符号化処理プログラムをブロックチェーン20に登録している場合でも、サービス事業者S(承認者)がそれぞれの設備におけるサービスの実行または停止を指示するための利用可否情報を、対応する設備の公開鍵を用いて符号化してから、プラント制御システム320に伝送することができる。そして、プラント制御システム320は、伝送された利用可否情報を、対応する設備の秘密鍵を用いて復号化してから、それぞれの設備に対応する付加機能のサービスを実行する。これにより、遠隔サービスシステム5において符号化処理プログラムをブロックチェーン20に登録している場合でも、プラント制御システム320が制御するそれぞれの設備に誤った利用可否情報が適用されてしまうのを防止することができる。
なお、上述した説明でも、変更内容確認者C(要求者)から出されたサービスの利用要求に対して、サービス事業者S(承認者)がサービスの利用許可や利用停止を決定する場合を説明した。しかし、遠隔サービスシステム5において符号化処理プログラムをブロックチェーン20に登録している場合でも、プラント制御システム320が制御するそれぞれの設備に対応して実行する付加機能におけるパラメータ値の変更、設定変更などや初期化、プログラムの更新なども、同様の考え方に基づいて、サービス事業者側が単独で制御することができる。
なお、遠隔サービスシステム5では、利用可否情報の符号化に用いる公開鍵は、ブロックチェーン20に登録することができるため、高いセキュリティレベルで、第三者による利用者へのなりすましや改ざんを防止することができる。しかしながら、プラント制御システム320が利用可否情報の復号化に用いる秘密鍵は、ブロックチェーン20に登録されていないため、第三者による利用者へのなりすましや改ざんがされてしまうことも考えられる。そして、プラント制御システム320が利用可否情報の復号化に用いる秘密鍵が改ざんによって変更されてしまった場合には、サービス事業者Sによるサービスの実行または停止の指示が正しくプラント制御システム320に適用されないことになってしまう。このため、プラント制御システム320が利用可否情報の復号化に用いる秘密鍵と、利用可否情報の符号化に用いる公開鍵とが一致しているか否かを確認する仕組みを備えていることが望ましいと考えられる。言い換えれば、秘密鍵の改ざんの有無を検出することができる仕組みを備えていることが望ましいと考えられる。
(第6の実施形態)
ここで、遠隔サービスシステム5において、プラント制御システム320が利用可否情報の復号化に用いる秘密鍵の改ざんの有無を検出する仕組みを、第6の実施形態として説明する。なお、以下の説明においては、プラント制御システム320の秘密鍵の改ざんの有無を検出する、つまり、公開鍵と秘密鍵とが一致しているか否かを確認することができる仕組みを備えた遠隔サービスシステムを、「遠隔サービスシステム6」として説明する。
遠隔サービスシステム6は、プラント制御システム320が制御するそれぞれの設備に対応する秘密鍵と公開鍵との一致を確認するための処理を実行するプログラム(以下、秘密鍵確認処理プログラムという)が、予めブロックチェーン20に登録されている。そして、遠隔サービスシステム6は、予め定められた時間間隔ごとに、ブロックチェーン20に登録されている秘密鍵確認処理プログラムを自動的に実行することによって、公開鍵と秘密鍵とが一致しているか否かを定期的に検出する。このため、公開鍵と秘密鍵とが一致しているか否かを確認する処理において、変更要求装置100や変更確認装置200による処理、つまり、サービス事業者Sや変更内容確認者Cによる操作を必要としない。
図12は、第6の実施形態における遠隔サービスシステムの概略構成を示したブロック図である。遠隔サービスシステム6は、秘密鍵確認処理プログラムが登録されたブロックチェーン20によって構成される。図12には、ブロックチェーン20に、秘密鍵確認処理プログラム20dが登録されている状態を示している。また、ブロックチェーン20には、プラント制御システム320との間でデータの伝送をするための変更実施装置210が接続されている。図12に示したブロック図は、公開鍵と秘密鍵との一致を確認する構成である。より具体的には、図12は、プラント制御システム320が制御する設備320aに対応する秘密鍵52aの改ざんの有無を検出する場合の構成である。なお、図12では、図10から、公開鍵と秘密鍵との一致を確認する処理に関わらない、変更要求装置100およびサービス事業者Sと、変更確認装置200および変更内容確認者Cとを省略している。
なお、図12に示した遠隔サービスシステム6におけるその他の構成は、遠隔サービスシステム4や遠隔サービスシステム5の構成と同様である。従って、以下の説明においては、遠隔サービスシステム4や遠隔サービスシステム5と同様の構成および動作に関する詳細な説明は省略し、遠隔サービスシステム6において公開鍵と秘密鍵との一致を確認するための構成および動作に重点をおいて説明する。
遠隔サービスシステム6では、上述したように、ブロックチェーン20に登録された秘密鍵確認処理プログラム20dが予め定められた時間間隔ごとに自動的に実行されることにより、公開鍵と秘密鍵との一致を確認する。秘密鍵確認処理プログラム20dは、スマートコントラクトコードのプログラムである。つまり、秘密鍵確認処理プログラム20dは、プログラムの改ざんを困難にすることができると共に、例えば、第三者によって不正に実行されることがないプログラムである。なお、秘密鍵確認処理プログラムは、遠隔サービスシステム5において説明した、利用可否情報を対応する設備の公開鍵を用いて符号化する符号化処理プログラムの一部の機能であってもよい。また、逆に、秘密鍵確認処理プログラムの一部の機能が、遠隔サービスシステム5において説明した符号化処理プログラムであってもよい。
秘密鍵確認処理プログラム20dは、プラント制御システム320が制御するそれぞれの設備との間で予め定められた公開鍵を記憶している。つまり、秘密鍵確認処理プログラム20dは、プラント制御システム320が制御するそれぞれの設備に対応する秘密鍵と組になっている公開鍵を記憶している。図12には、秘密鍵確認処理プログラム20dが、プラント制御システム320が制御する設備320aに対応する公開鍵51aと、設備320bに対応する公開鍵51bと、設備320cに対応する公開鍵51cとのそれぞれを記憶している状態を示している。そして、秘密鍵確認処理プログラム20dは、予め定められた時間間隔ごとに自動的に実行されると、プラント制御システム320が持っているそれぞれの設備に対応する秘密鍵と、記憶しているそれぞれの設備に対応する公開鍵との一致を確認する。
秘密鍵確認処理プログラム20dにおける秘密鍵と公開鍵との一致の確認処理では、まず、秘密鍵確認用平文をプラント制御システム320に送信する。ここで、秘密鍵確認用平文は、秘密鍵確認処理プログラム20dが作成した文字列(テキスト)である。この秘密鍵確認用平文は、予め定められた文字列であってもよいし、任意(ランダム)の文字列であってもよい。これにより、プラント制御システム320は、持っている秘密鍵を用いて、秘密鍵確認処理プログラム20dから送信されてきた秘密鍵確認用平文に署名を追加して秘密鍵確認処理プログラム20dに返信する。そして、秘密鍵確認処理プログラム20dは、記憶している公開鍵を用いて、プラント制御システム320から返信された秘密鍵確認用平文に追加された署名を確認する。これにより、秘密鍵確認処理プログラム20dは、プラント制御システム320が持っているそれぞれの設備に対応する秘密鍵と、記憶している公開鍵との組が一致しているか否かを判定する。
なお、プラント制御システム320は、持っている秘密鍵を用いて秘密鍵確認用平文を符号化し、符号化した秘密鍵確認用平文(以下、秘密鍵確認用符号文という)を秘密鍵確認処理プログラム20dに返信してもよい。つまり、プラント制御システム320は、秘密鍵確認処理プログラム20dから送信されてきた秘密鍵確認用平文の文字列と同じ文字列が符号化された秘密鍵確認用符号文を、秘密鍵確認処理プログラム20dに返信してもよい。この場合、秘密鍵確認処理プログラム20dは、記憶している公開鍵を用いて、プラント制御システム320から返信されてきた秘密鍵確認用符号文を復号化する。そして、秘密鍵確認処理プログラム20dは、復号化した秘密鍵確認用符号文(以下、秘密鍵確認用復号文という)と、プラント制御システム320に送信した秘密鍵確認用平文とを比較することにより、秘密鍵と公開鍵との組が一致しているか否かを判定する。
図12には、秘密鍵確認処理プログラム20dが秘密鍵確認用平文をプラント制御システム320に送信し、プラント制御システム320が秘密鍵確認用符号文を秘密鍵確認処理プログラム20dに返信する場合を模式的に示している。なお、秘密鍵確認用平文21dのプラント制御システム320への送信、秘密鍵確認用符号文22dの受信およびブロックチェーン20への登録を、変更実施装置210が自動で行う。
次に、遠隔サービスシステム6を利用した設備において公開鍵と秘密鍵との一致を確認する処理について説明する。図13は、第6の実施形態の遠隔サービスシステム6における処理の流れを示したシーケンス図である。図13に示した処理シーケンスは、公開鍵と秘密鍵との一致を確認する場合の処理シーケンスである。より具体的には、図13は、秘密鍵確認処理プログラム20dに記憶している公開鍵51aと、プラント制御システム320が持っている秘密鍵52aとが一致しているか否かを確認する場合の処理シーケンスである。図13には、遠隔サービスシステム6を構成するブロックチェーン20と、ブロックチェーン20に接続された変更実施装置210と、プラント制御システム320とのそれぞれにおける処理の流れの一例を示している。なお、秘密鍵確認処理プログラム20dの処理を、ブロックチェーン20の処理として示している。
なお、以下の説明においては、プラント制御システム320が制御するそれぞれの設備に対応する公開鍵がすでに秘密鍵確認処理プログラム20dに記憶されているものとして説明する。つまり、秘密鍵確認処理プログラム20dには、設備320aに対応する公開鍵51aと、設備320bに対応する公開鍵51bと、設備320cに対応する公開鍵51cとのそれぞれの公開鍵がすでに記憶されているものとして説明する。そして、以下の説明においては、プラント制御システム320が、秘密鍵確認用平文を符号化した秘密鍵確認用符号文を秘密鍵確認処理プログラム20dに返信する場合の処理シーケンスを説明する。
遠隔サービスシステム6では、予め定められた時間が経過して秘密鍵確認処理プログラム20dが自動的に実行されると、まず、秘密鍵確認処理プログラム20dが、秘密鍵確認用平文21dを作成して一次記憶する(ステップS701)。なお、秘密鍵確認処理プログラム20dが作成する秘密鍵確認用平文21dには、プラント制御システム320が制御するいずれの設備に対する秘密鍵確認用平文21dであることを表す情報も含まれている。従って、ステップS701で秘密鍵確認処理プログラム20dが作成した秘密鍵確認用平文21dには、設備320aに対する秘密鍵確認用平文21dであることを表す情報が含まれている。
続いて、秘密鍵確認処理プログラム20dは、作成した秘密鍵確認用平文21dのデータを、変更実施装置210に出力する(ステップS702)。これにより、変更実施装置210は、秘密鍵確認処理プログラム20dから出力された秘密鍵確認用平文21dのデータを、直接通信回線を介してプラント制御システム320に伝送する(ステップS703)。
そして、プラント制御システム320は、変更実施装置210から直接通信回線を介して伝送されてきた秘密鍵確認用平文21dのデータを受け取ると、受け取った秘密鍵確認用平文21dに含まれるいずれの設備に対する秘密鍵確認用平文21dであることを表す情報を確認する。その後、プラント制御システム320は、受け取った秘密鍵確認用平文21dのデータを、対応する設備の秘密鍵を用いて符号化する(ステップS704)。より具体的には、プラント制御システム320は、受け取った秘密鍵確認用平文21dが、設備320aに対する秘密鍵確認用平文21dであることを確認する。そして、プラント制御システム320は、受け取った秘密鍵確認用平文21dのデータを、設備320aに対応する秘密鍵52dを用いて符号化し、秘密鍵確認用符号文22dを作成する。
そして、プラント制御システム320は、符号化した秘密鍵確認用平文のデータ、つまり、秘密鍵確認用符号文を、直接通信回線を介して変更実施装置210に伝送する(ステップS705)。より具体的には、プラント制御システム320は、作成した秘密鍵確認用符号文22dのデータを、直接通信回線を介して変更実施装置210に伝送する。なお、プラント制御システム320は、変更実施装置210に伝送する秘密鍵確認用符号文22dのデータに、プラント制御システム320署名(プラント署名)を自動で付加して、変更実施装置210に伝送してもよい。
続いて、変更実施装置210は、プラント制御システム320から伝送されてきた秘密鍵確認用符号文のデータを受け取ると、受け取った秘密鍵確認用符号文のデータをブロックチェーン20に登録する(ステップS706)。これにより、ブロックチェーン20に秘密鍵確認用符号文22dが登録される。なお、変更実施装置210は、ブロックチェーン20に登録する秘密鍵確認用符号文のデータに、変更実施装置210を表す署名を自動で追加し、予め定められた変更実施装置210の鍵(公開鍵、秘密鍵、共通鍵など)を用いて符号化してから、「秘密鍵確認用符号文+署名」のデータをブロックチェーン20に登録してもよい。
続いて、秘密鍵確認処理プログラム20dは、ブロックチェーン20にプラント制御システム320から伝送されてきた秘密鍵確認用符号文のデータが登録されると、登録された秘密鍵確認用符号文のデータを、対応する設備の公開鍵を用いて復号化する(ステップS707)。より具体的には、秘密鍵確認処理プログラム20dは、ステップS701において、設備320aに対する秘密鍵確認用平文21dを作成している。このため、秘密鍵確認処理プログラム20dは、ブロックチェーン20に登録された秘密鍵確認用符号文22dのデータを、設備320aに対応する公開鍵51aを用いて復号化し、秘密鍵確認用復号文を作成する。
そして、秘密鍵確認処理プログラム20dは、作成した秘密鍵確認用復号文に基づいて、プラント制御システム320が持っている設備320aに対応する秘密鍵52aと、記憶している公開鍵51aとの一致を確認する(ステップS708)。より具体的には、秘密鍵確認処理プログラム20dは、作成した秘密鍵確認用復号文の文字列と、送信した秘密鍵確認用平文の文字列とを比較し、それぞれの文字列が一致しているか否かを確認する。なお、秘密鍵確認処理プログラム20dは、秘密鍵確認用復号文の文字列と秘密鍵確認用平文の文字列とが一致している場合には、秘密鍵52aは改ざんされていないと判定することができる。一方、秘密鍵確認処理プログラム20dは、秘密鍵確認用復号文の文字列と秘密鍵確認用平文の文字列とが一致していない場合には、秘密鍵52aが改ざんされていると判定することができる。
なお、秘密鍵確認処理プログラム20dは、プラント制御システム320が制御するそれぞれの設備ごとに、上述したステップS701~ステップS708の処理を順次実行する。これにより、プラント制御システム320が制御する全ての設備に対応する秘密鍵と、記憶している公開鍵との一致を確認する。これにより、プラント制御システム320が制御するそれぞれの設備ごとに、秘密鍵の改ざんの有無を確認(判定)することができる。
このような構成、処理、および作業の流れによって、遠隔サービスシステム6では、プラント制御システム320が制御するそれぞれの設備に対応する秘密鍵と公開鍵との一致を確認するための処理を実行するスマートコントラクトコードのプログラムである秘密鍵確認処理プログラム20dをブロックチェーン20に登録する。そして、予め定めた時間間隔ごとに、秘密鍵確認処理プログラム20dを自動的に実行することによって、公開鍵と秘密鍵とが一致しているか否かを定期的に確認する。これにより、例えば、プラント制御システム320が制御するそれぞれの設備に対応するサービスの利用許可および利用停止を制御するための利用可否情報が対象の設備に正しく適用されないなど、公開鍵と秘密鍵との不一致によって発生することが考えられる不具合を防止することができる。また、秘密鍵確認処理プログラム20dによって定期的に公開鍵と秘密鍵との一致を確認することにより、プラント制御システム320が持っている秘密鍵の改ざんの有無を定期的に検出することができる。これにより、高いセキュリティレベルで、第三者による秘密鍵の改ざん(秘密鍵の差し替えも含む)を防止することができる。
なお、秘密鍵確認処理プログラム20dによって公開鍵と秘密鍵との一致を定期的に確認する場合について説明した。しかし、遠隔サービスシステム6における公開鍵と秘密鍵との一致の確認は、定期的に行うことに限定されるものではなく、例えば、サービス事業者Sが変更要求装置100を操作して秘密鍵確認処理プログラム20dを実行させることにより、不定期に行ってもよい。これにより、例えば、プラント制御システム320が制御するそれぞれの設備に対応するサービスの利用許可および利用停止を制御するための利用可否情報が、対象の設備に対して正しく適用されないなど、公開鍵と秘密鍵との不一致が疑われる場合に、任意のタイミングで秘密鍵の改ざんの有無を検出することができる。
また、遠隔サービスシステム6では、プラント制御システム320制御するそれぞれの設備に対して適用する利用可否情報の復号化に用いる秘密鍵に対する改ざんの有無を検出する場合について説明した。しかし、鍵に対する改ざんの有無の検出の考え方は、利用可否情報の復号化に用いる秘密鍵に限定されるものではない。例えば、第1の実施形態~第4の実施形態において説明した遠隔サービスシステムにおいて、それぞれの設備のパラメータ値の変更内容や、設備の設定変更内容などを表す変更情報に署名を付加する場合に用いる秘密鍵に対する改ざんの有無の検出する場合にも、遠隔サービスシステム6と同様の考え方を適用してもよい。
また、遠隔サービスシステム6では、秘密鍵確認処理プログラム20dによって、プラント制御システム320が持っている秘密鍵の改ざんの有無を検出する場合について説明した。しかし、プラント制御システム320が持っている秘密鍵の信頼性が高い、つまり、秘密鍵が改ざんされていないことが確認されている場合には、秘密鍵確認処理プログラム20dによる公開鍵と秘密鍵との一致の確認の処理を、公開鍵の改ざんの有無を検出するために用いてもよい。なお、公開鍵が改ざんされてしまう可能性がある一例としては、ブロックチェーン20に登録されている公開鍵の直接の改ざんではなく、公開鍵をブロックチェーン20の外部に取り出した後の改ざんなどが考えられる。なお、秘密鍵確認処理プログラム20dによる公開鍵と秘密鍵との一致の確認の処理を、それぞれの鍵の改ざんの有無を検出するために用いてもよい。
なお、秘密鍵以外の鍵の改ざんの有無を検出する場合の処理シーケンスは、詳細な説明は省略する。
上記に述べたとおり、第4の実施形態~第6の実施形態によれば、遠隔サービスシステムを提供するサービス事業者側から、付加機能などのサービスの実行または停止を指示するための利用可否情報をブロックチェーンに登録する。そして、第4の実施形態~第6の実施形態では、ブロックチェーンに登録された利用可否情報が、制御対象の構成要素(プラント制御システム320)に直接伝送する。これにより、第4の実施形態~第6の実施形態の遠隔サービスシステムを適用したプラントでは、サービスの提供を受けるプラント側の承認を得ることなく、提供するサービスの利用許可や利用停止などを、サービス事業者側が単独で制御することができる。
また、第5の実施形態および第6の実施形態では、サービス事業者が利用可否情報をブロックチェーンに登録する際に、それぞれの設備におけるサービスの実行または停止を指示するための利用可否情報を、対応する設備の公開鍵を用いて符号化してブロックチェーンに登録する。そして、第5の実施形態および第6の実施形態では、制御対象の構成要素に直接伝送された利用可否情報を、対応する秘密鍵を用いて復号化してから、それぞれの構成要素(プラント制御システム320が制御するそれぞれの設備)においてサービスを実行する。これにより、第5の実施形態および第6の実施形態の遠隔サービスシステムを適用したプラントでは、サービス事業者がブロックチェーンに登録した利用可否情報が、誤って異なる構成要素に適用されてしまう、つまり、誤った構成要素によってサービスが実行されてしまうのを防止することができる。
また、第6の実施形態では、利用可否情報による制御対象の構成要素(プラント制御システム320が制御する設備320a)に対応する秘密鍵と公開鍵との一致を確認するための処理を実行するスマートコントラクトコードのプログラム(秘密鍵確認処理プログラム20d)ブロックチェーンに登録する。そして、第6の実施形態では、定期的または不定期にスマートコントラクトコードのプログラムを実行することによって、公開鍵と秘密鍵とが一致しているか否かを確認する。つまり、第6の実施形態では、制御対象の構成要素に対して適用する利用可否情報の復号化に用いる秘密鍵が、その利用可否情報の符号化に用いる公開鍵と一致しているか否かを定期的または不定期に確認する。これにより、第6の実施形態の遠隔サービスシステムを適用したプラントでは、サービス事業者がブロックチェーンに登録した利用可否情報が、公開鍵と秘密鍵との不一致によって正しく適用されないなどの不具合を防止することができる。また、第6の実施形態では、定期的または不定期にスマートコントラクトコードのプログラムによって公開鍵と秘密鍵との一致を確認することにより、それぞれの構成要素が持っている鍵の改ざんの有無を検出することができる。これにより、高いセキュリティレベルで、第三者による鍵の改ざんを防止することができる。
上記に述べたとおり、本発明の各実施形態によれば、遠隔サービスシステムは、それぞれの利用者が、それぞれの段階において、変更情報に署名を連鎖的(時系列)に付加(追加)していくことにより、複数の利用者が順次確認した変更内容を設備に対して適用する。また、本発明の各実施形態では、変更情報や利用可否情報、さらには鍵など、設備の運用(稼働)やサービスを提供するために用いるデータを、様々方法で高いセキュリティレベルに保つ。これにより、本発明の各実施形態の遠隔サービスシステムを適用したプラントでは、遠隔地からプラントの設備の設定条件や提供するサービスを変更する場合においても、それぞれのデータを高いセキュリティレベルに保った状態で、制御対象の設備に正しく適用することができる。
なお、本発明の各実施形態では、それぞれの遠隔サービスシステムが、発電プラントに適用されているものとして説明した。しかし、本発明の遠隔サービスシステムを適用するプラントは、発電プラントに限定されるものではなく、様々なプラントに適用することができる。また、本発明の遠隔サービスシステムの考え方は、プラントへの適用に限定されるものではなく、設備に設定しているパラメータ値の変更や調整、設備の設定変更などを遠隔で変更することができる制御システムであれば、様々な制御システムに適用することができる。例えば、紛争地帯に設置された機器の制御システムや、人が出向いて行きづらい場所(例えば、洋上風車など)に設置された制御システムにおいてパラメータ値を更新する場合においても、本発明の遠隔サービスシステムの考え方を適用することができる。
なお、例えば、遠隔サービスシステム1に備えた変更要求装置100、変更確認装置200、変更実施装置210など、遠隔サービスシステムの機能を実現するための各構成要素による処理を実現するためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、当該記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の各実施形態の遠隔サービスシステムに係る上述した種々の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、本発明のいくつかの実施形態を説明したが、本発明はこれら実施形態およびその変形例に限定されることはない。本発明の趣旨を逸脱しない範囲で、構成の付加、省略、置換、およびその他の変更をすることができる。
また、本発明は前述した説明によって限定されることはなく、添付のクレームの範囲によってのみ限定される。