IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フィッシャー−ローズマウント システムズ,インコーポレイテッドの特許一覧

特許7469133分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み
<>
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図1
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図2
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図3
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図4
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図5
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図6
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図7
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図8
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図9
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図10
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図11
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図12
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図13
  • 特許-分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-08
(45)【発行日】2024-04-16
(54)【発明の名称】分散型台帳を使用するプライバシー保護型のビッグデータ共有のための枠組み
(51)【国際特許分類】
   G06F 21/64 20130101AFI20240409BHJP
   G06F 21/60 20130101ALI20240409BHJP
【FI】
G06F21/64
G06F21/60 320
【請求項の数】 31
【外国語出願】
(21)【出願番号】P 2020079266
(22)【出願日】2020-04-28
(65)【公開番号】P2020184335
(43)【公開日】2020-11-12
【審査請求日】2022-12-09
(31)【優先権主張番号】16/404,147
(32)【優先日】2019-05-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100096091
【弁理士】
【氏名又は名称】井上 誠一
(72)【発明者】
【氏名】ギャン・ワン
(72)【発明者】
【氏名】マーク・ジェイ・ニクソン
(72)【発明者】
【氏名】アンソニー・ジュニア・アマロ
【審査官】平井 誠
(56)【参考文献】
【文献】特開2018-081464(JP,A)
【文献】米国特許出願公開第2018/0139056(US,A1)
【文献】国際公開第2019/082442(WO,A1)
【文献】国際公開第2018/011802(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
分散型台帳を使用して記憶センターでプロセスプラント内の測定データを安全に記憶するための方法であって、
プロセスプラント内の工業プロセスを制御するための物理的機能を行うフィールドデバイスによって、前記プロセスプラント内のパラメータの測定値を収集することと、
コンピューティングデバイスによって、前記プロセスプラント内の前記パラメータの前記測定値を取得することと、
前記測定値を暗号化することと、
前記暗号化された測定値を、前記暗号化された測定値を記憶する記憶センターに送信することと、
前記コンピューティングデバイスによって、前記暗号化された測定値のために前記記憶センターによって行われた記憶動作を表すトランザクションを取り出すための識別情報を取得することであって、前記トランザクションは分散型台帳内に含まれる、取得することと、
前記コンピューティングデバイスで、データ契約者から、前記測定値を取得するための要求を受信することと、
前記データ契約者に、前記トランザクションを取り出すための前記識別情報を送信することと、
前記データ契約者に、前記暗号化された測定値を復号するための復号情報を送信することと、を含む、方法。
【請求項2】
前記データ契約者が、前記暗号化された測定値を取り出し、前記暗号化された測定値を、前記分散型台帳内に含まれる前記暗号化された測定値に対応する暗号ハッシュ値と比較して、前記暗号化された測定値の信頼性を検証する、請求項1に記載の方法。
【請求項3】
前記トランザクションが、前記暗号化された測定データを記憶する前記記憶センターの識別子と、前記暗号化された測定データを生成した前記コンピューティングデバイスの識別子と、前記暗号化された測定データを取り出すための識別子と、前記暗号化された測定データに対応する暗号ハッシュ値と、を含む、請求項1または請求項2に記載の方法。
【請求項4】
前記データ契約者に、前記トランザクションを取り出すための前記識別情報を送信することが、前記データ契約者に、前記暗号化された測定値を含む前記分散型台帳内の前記トランザクションに対応するトランザクション識別子を送信することを含む、請求項1から請求項3のいずれかに記載の方法。
【請求項5】
前記暗号化された測定値を復号するための復号情報を送信することが、前記データ契約者に、前記暗号化された測定値を復号するためのワンタイム暗号鍵を送信することを含む、請求項1から請求項4のいずれかに記載の方法。
【請求項6】
前記コンピューティングデバイスによって、前記プロセスプラント内の複数のパラメータの複数の測定値を取得することと、
前記複数の測定値の各々を暗号化することと、
前記複数の暗号化された測定値を複数の記憶センターに送信することと、をさらに含む、請求項1から請求項5のいずれかに記載の方法。
【請求項7】
前記データ契約者からの、前記複数の測定値のうちの少なくともいくつかを取得するための要求に応答して、前記データ契約者に、前記少なくともいくつかの測定値を記憶する前記複数の記憶センターのうちの少なくともいくつかの識別子を含むトランザクションを取り出すための識別情報を送信する、請求項6に記載の方法。
【請求項8】
複数の参加者によって保守される分散型台帳を使用して測定データを記憶するための方法であって、
コンピューティングデバイスで、前記測定データを生成および暗号化したデータ提供者から、暗号化された測定データを取得することと、
前記暗号化された測定データを記憶することと、
前記暗号化された測定データの表示を含むトランザクションを生成することと、
分散型台帳を保守する参加者の分散型台帳ネットワーク内の少なくとも1人の他の参加者に、前記トランザクションを送信することと、
前記データ提供者に、前記暗号化された測定データを取り出すための識別情報を送信することと、
前記コンピューティングデバイスで、データ契約者から、前記暗号化された測定データの識別子を含む、前記暗号化された測定データの要求を受信することと、
前記要求に応答して、前記暗号化された測定データを前記データ契約者に送信することと、を含む、方法。
【請求項9】
トランザクションを生成することが、前記暗号化された測定データを記憶する前記コンピューティングデバイスの識別子と、前記暗号化された測定データを生成した前記データ提供者の識別子と、前記暗号化された測定データを取り出すための識別子と、前記暗号化された測定データに対応する暗号ハッシュ値と、を含む前記トランザクションを生成することを含む、請求項8に記載の方法。
【請求項10】
前記データ契約者が、前記暗号化された測定データを前記暗号ハッシュ値と比較して、前記暗号化された測定データの信頼性を検証する、請求項9に記載の方法。
【請求項11】
前記暗号化された測定データを取り出すための識別情報を送信することが、前記データ提供者に、前記暗号化された測定データを含む前記分散型台帳内の前記トランザクションに対応するトランザクション識別子を送信することを含む、請求項8から請求項10のいずれかに記載の方法。
【請求項12】
前記トランザクションを生成することが、
前記トランザクションに基づいて暗号署名を生成することと、
前記暗号署名で前記トランザクションを増強することと、を含む、請求項8から請求項11のいずれかに記載の方法。
【請求項13】
前記トランザクションをトランザクションのブロックに追加することと、
前記トランザクションのブロックに基づいて、暗号パズルを解くことと、
前記暗号パズルの解を前記トランザクションのブロックに追加することと、
前記トランザクションのブロックを、前記分散型台帳ネットワーク内の少なくとも1人の他の参加者へ送信することと、をさらに含む、請求項12に記載の方法。
【請求項14】
分散型台帳ネットワーク上の検証ネットワークノードであって、
各々が測定データを生成および暗号化する1つ以上のデータ提供者と通信し、かつ分散型台帳データをピアネットワークノードと交換するように構成された送受信機であって、前記分散型台帳データが、暗号化された測定データのセットの記憶動作を表すトランザクションを含む、送受信機と、
前記分散型台帳のコピーを記憶するように構成された記憶媒体と、
前記ピアネットワークノードから受信した前記分散型台帳データに合意ルールのセットを適用するように構成された検証器であって、前記分散型台帳データが前記合意ルールを満たす場合に、前記ピアネットワークノードから受信した前記分散型台帳データを前記分散型台帳の前記コピーに付加するようにさらに構成されている、検証器と、を備える、検証ネットワークノード。
【請求項15】
前記ピアネットワークノードから受信した前記分散型台帳データが、前記暗号化された測定データのセットのうちの1つを記憶し、前記暗号化された測定データのセットの記憶動作を表す前記トランザクションのうちの1つを生成する記憶センターのアイデンティティ証明を含む、請求項14に記載の検証ネットワークノード。
【請求項16】
前記ピアネットワークノードから受信した分散型台帳データを付加するために、前記検証器が、
トランザクションのブロックに基づいて、暗号パズルを解くことと、
前記暗号パズルの解を前記トランザクションのブロックに追加することと、
前記トランザクションのブロックを前記分散型台帳の前記コピーに付加することと、
前記トランザクションのブロックを、前記分散型台帳ネットワーク内の前記ピアネットワークノードのうちの少なくとも1つに送信することと、を行うように構成されている、請求項14または請求項15に記載の検証ネットワークノード。
【請求項17】
前記合意ルールのセットが、
トランザクションまたはトランザクションのブロックのフォーマット要件、
前記ピアネットワークノードのうちのどれが、前記分散型台帳に、次のトランザクションまたはトランザクションのブロックを追加するかを決定するためのメカニズム、または
前記トランザクションの各々に含まれる前記暗号化された測定データのセットをハッシュするための暗号ハッシュアルゴリズム、のうちの少なくとも1つを含む、請求項14から請求項16のいずれかに記載の検証ネットワークノード。
【請求項18】
各トランザクションが、暗号化された測定データのセットのための識別子と、前記暗号化された測定データのセットを記憶する記憶センターの識別子と、前記暗号化された測定データのセットを生成したデータ提供者の識別子と、前記暗号化された測定データのセットに対応する暗号ハッシュ値と、を含む、請求項14から請求項17のいずれかに記載の検証ネットワークノード。
【請求項19】
複数の参加者によって保守される分散型台帳を使用して測定データを記憶するためのシステムであって、
プロセスプラント内に配設され、各々が工業プロセスを制御するための物理的機能を行う、1つ以上のデバイスと、
前記プロセスプラント内で実行されるコンピューティングデバイスであって、
1つ以上のプロセッサと、
通信ユニットと、
前記1つ以上のプロセッサおよび前記通信ユニットに連結され、かつ命令を記憶した、非一時的コンピュータ可読媒体と、を含む、コンピューティングデバイスと、を備え、前記命令が、前記1つ以上のプロセッサによって実行されると、前記コンピューティングデバイスに、
前記プロセスプラント内のパラメータの測定値を前記1つ以上のデバイスから取得することと、
前記測定値を暗号化することと、
前記暗号化された測定値を、前記暗号化された測定値を記憶する記憶センターに送信することと、
前記暗号化された測定値のために前記記憶センターによって行われた記憶動作を表すトランザクションを取り出すための識別情報を取得することであって、前記トランザクションは分散型台帳内に含まれる、取得することと、
データ契約者から、前記測定値を取得するための要求を受信することと、
前記データ契約者に、前記トランザクションを取り出すための前記識別情報を送信することと、
前記データ契約者に、前記暗号化された測定値を復号するための復号情報を送信することと、を行わせる、システム。
【請求項20】
前記データ契約者が、前記暗号化された測定値を取り出し、前記暗号化された測定値を、前記分散型台帳内に含まれる前記暗号化された測定値に対応する暗号ハッシュ値と比較して、前記暗号化された測定値の信頼性を検証する、請求項19に記載の方法。
【請求項21】
前記トランザクションが、前記暗号化された測定データを記憶する前記記憶センターの識別子と、前記暗号化された測定データを生成した前記コンピューティングデバイスの識別子と、前記暗号化された測定データを取り出すための識別子と、前記暗号化された測定データに対応する暗号ハッシュ値と、を含む、請求項19または請求項20に記載のシステム。
【請求項22】
前記トランザクションを取り出すための前記識別情報を送信するために、前記命令は、前記コンピューティングデバイスに、前記データ契約者に、前記暗号化された測定値を含む前記分散型台帳内の前記トランザクションに対応するトランザクション識別子を送信させる、請求項19から請求項21のいずれかに記載のシステム。
【請求項23】
前記暗号化された測定値を復号するための復号情報を送信するために、前記命令は、前記コンピューティングデバイスに、前記データ契約者に、前記暗号化された測定値を復号するためのワンタイム暗号鍵を送信させる、請求項19から請求項22のいずれかに記載のシステム。
【請求項24】
前記命令が、前記コンピューティングデバイスに、
前記プロセスプラント内の複数のパラメータの複数の測定値を取得することと、
前記複数の測定値の各々を暗号化することと、
前記複数の暗号化された測定値を複数の記憶センターに送信することと、をさらに行わせる、請求項19から請求項23のいずれかに記載のシステム。
【請求項25】
前記データ契約者からの、前記複数の測定値のうちの少なくともいくつかを取得するための要求に応答して、前記命令は、前記コンピューティングデバイスに、前記データ契約者に、前記少なくともいくつかの測定値を記憶する前記複数の記憶センターのうちの少なくともいくつかの識別子を含むトランザクションを取り出すための識別情報をさらに送信させる、請求項24に記載のシステム。
【請求項26】
前記少なくともいくつかの測定値が、データセット内に含まれ、前記データセットのサブセットとして異なる記憶センター内に記憶されている、請求項25に記載のシステム。
【請求項27】
安全に記憶された測定データを記憶センターおよび分散型台帳から取得するための方法であって、
コンピューティングデバイスによって、データ提供者によって生成された測定データの要求を送信することと、
前記データ提供者から、暗号化された測定データの表示を含む分散型台帳内のトランザクションに対応するトランザクション識別子を受信することを含む、前記暗号化された測定データを記憶する記憶センターから前記測定データの暗号化バージョンを取り出すための識別情報を受信することと、
前記データ提供者から、前記暗号化された測定データを復号するための復号情報を受信することと、
前記暗号化された測定データを記憶する前記記憶センターの識別子を含む、前記分散型台帳から前記トランザクション識別子に関連付けられたトランザクションデータを取得することと、
前記識別された記憶センターに、前記暗号化された測定データの要求を送信することと、
前記暗号化された測定データを前記記憶センターから受信することと、
前記暗号化された測定データを前記分散型台帳内に含まれる前記暗号化された測定データの前記表示と比較することと、
前記暗号化された測定データが前記分散型台帳内に含まれる前記暗号化された測定データの前記表示に対応すると決定することに応答して、前記測定データを取得するために前記復号情報を使用して前記暗号化された測定データを復号することと、を含む、方法。
【請求項28】
前記測定データが、測定データの複数のサブセットを有する測定データのセットであり、各サブセットは、異なる記憶センターに記憶されており、
前記データ提供者から、暗号化された測定データの各サブセットの表示を含む、前記分散型台帳内のトランザクションに対応するトランザクション識別子を受信することを含む、複数の記憶センターから測定データの各サブセットの暗号化バージョンを取り出すための識別情報を受信することと、
前記データ提供者から、前記暗号化された測定データの各サブセットを復号するための復号情報を受信することと、
前記複数の記憶センターの各々に、前記暗号化された測定データの対応するサブセットの要求を送信することと、
前記暗号化された測定データのサブセットを前記複数の記憶センターから受信することと、
前記測定データのサブセットを取得するために、前記サブセットのための前記対応する復号情報を使用して、前記暗号化された測定データの各サブセットを復号することと、
前記測定データのセットを生成するために、前記測定データの複数のサブセットを組み合わせることと、をさらに含む、請求項27に記載の方法。
【請求項29】
トランザクションデータを取得することが、前記暗号化された測定データを記憶する前記記憶センターの識別子と、前記暗号化された測定データを生成した前記データ提供者の識別子と、前記暗号化された測定データを取り出すための識別子と、前記暗号化された測定データに対応する暗号ハッシュ値と、を取得することを含む、請求項27または請求項28に記載の方法。
【請求項30】
前記暗号化された測定データを前記分散型台帳内に含まれる前記暗号化された測定データの前記表示と比較することが、前記暗号化された測定データを前記暗号化された測定データに対応する前記暗号ハッシュ値と比較することを含む、請求項29に記載の方法。
【請求項31】
復号情報を受信することが、前記データ提供者から、前記暗号化された測定データを復号するためのワンタイム暗号鍵を受信することを含む、請求項27から請求項30のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般に、プロセスプラントおよびプロセス制御システムに関し、より詳細には、プロセスプラント等のデータ提供者によって生成されたデータを安全に記憶するための分散型台帳の使用に関する。
【背景技術】
【0002】
化学、石油、または他のプロセスプラントにおいて使用されるもの等の分散型プロセス制御システムは、典型的には、アナログバス、デジタルバス、またはアナログ/デジタル連結バスを介して、あるいは無線通信リンクまたはネットワークを介して、1つ以上のフィールドデバイスと通信可能に連結される、1つ以上のプロセスコントローラを含む。例えば、バルブ、バルブポジショナ、スイッチ、およびトランスミッタ(例えば、温度、圧力、レベルおよび流量センサ)であり得るフィールドデバイスは、プロセス環境内に位置付けられ、一般に、バルブの開閉、圧力、温度、等のプロセスパラメータの測定等の物理的またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行中の1つ以上のプロセスを制御する。周知のFieldbusプロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスはまた、制御計算、アラーム機能、およびコントローラ内で一般に実装される他の制御機能も実行し得る。プロセスコントローラも典型的にはプラント環境内に配置され、このプロセスコントローラは、フィールドデバイスによって行われるプロセス測定を示す信号および/またはフィールドデバイスに関する他の情報を受信し、例えば、プロセス制御判断を行い、受信した情報に基づき制御信号を生成し、HART(登録商標)、WirelessHART(登録商標)、およびFOUNDATION(登録商標)Fieldbusフィールドデバイス等のフィールドデバイスで行われる制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。コントローラ内の制御モジュールは、通信ラインまたはリンクを経由して、フィールドデバイスに制御信号を送信し、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する。本明細書で利用されるように、フィールドデバイスおよびコントローラは、一般に、「プロセス制御デバイス」と呼ばれる。
【0003】
フィールドデバイスおよびコントローラからの情報は、制御室もしくはより厳しいプラント環境から離れた他の場所に典型的に配置される、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中データベース、または他の集中管理コンピューティングデバイス等の1つ以上の他のハードウェアデバイスに対して、通常、データハイウェイを通じて利用可能にされる。これらのハードウェアデバイスの各々は、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールドデバイス内の制御モジュールの動作の修正、プロセスの現在の状態の閲覧、フィールドデバイスおよびコントローラによって生成されたアラームの閲覧、担当者の訓練もしくはプロセス制御ソフトウェアの試験を目的としたプロセスの動作のシミュレーション、構成データベースの保守および更新等の、プロセスの制御および/またはプロセスプラントの動作に関する機能を行うことを可能にし得るアプリケーションを実行する。ハードウェアデバイス、コントローラ、およびフィールドデバイスにより利用されるデータハイウェイは、有線通信パス、無線通信パス、または有線および無線通信パスの組み合わせを含むことができる。
【0004】
例として、Emerson Process Managementによって販売されているDeltaV(商標)制御システムは、プロセスプラント内の多様な場所に位置付けられている異なるデバイス内に記憶され、それら異なるデバイスによって実行される複数のアプリケーションを含む。1つ以上のワークステーションまたはコンピューティングデバイス内に備わる構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、およびデータハイウェイを経由した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づき制御スキーム内で機能を実行し、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、データをオペレータに対して表示するため、かつオペレータによるプロセス制御ルーチン内の設定点等の設定の変更を可能にするために閲覧アプリケーションが使用するオペレータインターフェースを、構成設計者が作成または変更することを可能にし得る。各専用コントローラ、および一部の場合においては、1つ以上のフィールドデバイスは、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するそれぞれのコントローラアプリケーションを記憶および実行する。視認アプリケーションは、1つ以上のオペレータワークステーション(またはオペレータワークステーションおよびデータハイウェイと通信可能に接続された1つ以上のリモートコンピューティングデバイス)上で実行され得、この視認アプリケーションは、コントローラアプリケーションからデータハイウェイを経由してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、またはユーザに表示して、オペレータのビュー、エンジニアのビュー、技師のビュー等のいくつかの異なるビューのうちのいずれかを提供し得る。データヒストリアンアプリケーションが、典型的には、データハイウェイにわたって提供されたデータの一部または全てを収集および記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションが、現在のプロセス制御ルーチン構成およびそれと関連付けられたデータを記憶するために、データハイウェイに取り付けられたなおさらに離れたコンピュータで作動され得る。代替的に、構成データベースは、構成アプリケーションと同じワークステーションに配置されてもよい。
【0005】
一般的に言って、プロセスプラントのプロセス制御システムは、フィールドデバイス、コントローラ、ワークステーション、および階層化されたネットワークとバスとのセットによって相互接続されたその他のデバイスを含む。次に、プロセス制御システムは、例えば、製造および運用コストを削減し、生産性および効率を高め、プロセス制御および/またはプロセスプラント情報等に適時にアクセスできるようにするために、様々なビジネスおよび外部ネットワークに接続され得る。一方、プロセスプラントおよび/またはプロセス制御システムの、企業および/または外部ネットワークおよびシステムへの相互接続は、企業および/または外部ネットワークで使用されるもの等、商用システムおよびアプリケーションにおいて予想される脆弱性から生じ得るサイバー侵入および/または悪意のあるサイバー攻撃のリスクを増加させる。プロセスプラント、ネットワーク、および/または制御システムのサイバー侵入と悪意のあるサイバー攻撃とは、情報資産の機密性、完全性、および/または可用性に悪影響を与える可能性があり、これは一般的に言って、汎用コンピューティングネットワークのものと類似した脆弱性である。ただし、汎用コンピュータネットワークとは異なり、プロセスプラント、ネットワーク、および/または制御システムのサイバー侵入は、プラント機器、製品、および他の物理的資産の損害、破壊、および/または損失だけでなく、人命の損失をももたらし得る。例えば、サイバー侵入は、プロセスを制御不能にし、それによって、爆発、火災、洪水、危険物への暴露等を発生させ得る。したがって、プロセス制御プラントおよびシステムに関連する通信を保護することは極めて重要である。
【0006】
「ビッグデータ」とは、一般に、従来のデータベース管理ツールおよび/またはデータ処理アプリケーション(例えば、関係データベースおよびデスクトップ統計パッケージ)が許容時間内にデータセットを管理できないほど非常に大規模、または複雑な1つ以上のデータセットの集合を指す。典型的には、ビッグデータを使用するアプリケーションはトランザクション型であり、エンドユーザ主導または集中型である。例えば、ウェブ検索エンジン、ソーシャルメディアアプリケーション、マーケティングアプリケーション、および小売アプリケーションは、ビッグデータを使用および操作する場合がある。ビッグデータは、最新のマルチプロセス、マルチコアサーバの並列処理能力を完全に利用できるようにする分散型データベースによってサポートされ得る。
【0007】
現在、これらの大規模なデータセットを生成するプロセスプラント、病院等のデータ提供者と、大規模なデータセットを記憶する記憶センターとの間には信頼の欠落が存在する。典型的には、データ提供者は、単一の記憶センターと契約して大規模なデータセットを記憶する。しかしながら、単一の記憶センターのセキュリティが侵害されると、脆弱性が発生する。データ提供者は、プライバシーに対する懸念から、記憶センターとデータを共有することも望んでいない。さらに、分析会社およびディープラーニング会社等のデータ契約者は、典型的には、記憶センターによって提供されるデータセットの完全性を信頼しない。
【発明の概要】
【0008】
プロセス制御システムおよび記憶センターにおいて分散型台帳またはブロックチェーンを利用するための技術、システム、装置、構成要素、デバイス、および方法が開示される。そのような技術、システム、装置、構成要素、デバイス、および方法は、工業プロセス制御システム、環境、および/またはプラントに対して適用することができ、これらは本明細書においては交換可能に、「工業制御」、「プロセス制御」、もしくは「プロセス」システム、環境、および/またはプラントとも呼ばれる。典型的には、そのようなシステムおよびプラントは、分散型の様式で、物理的物質または生産物を製造、精製、変形、生成、または生産するように動作する、1つ以上のプロセスの制御を提供する。
【0009】
プロセスプラント、記憶センター、およびデータ契約者等のデータ提供者間の信頼、プライバシー、およびセキュリティの問題に対処するために、データ提供者は、生データを送信するのではなく、暗号化されたデータを記憶センターに送信する。データには、バルブ、タンク、ミキサ、ポンプ、熱交換器等の物理的物質を包含、変形、生成、または移送するプロセスの一部分で使用するためのプロセスプラント内のデバイスを含むフィールドデバイスまたはプロセスプラントエンティティによって生成された測定データを含み得る。測定データは、プロセスプラントエンティティに対応するプロセスパラメータのためのプロセスパラメータ値を含み得る。測定データはまた、製品の温度、製品の体積、製品の質量、製品の密度、製品の圧力等を含む、プロセスプラントによって生産された物理的物質または製品の特性等の製品パラメータ値も含み得る。
【0010】
データを暗号化し、暗号化されたデータを記憶センターに送信することにより、ハッカーが記憶センターに不正アクセスすることにより生データを取得できないため、データは攻撃を受けにくくなる。
【0011】
さらに、暗号化された測定データを記憶センターに記憶することに加えて、記憶センターは、分散型台帳ネットワークにブロードキャストされる記憶動作に関するトランザクションを生成および検証することにより、分散型台帳を保守する。いくつかのシナリオでは、トランザクションは、暗号化された測定データを記憶する記憶センターの識別子と、暗号化された測定データを生成したデータ提供者の識別子と、暗号化された測定データを対応する記憶センターから取り出すための、暗号化された測定データの識別子と、暗号化された測定データの表示と、を含む。いくつかの実装形態では、暗号化された測定データの表示は、暗号化された測定データに対応する暗号ハッシュ値である。
【0012】
次に、分析会社またはディープラーニング会社等のデータ契約者は、記憶センターから暗号化された測定データを取り出し、分散型台帳から暗号化された測定データの表示を取り出し、両者を比較して、暗号化された測定データの信頼性を検証することができる。さらに、データ提供者は、データ契約者がワンタイムパッド等の暗号化された測定データを復号するための復号情報を提供する。
【0013】
いくつかの実装形態では、データ提供者は、暗号化された測定データのセットをいくつかのサブセットに分割する。次に、データ提供者は、暗号化されたサブセットを記憶する、異なる記憶センターに各サブセットを提供し、分散型台帳に記録されている暗号化されたサブセットの表示を含むトランザクションを生成する。次に、データ契約者が測定データまたは測定データのセットのうちの少なくともいくつかを要求すると、データ提供者は、それぞれの暗号化されたサブセットを記憶している記憶センターから、各暗号化されたサブセットを取り出すための識別情報をデータ契約者に提供する。また、データ提供者は、データ契約者がワンタイムパッド等の各暗号化されたサブセットを復号するための復号情報も提供する。次に、データ契約者は、各暗号化されたサブセットを復号し、このサブセットを結合して測定データのセットを生成する。
【0014】
プロセスプラント、またはプロセスプラントによって生成された、暗号化された測定データを記憶する記憶センターで分散型台帳を利用することにより、各記憶センターまたは記憶センターのネットワークは、信頼できる、安全な、かつ不変の測定データの記録を提供することができる。分散型台帳の安全な、不変の、かつ信頼できない性質は、サイバー侵入がプラント機器、製品、および他の物理的資産の損害、破壊、および/または損失のみならず、人間の生活の損失にもつながり得るプロセス制御システム内で特に重要である。さらに、分散型台帳の安全な、不変の、かつ信頼できない性質はまた、データ提供者とデータ契約者の両方が、データの完全性を保守し、プライバシーを確保するために記憶センターを信頼しない、記憶センター内でも特に重要である。分散型台帳内の記録されたデータを変更することは困難であるため、競合するエンティティは、このデータが信頼できることを確信する必要はない。
【図面の簡単な説明】
【0015】
図1】とりわけ、プロセス制御システム、プロセス制御システム自体、および他のシステムおよび/またはネットワークの様々な例示的なコンポーネント間の相互接続を示す、例示的なプロセスプラントまたはプロセス制御システムのブロック図である。
図2】プロセスプラントまたはプロセス制御システムの例示的なセキュリティアーキテクチャのブロック図である。
図3】プロセス制御システムにおいてトランザクションを記録し、スマートコントラクトを実行するための例示的な分散型台帳システムである。
図4】プロセス制御システム内の分散型台帳ネットワーク上の、例示的な検証ネットワークノードおよび例示的なトランザクションフローを示す。
図5】プロセス制御システム内の分散型台帳ネットワーク上のネットワークノードの例示的なコンポーネントを示す。
図6】プロセス制御システム内のトランザクションのブロックを有するブロックチェーンを含む例示的な分散型台帳を示す。
図7】測定データのセットに対してデータ提供者によって行われる例示的な暗号化および分割技術を示す。
図8】例示的な記憶センター、および記憶センターに記憶されている、対応する測定データセットまたはサブセットのブロック図を示す。
図9】ブロックチェーン内に含まれる記憶センターによって生成される例示的なトランザクションを示す。
図10】測定データのセットを取り出すためのデータ提供者と、記憶センターと、データ契約者との間の例示的な対話を示す。
図11】測定データのセットを収集、記憶、および取り出すための、データ提供者と、記憶センターと、データ契約者との間の例示的な対話を示すメッセージ図である。
図12】プロセスプラント内の測定データを分散型台帳を使用して記憶センターに安全に記憶するための例示的な方法を表す流れ図を示す。
図13】複数の参加者によって保守される分散型台帳を使用して測定データを記憶するための例示的な方法を表す流れ図を示す。
図14】記憶センターと分散型台帳から安全に記憶された測定データを取得するための例示的な方法を表す流れ図を示す。
【発明を実施するための形態】
【0016】
分散型台帳は、いく人かの参加者によって保守されるデータ、イベント、トランザクション等の記憶メカニズムである。より具体的には、分散型台帳は、分散型台帳に記録された情報の有効性または無効性に関する分散合意を達成する方法である。つまり、分散型台帳は、参加者およびオブザーバへ分散型の信頼を提供する。中央機関に依存するのとは対照的に、分散型台帳は、台帳への変更のトランザクション記録がピアツーピアネットワークの各ノードによって保守および検証される分散型データベースである。分散型台帳の1つのタイプであるブロックチェーンは、「ブロック」にまとめられたトランザクションのグループで構成され、順番に並べられる(したがって、「ブロックチェーン」という用語)。ここで説明する分散型台帳は、ブロックチェーンに関連して言及されるが、これは分散型台帳の単なる一例である。分散型台帳はまた、もつれ、ブロックラティス、または他の有向非循環グラフ(directed acyclic graph、DAG)を含み得る。いずれにせよ、ノードは時間の経過とともにブロックチェーンネットワークに参加し、およびブロックチェーンネットワークを離脱してもよく、ノードが存在しない間に伝播されたピアノードからブロックを取得し得る。ノードは、他のノードのアドレスを保持し、既知のノードのアドレスを互いに交換して、分散型のピアツーピア方式でネットワークを介した新しい情報の伝播を促進し得る。
【0017】
台帳を共有するノードは、ここで分散型台帳ネットワークと称されるものを形成する。分散型台帳ネットワーク内のノードは、合意ルールのセットに従ってブロックチェーンへの変更を検証する(例えば、新しいトランザクションおよび/またはブロックが作成されるとき等)。合意ルールは、ブロックチェーンによって追跡される情報に依存し、チェーン自体に関するルールを含み得る。例えば、合意ルールは、変更の発生者がアイデンティティ証明を供給して、承認されたエンティティのみがチェーンの変更を発生し得るようにすることを含み得る。合意ルールは、ブロックおよびトランザクションがフォーマット要件を遵守し、変更に関する特定のメタ情報を供給することを要求し得る(例えば、ブロックはサイズ制限未満でなければならず、トランザクションは多数のフィールドを含まなければならない、等)。合意ルールは、新たなブロックがチェーンに追加される順序を決定するメカニズムを含み得る(例えば、作業の証明システム、ステークの証明等)。
【0018】
合意ルールを満たすブロックチェーンへの追加は、検証ノードが認識している他のノードへの追加を検証したノードから伝播される。ブロックチェーンへの変更を受信するノードのうちの全てが新たなブロックを検証する場合に、分散型台帳は全てのノード上に記憶されている新たな変更を反映し、新たなブロックとそこに含まれる情報とに関して分散合意に達したと言える。合意ルールを満たさない変更はいずれも、変更を受信するノードを検証することによって無視され、変更は他のノードに伝播されない。したがって、中央当局を使用する従来のシステムとは異なり、合意ルールを満たす方法で単一の当事者が変更することができない限り、単一の当事者は分散型台帳を一方的に変更することができない。過去のトランザクションを修正することができないため、ブロックチェーンは一般的に、信頼され、安全で、かつ不変であるように記述される。
【0019】
ブロックチェーンネットワークに対して合意ルールを適用するノードの検証アクティビティは、様々な形態を採り得る。一実装形態では、ブロックチェーンは、資産の所有権等のデータを追跡する共有スプレッドシートとして表示され得る。別の実装形態では、検証ノードは、「スマートコントラクト」に含まれるコードを実行し、分散合意は、実行されたコードの出力に同意するネットワークノードとして表される。
【0020】
スマートコントラクトは、異なる当事者間の合意の自動実行および/または自動実施を可能にするコンピュータープロトコルである。特に、スマートコントラクトは、ブロックチェーン上の特定のアドレスに位置するコンピュータコードであり得る。場合によっては、スマートコントラクトが記憶されているアドレスにブロックチェーンへの参加者が資金(ビットコイン、イーサ、その他のデジタル/仮想通貨等の暗号通貨)を送信すると、スマートコントラクトが自動的に稼働し得る。加えて、スマートコントラクトは、そのアドレスに記憶されている資金の残高のバランスを保守し得る。いくつかのシナリオでは、このバランスがゼロに達すると、スマートコントラクトは機能しなくなり得る。
【0021】
スマートコントラクトは、満たされると1つ以上のアクションに対応する1つ以上のトリガ条件を含み得る。いくつかのスマートコントラクトに対して、実行されるアクション(複数可)は1つ以上の決定条件に基づいて決定され得る。場合によっては、スマートコントラクトは、トリガ条件が発生したことを検出し、および/または決定条件を分析し得るように、データストリームをスマートコントラクトへルーティングし得る。
【0022】
ブロックチェーンが、公開され、分散された、許可のない態様で展開されてもよく、つまり、いかなる当事者も、分散型台帳を表示し、台帳に追加される新たな情報を送信し、または検証ノードとしてネットワークに参加し得る。他のブロックチェーンは、ブロックチェーンネットワークに参加することが許可されたエンティティのグループ間でチェーンデータをプライベートに保つプライベート(例えば、許可された台帳等)である。他のブロックチェーンの実装形態は、許可されている場合と許可されていない場合との両方があるため、参加者を検証することが必要になり得るが、ネットワークへの参加者が公開したい情報のみが公開される。
【0023】
いくつかの実装形態では、分散型台帳は、メインブロックチェーンおよびメインブロックチェーンとは独立して動作するいくつかのサイドチェーン等の複数のブロックチェーンを含む。次に、サイドチェーンはメインブロックチェーンとインタラクションして、サイドチェーンからメインブロックチェーンへトランザクションデータのうちのいくつかを提供する。このようにして、メインブロックチェーンがパブリックであるか、サイドチェーンよりも多数のエンティティが利用できる一方で、サイドチェーンをプライベートにすることができる。サイドチェーンからの非機密情報は、メインブロックチェーン上で共有され得る。また、いくつかの実装形態では、分散型台帳は、同じ検証ノードによって保守される、並行して実行される複数の層または個別のブロックチェーンを含む。第1の層のためのブロックチェーンからのトランザクションデータのうちのいくつかが、第2の層のためのブロックチェーンへ提供されるか、またはその逆であり得る。
【0024】
一例では、分散型台帳は、プライベートエンタープライズネットワーク、インターネット、セルラルータ、バックホールインターネット、またはその他のタイプのバックホール接続等の、1つ以上のパブリックおよび/またはプライベートネットワークを使用して、リモートシステムにデータを送信するノードを検証することによって、保守され得る。検証ノードは、例えば、記憶センターによって分散型台帳ネットワークにブロードキャストされるトランザクションを受信する。オペレータワークステーション、サーバデバイス、またはプロセスプラント内の他のユーザインターフェースデバイス等の他のコンピューティングデバイスも、トランザクションを分散型台帳ネットワークにブロードキャストし得る。次に、検証ノードは、ブロードキャストされたトランザクションを検証する。いくつかの実装形態では、記憶センターはまた、記憶センターが分散型台帳ネットワークにトランザクションをブロードキャストし、ブロードキャストされたトランザクションを検証するようにノードを検証している。
【0025】
図1は、本明細書に記載される新規な分散型台帳技術のうちのいずれか1つ以上を利用し得る例示的なプロセスプラント10のブロック図である。プロセスプラント10(本明細書では、プロセス制御システム10またはプロセス制御環境10と言い換え可能である)は、フィールドデバイスによって作成されたプロセス測定値を表示する信号を受信し、この情報を処理して制御ルーチンを実装し、有線または無線プロセス制御通信リンクまたはネットワークを経由して他のフィールドデバイスへ送信されて、プラント10内のプロセスの動作を制御する、1つ以上のプロセスコントローラを含む。典型的には、少なくとも1つのフィールドデバイスが物理的機能(例えば、バルブの開閉、温度の上昇または下降、測定、状況の検知等)を実行し、プロセスの動作を制御する。フィールドデバイスのうちのいくつかのタイプは、I/Oデバイスを使用してコントローラと通信する。プロセスコントローラ、フィールドデバイスおよびI/Oデバイスは、有線または無線であってもよく、任意の数および組み合わせの有線および無線プロセスコントローラ、フィールドデバイスおよびI/Oデバイスが、プロセスプラント環境またはシステム10内に含まれてもよい。
【0026】
例えば、図1は、プロセスコントローラ11を示し、このプロセスコントローラは、入力/出力(I/O)カード26および28を介して、有線フィールドデバイス15~22と通信可能に接続され、無線ゲートウェイ35およびプロセス制御データハイウェイまたはバックボーン105を介して、無線フィールドデバイス40~46と通信可能に接続される。プロセス制御データハイウェイ105は、1つ以上の有線および/または無線通信リンクを含むことができ、例えば、イーサネットプロトコル等の任意の所望のまたは好適なまたは通信プロトコルを使用して実装することができる。いくつかの構成(図示せず)では、コントローラ11は、1つ以上の通信プロトコル、例えばWi-Fiまたは他のIEEE802.11準拠の無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル(例えば、WiMAX、LTE、または他のITU-R互換プロトコル)、Bluetooth(登録商標)、HART(登録商標)、WirelessHART(登録商標)、Profibus、FOUNDATION(登録商標)Fieldbus等をサポートする任意の数の他の有線または無線通信リンクを使用することによって等、バックボーン105以外の1つ以上の通信ネットワークを使用して、無線ゲートウェイ35に通信可能に接続され得る。
【0027】
コントローラ11は、例として、Emerson Process Managementより販売されているDeltaV(商標)コントローラであってもよく、フィールドデバイス15~22および40~46のうちの少なくともいくつかを用いて、バッチプロセスまたは連続的プロセスを実施するように動作し得る。ある実施形態においては、プロセス制御データハイウェイ105に対して通信可能に接続されるのに加えて、コントローラ11はまた、例えば標準的な4~20mAデバイス、I/Oカード26、28、および/またはFOUNDATION(登録商標)Fieldbusプロトコル、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコル等の任意のスマート通信プロトコルと関連付けられた、任意の所望のハードウェアおよびソフトウェアを使用して、フィールドデバイス15~22および40~46のうちの少なくともいくつかとも通信可能に接続される。図1において、コントローラ11、フィールドデバイス15~22およびI/Oカード26、28は、有線デバイスであり、フィールドデバイス40~46は、無線フィールドデバイスである。当然ながら、有線フィールドデバイス15~22および無線フィールドデバイス40~46は、任意の他の所望の規格(複数可)またはプロトコル、例えば今後開発される任意の規格またはプロトコルを含む任意の有線または無線プロトコルに適合することができる。
【0028】
図1のプロセスコントローラ11は、1つ以上のプロセス制御ルーチン38(例えば、メモリ32内に記憶されている)を実装または監督するプロセッサ30を含む。プロセッサ30は、フィールドデバイス15~22および40~46と、およびコントローラ11に通信可能に接続された他のノードと通信するように構成されている。本明細書に記載される任意の制御ルーチンまたはモジュールは、そのように所望される場合は、その一部を異なるコントローラまたは他のデバイスによって実装または実行させてもよいことに留意されたい。同様に、プロセス制御システム10内で実装される本明細書に記載の制御ルーチンまたはモジュール38は、ソフトウェア、ファームウェア、ハードウェア等を含む任意の形態を取ってよい。制御ルーチンは、オブジェクト指向プログラミング、ラダー論理、シーケンシャルファンクションチャート、ファンクションロックダイアグラム、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用したもの等の任意の所望のソフトウェアフォーマットにおいて実装されてもよい。制御ルーチン38は、ランダムアクセスメモリ(RAM)または読み取り専用メモリ(ROM)等の任意の所望のタイプのメモリ32に記憶され得る。同様に、制御ルーチン38は、例えば1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアもしくはファームウェア要素にハードコードされてもよい。したがって、コントローラ11は、任意の所望の様式で制御ストラテジまたは制御ルーチンを実装するように構成することができる。
【0029】
コントローラ11は、一般に機能ブロックと称されるものを使用して制御ストラテジを実施し、この場合、各機能ブロックは、制御ルーチン全体のオブジェクトまたは他の部分(例えばサブルーチン)であり、プロセス制御システム10内でプロセス制御ループを実施するために(リンクと呼ばれる通信を介して)他の機能ブロックと協働して動作する。制御ベースの機能ブロックは、典型的には、トランスミッタ、センサまたは他のプロセスパラメータ測定デバイスに関連付けられている入力機能、PID、ファジー論理等の制御を行う制御ルーチンに関連付けられている制御機能、またはバルブ等のいくつかのデバイスの動作を、プロセス制御システム10内のいくつかの物理的機能を実施するように制御する出力機能のうちの1つを実施する。当然のことながら、ハイブリッドおよび他のタイプの機能ブロックが存在する。機能ブロックはコントローラ11内に記憶され、それによって実行されてもよく、これは典型的には、これらの機能ブロックが標準的な4~20mAデバイスおよびHART(登録商標)デバイス等のいくつかのタイプのスマートフィールドデバイス用に使用されるかもしくはそれと関連するときに成り立ち、または機能ブロックは、フィールドデバイスそのものの内部に記憶され、それによって実装されてもよく、これはFOUNDATION(登録商標)Fieldbusデバイスの場合に成り立ち得る。コントローラ11は、機能ブロックのうちの1つ以上を実行することによって行われる1つ以上の制御ループを実施し得る1つ以上の制御ルーチン38を含み得る。
【0030】
有線フィールドデバイス15~22は、センサ、バルブ、トランスミッタ、ポジショナ等の任意のタイプのデバイスであってよく、一方でI/Oカード26および28は、任意の所望の通信またはコントローラプロトコルに適合する任意のタイプのI/Oデバイスであってもよい。図1では、フィールドデバイス15~18は、アナログラインまたは組み合わされたアナログおよびデジタルラインを経由してI/Oカード26へ通信する、標準的4~20mAデバイスまたはHART(登録商標)デバイスであり、一方でフィールドデバイス19~22は、FOUNDATION(登録商標)Fieldbusフィールドデバイスのような、FOUNDATION(登録商標)Fieldbus通信プロトコルを使用して、デジタルバスを経由してI/Oカード28へ通信するスマートデバイスである。しかし、いくつかの実施形態では、有線フィールドデバイス15、16および18~21のうちの少なくともいくつかならびに/またはI/Oカード26、28のうちの少なくともいくつかは、加えてまたは代わりに、プロセス制御データハイウェイ105を使用して、および/または他の好適な制御システムプロトコル(例えば、Profibus、DeviceNet、Foundation Fieldbus、ControlNet、Modbus、HART等)を使用することによって、コントローラ11と通信し得る。
【0031】
図1では、無線フィールドデバイス40~46は、WirelessHART(登録商標)プロトコル等の無線プロトコルを使用して、無線プロセス制御通信ネットワーク70を介して通信する。そのような無線フィールドデバイス40~46は、(例えば、無線プロトコルまたは別の無線プロトコルを使用して)無線通信するようにも構成される無線ネットワーク70の1つ以上の他のデバイスまたはノードと直接通信し得る。無線通信するように構成されていない1つ以上の他のノードと通信するために、無線フィールドデバイス40~46は、プロセス制御データハイウェイ105に、または別のプロセス制御通信ネットワークに接続された無線ゲートウェイ35を利用し得る。無線ゲートウェイ35は、無線通信ネットワーク70の様々な無線デバイス40~58へのアクセスを提供する。特に、無線ゲートウェイ35は、無線デバイス40~58、有線デバイス15~28、および/またはプロセス制御プラント10の他のノードまたはデバイス間の通信可能な連結を提供する。例えば、無線ゲートウェイ35は、プロセス制御データハイウェイ105を使用することによって、および/またはプロセスプラント10の1つ以上の他の通信ネットワークを使用することによって、通信可能な連結を提供し得る。
【0032】
有線フィールドデバイス15~22と同様に、無線ネットワーク70の無線フィールドデバイス40~16は、プロセスプラント10内の物理的制御機能、例えば、バルブの開閉、プロセスパラメータの測定値の取得等を行う。しかしながら、無線フィールドデバイス40~46は、ネットワーク70の無線プロトコルを使用して通信するように構成されている。このように、無線フィールドデバイス40~46、無線ゲートウェイ35、および無線ネットワーク70の他の無線ノード52~58は、無線通信パケットの生産者でありコンシューマである。
【0033】
プロセスプラント10のいくつかの構成では、無線ネットワーク70は、非無線デバイスを含む。例えば、図1では、図1のフィールドデバイス48は、レガシ4~20mAデバイスであり、フィールドデバイス50は、有線HART(登録商標)デバイスである。ネットワーク70内で通信するために、フィールドデバイス48および50は、無線アダプタ52A、52Bを介して無線通信ネットワーク70に接続される。無線アダプタ52A、52Bは、WirelessHART等の無線プロトコルをサポートし、かつFoundation(登録商標)Fieldbus、PROFIBUS、DeviceNet等の1つ以上の他の通信プロトコルもサポートし得る。加えて、いくつかの構成では、無線ネットワーク70は、無線ゲートウェイ35と有線通信する独立した物理デバイスであり得るか、または一体型デバイスとして無線ゲートウェイ35内に提供され得る、1つ以上のネットワークアクセスポイント55A、55Bを含む。また、無線ネットワーク70はまた、無線通信ネットワーク70内の1つの無線デバイスから別の無線デバイスにパケットを転送するための1つ以上のルータ58を含み得る。図1では、無線デバイス40~46および52~58は、無線通信ネットワーク70の無線リンク60を経由して、および/またはプロセス制御データハイウェイ105を介して、互いに、および無線ゲートウェイ35と通信する。
【0034】
図1では、プロセス制御システム10は、データハイウェイ105に通信可能に接続された1つ以上のオペレータワークステーションまたはユーザインターフェースデバイス8を含む。オペレータワークステーション8を介して、オペレータは、プロセスプラント10のリアルタイム動作の閲覧および監視に加えて、必要であり得る任意の診断、是正、保守、および/または他の処置を取り得る。オペレータワークステーション8のうちの少なくともいくつかは、プラント10内またはその近くの様々な防護領域内に位置し得、いくつかの状況では、オペレータワークステーション8のうちの少なくともいくつかは、遠隔して位置するが、それにもかかわらずプラント10と通信可能に接続され得る。オペレータワークステーション8は、有線または無線コンピューティングデバイスであってもよい。
【0035】
プロセス制御システム10の例は、構成アプリケーション(図示せず)および構成データベース(図示せず)をさらに含むことができ、これらもそれぞれデータハイウェイ105に通信可能に接続される。上述のように、構成アプリケーション(図示せず)の様々なインスタンスを1つ以上のユーザインターフェースデバイス8上で実行し得、ユーザが、プロセス制御モジュールを作成または変更し、データハイウェイ105を介してこれらのモジュールをコントローラ11にダウンロードすることを可能にし、かつ、ユーザが、オペレータインターフェースを作成または変更することを可能にし、それを介して、オペレータは、データを閲覧し、プロセス制御ルーチン内のデータ設定を変更することができる。構成データベース(図示せず)は、作成された(例えば、構成された)モジュールおよび/またはオペレータインターフェースを記憶する。
【0036】
いくつかの構成では、プロセス制御システム10は、他の無線プロトコル、例えばWi-Fiまたは他のIEEE802.11準拠の無線ローカルエリアネットワークプロトコル、モバイル通信プロトコル、例えばWiMAX(Worldwide Interoperability for Microwave Access)、LTE(Long Term Evolution)または他のITU-R(国際電気通信連合無線通信部門(International Telecommunication Union Radio Communication Sector))互換性プロトコル、短波無線通信、例えば近距離通信(NFC)およびBluetooth、または他の無線通信プロトコルを用いて、他のデバイスと通信する1つ以上の他の無線アクセスポイント7aを含む。典型的には、そのような無線アクセスポイント7aは、ハンドヘルドまたは他のポータブルコンピューティングデバイスが、無線ネットワーク70とは異なる、かつ無線ネットワーク70とは異なる無線プロトコルをサポートするそれぞれの無線プロセス制御通信ネットワークを経由して通信することを可能にする。例えば、無線またはポータブルユーザインターフェースデバイス8は、オペレータによってプロセスプラント10内で利用されるモバイルワークステーションまたは診断試験機であってもよい。いくつかのシナリオでは、ポータブルコンピューティングデバイスに加えて、1つ以上のプロセス制御デバイス(例えば、コントローラ11、フィールドデバイス15~22、または無線デバイス35、40~58)もまた、アクセスポイント7aによってサポートされている無線プロトコルを使用して通信する。
【0037】
いくつかの構成では、プロセス制御システム10は、近接したプロセス制御システム10の外部のシステムへの1つ以上のゲートウェイ7b、7cを含む(本明細書では「エッジゲートウェイ」とも称され、以下でより詳細に説明する)。典型的には、そのようなシステムは、プロセス制御システム10によって生成されるか、または有効化される情報のカスタマまたはサプライヤである。例えば、プロセス制御プラント10は、近接したプロセスプラント10を別のプロセスプラントに通信可能に接続するためのゲートウェイノード7bを含み得る。加えてまたは代わりに、プロセス制御プラント10は、近接したプロセスプラント10を、外部のパブリックまたはプライベートシステム、例えば研究所システム(例えば、研究所情報管理システムまたはLIMS)、オペレータラウンドデータベース、荷役システム、保守管理システム、製品在庫管理システム、製造スケジュール管理システム、天気データシステム、出荷および運搬システム、包装システム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システムと通信可能に接続するためのゲートウェイノード7cを含み得る。
【0038】
図1は、プロセスプラント10の例に含まれる有限数のフィールドデバイス15~22および40~46、無線ゲートウェイ35、無線アダプタ52、アクセスポイント55、ルータ58、および無線プロセス制御通信ネットワーク70を有する単一のコントローラ11のみを図示しているが、この例は、単なる例示であり、非限定的な実施形態であることに留意されたい。任意の数のコントローラ11が、プロセス制御プラントまたはシステム10に含まれてもよく、コントローラ11のいずれもが、プラント10内のプロセスを制御するために、任意の数の有線または無線デバイスおよびネットワーク15~22、40~46、35、52、55、58、および70と通信してもよい。
【0039】
さらに、図1のプロセスプラントまたは制御システム10は、フィールド環境(例えば、「プロセスプラントフロア」)およびデータハイウェイ105によって通信可能に接続されるバックエンド環境(例えば、サーバ12)を含むことに留意されたい。図1に示すように、フィールド環境は、その内部に配設され、設置され、および相互接続されて、ランタイム中にプロセスを制御するように動作する物理的構成要素(例えば、プロセス制御デバイス、ネットワーク、ネットワーク素子、等)を含む。例えば、コントローラ11、I/Oカード26、28、フィールドデバイス15~22、ならびに他のデバイスおよびネットワーク構成要素40~46、35、52、55、58、および70は、プロセスプラント10のフィールド環境内に位置付けられるか、配設されるか、さもなければ他の方法で含まれる。一般的に言って、プロセスプラント10のフィールド環境においては、その中に配設された物理的構成要素を使用して原料が受領されて処理され、1つ以上の製品を生成する。
【0040】
プロセスプラント10のバックエンド環境は、フィールド環境の過酷な状況および材料から遮蔽および/または保護された様々な要素、例えばコンピューティングデバイス12、オペレータワークステーション8、データベースまたはデータバンク等を含む。図1を参照すると、バックエンド環境は、例えば、オペレータワークステーション8、サーバコンピューティングデバイス12、および/またはプロセスプラント10のランタイム動作をサポートする機能を含む。いくつかの構成では、プロセスプラント10のバックエンド環境に含まれる様々なコンピューティングデバイス、データベース、および他の要素および機材は、異なる物理位置に物理的に位置し得、それらのいくつかは、プロセスプラント10に対してローカルであってもよく、それらのいくつかは遠隔していてもよい。
【0041】
図2は、プロセスプラント10の例示的なセキュリティアーキテクチャ200のブロック図を含む。図2に示すように、1つ以上のデバイス202は、例えば図1の無線ゲートウェイ35のインスタンスであり得る1つ以上の無線ゲートウェイ205A、205Bに通信可能に接続される。ゲートウェイ205A、205Bとデバイス202との間の通信接続は、参照番号204A、204Bで示されている。
【0042】
デバイス202のセットは、有限数の無線フィールドデバイスを含むものとして示されている。ただし、デバイス202に関して本明細書に記載する概念および特徴は、プロセスプラント10の任意の数のフィールドデバイス、および任意のタイプのフィールドデバイスに容易に適用できることが理解される。例えば、フィールドデバイス202は、プロセスプラント10の1つ以上の有線通信ネットワークを介して無線ゲートウェイ205A、205Bに通信可能に接続される1つ以上の有線フィールドデバイス15~22を含むことができ、および/またはフィールドデバイス202は、無線アダプタ52A、52Bに連結された有線フィールドデバイス48、50を含むことができる。
【0043】
さらに、デバイス202のセットは、フィールドデバイスのみに限定されず、オンラインプロセスを制御するプロセスプラント10の結果としてデータを生成するプロセスプラント10内の任意のデバイスまたはコンポーネントを、加えてまたは代わりに含み得ることが理解される。例えば、デバイス202のセットは、診断データを生成する診断デバイスまたはコンポーネント、プロセスプラント10の様々なコンポーネント間で情報を送信するネットワークルーティングデバイスまたはコンポーネント等を含み得る。実際、図1に示すコンポーネント(例えば、コンポーネント7a~7c、8、11、12、15~22、26、28、35、40~46、52、55、58、60、および70)のうちのいずれか、および図示されていない他のコンポーネントは、記憶センター210に配信するためのデータを生成するデバイスであってもよい。したがって、デバイス202のセットは、本明細書では「データソース202」または「データソースデバイス202」と言い換え可能である。
【0044】
図2は、プロセスプラント10のために利用され得る、および/またはプロセスプラント10が利用する、リモートアプリケーションまたはサービス208のセットをさらに示す。リモートアプリケーションまたはサービス208のセットは、1つ以上のリモートシステムで実行またはホストされてもよい。より具体的には、リモートシステムは、プロセスプラント10で生成されたデータを記憶する記憶センター210を含み得る。リモートシステムはまた、データを取り出し、リモートアプリケーション208を実行するデータ契約者も含み得る。リアルタイムデータがプロセスプラント10によって生成され、かつアプリケーションまたはサービス208によって受信されると、アプリケーションまたはサービス208のうちの少なくともいくつかは、リアルタイムデータ上でリアルタイムで動作する。他のアプリケーションまたはサービス208は、より厳格でないタイミング要件を伴う、プロセスプラントで生成されたデータに対して、動作し、または実行され得る。リモートシステムで実行またはホストされ得、かつプロセスプラント10によって生成されたデータのコンシューマであるアプリケーション/サービス208の例として、プロセスプラント10で発生する状況および/またはイベントを監視および/または感知するアプリケーション、ならびにプロセスプラント10で実行されているオンラインプロセス自体の少なくとも一部分を監視するアプリケーションまたはサービスが挙げられる。アプリケーション/サービス208の他の例として、記述的および/または規範的分析が挙げられ、これはプロセスプラント10によって生成されたデータに対して動作し、場合によっては、プロセスプラントで生成されたデータの分析から収集または発見された知識に対して、さらには他のプロセスプラントによって生成され、および他のプロセスプラントから受信したデータに対して、動作し得る。アプリケーション/サービス208のさらに他の例は、例えば別のサービスまたはアプリケーションの結果としてプロセスプラント10に実装される規範的な機能および/または変更を実装する1つ以上のルーチンを含む。アプリケーションおよびサービス208の他の例は、プロセスプラントおよび/または他のプロセスプラントによって生成された履歴データの分析から、またはプロセスプラントエンティティのデータを同じまたは同様のタイプのデータプロセスプラントエンティティと比較することから収集した知識に対して動作する。
【0045】
記憶センター210は、ネットワーク化されたサーバのリモートバンク、クラウドコンピューティングシステム、ネットワーク等、記憶センターのコンピューティングデバイスを含む任意の所望の方法で実装されてもよい。
【0046】
一般的に言って、セキュリティアーキテクチャ200は、デバイス202が設置され、かつ動作するプロセスプラント10のフィールド環境から、プロセスプラント10によって生成されたデータを消費し、かつ動作させるアプリケーションおよび/またはサービス208を提供するリモートシステムへ、エンドツーエンドのセキュリティを提供する。したがって、サイバー攻撃、侵入、および/またはその他の悪意のあるイベントからプラント10を保護しながら、デバイス202およびプロセスプラント10の他のコンポーネントによって生成されたデータを、リモートアプリケーション/サービス208が使用するために記憶センター210を含むリモートシステムに安全に転送することができる。特に、セキュリティアーキテクチャ200は、フィールドゲートウェイ212と、プロセスプラント10(例えば、プロセスプラント10の無線ゲートウェイ205Aと無線ゲートウェイ205Bとの間)と記憶センター210との間に配設されたエッジゲートウェイ218を含む。
【0047】
プロセスプラント10から出て、入力ポート220から出力ポート222へ送信されるデータは、暗号化によってさらに保護されてもよい。一例では、フィールドゲートウェイ212はデータを暗号化し、暗号化されたデータを入力ポート220へ配信する。暗号化されて転送されるデータトラフィックは、ある例ではUDP(User Datagram Protocol、ユーザデータグラムプロトコル)データトラフィックであってもよく、別の例ではJSONデータトラフィックまたはその他の汎用通信フォーマットであってもよい。
【0048】
フィールドゲートウェイ212は、プロセス制御プラント10に通信可能に接続する。図2に示すように、フィールドゲートウェイ212は、プロセスプラント10のフィールド環境内に配設され、かつ1つ以上のデバイスまたはデータソース202に通信可能に接続された、ワイヤレスゲートウェイ205A、205Bに通信可能に接続されている。前述のように、デバイスまたはデータソース202およびワイヤレスゲートウェイ205A、205Bは、1つ以上のセキュリティメカニズムを介して安全な通信を提供するように構成された、無線HART産業用プロトコルまたは他の好適な無線プロトコルを使用して通信してもよい。例えば、無線HART産業用プロトコルは128ビットAES暗号化を提供し、それに応じて通信パス204A、204Bが保護され得る。
【0049】
加えて、無線ゲートウェイ205A、205Bとフィールドゲートウェイ212との間の通信接続225は、通信接続204A、204Bに利用されるのと同じまたは異なるセキュリティメカニズムを使用してそれぞれ保護される。一例では、通信接続225は、TLS(Transport Layer Security、トランスポート層セキュリティ)ラッパによって保護される。例えば、無線ゲートウェイ205A、205Bは、フィールドゲートウェイ212への中継のためにTLSラッパによって保護されるHART-IPフォーマットのパケットを生成する。
【0050】
したがって、上記のように、実施形態では、デバイス202によって生成されたデータまたはパケットは、第1のセキュリティメカニズムを使用して、無線ゲートウェイ205A、205Bへの中継204A、204Bのために保護され、その後、第2のセキュリティメカニズムを使用して、無線ゲートウェイ205A、205Bからフィールドゲートウェイ212への中継225のために保護され、さらにその後、第3のセキュリティメカニズムを使用して、エッジゲートウェイ218への中継のために保護され得る。加えてまたは代わりに、図2に示すように、エッジゲートウェイ218はファイアウォール228によって保護されてもよい。
【0051】
エッジゲートウェイ218から記憶センター210に中継するデータは、プライベートエンタープライズネットワーク、インターネット、セルラルータ、バックホールインターネット、またはその他のタイプのバックホール接続等の、1つ以上のパブリックおよび/またはプライベートネットワークを使用して、配信され得る。重要なことには、エッジゲートウェイ218から記憶センター210へ中継するデータは、第4のセキュリティメカニズムを使用することによって保護される。より具体的には、エッジゲートウェイ218から記憶センター210に配信されるデータトラフィックの各セットまたはサブセットは、暗号鍵で暗号化され得る。いくつかの実装形態では、暗号鍵は、データのセットまたはサブセットを暗号化するために一度使用されるワンタイム暗号鍵またはワンタイムパッドである。記憶センター210は、ワンタイムパッドにアクセスできない場合がある。代わりに、記憶センター210は、暗号化されたデータセットまたはサブセットを記憶する。データ契約者がプロセスプラント10または別のデータ提供者によって生成された特定のデータセットを要求すると、例えば、エッジゲートウェイ218は、ワンタイムパッドをデータ契約者に提供して、データ契約者が記憶センターから取り出す暗号化されたデータセットまたはサブセットを復号する。
【0052】
いくつかの実装形態では、記憶センター210で、ドメイン認証サービス232を介してセキュリティが提供される。したがって、ドメイン認証サービス232を介して認証および認可されたデータ契約者のコンピューティングデバイス等のユーザインターフェースデバイス235のみが、とりわけ、デバイス202によって生成されたデータを含む、記憶センター210で利用可能なデータのうちの少なくともいくつかへのアクセスを達成することができる。
【0053】
したがって、上述のように、セキュリティアーキテクチャ200は、プロセスプラント10でプロセスを制御するように動作しながら、デバイスまたはデータソース202によって生成されたデータへエンドツーエンドセキュリティを提供し、例えば、データソース202によるデータの開始から記憶センター210へのその送信は、1つ以上のリモートアプリケーションまたはサービス208によって動作される。重要なことに、セキュリティアーキテクチャ200は、プロセスプラント10で悪意のある攻撃が発生するのを防止しながら、このエンドツーエンドのセキュリティを提供する。
【0054】
図2は、デバイスまたはデータソース202をフィールドゲートウェイ212に通信可能に接続するものとしてワイヤレスゲートウェイ205A、205Bを示しているが、いくつかの構成では、ワイヤレスゲートウェイ205A、205Bのうちの1つ以上が省略され、ソースデータがデータソース202からフィールドゲートウェイ212へ直接送信されることに留意されたい。例えば、データソース202は、プロセスプラント10のビッグデータネットワークを介してフィールドゲートウェイ212へソースデータを直接送信してもよい。一般的に言って、プロセスプラント10のビッグデータネットワークは、バックボーンプラントネットワーク105ではなく、産業用通信プロトコルネット(例えば、Profibus,DeviceNet,Foundation Fieldbus、ControlNet、Modbus、HART等)を使用してデバイス間で制御信号を送信するために使用される産業用プロトコルネットワークのビッグデータネットワークでもない。むしろ、プロセスプラント10のビッグデータネットワークは、例えば、データ処理および分析目的でノード間でデータをストリーミングするプロセスプラント10用に実装されたオーバーレイネットワークであり得る。ビッグデータネットワークのノードは、例えば、データソース202、ワイヤレスゲートウェイ205A、205B、およびフィールドゲートウェイ212、ならびに、図1に示すコンポーネント7a~7c、8、11、12、15~22、26、28、35、40~46、52、55、58、60、および70のいずれか1つ以上および他のコンポーネントを含み得る。したがって、プロセスプラントデータネットワークの多くのノードは、それぞれ、産業用通信プロトコルを典型的に利用するプロセスプラント動作用の専用インターフェースと、例えばストリーミングプロトコルを利用し得るデータ処理/分析動作用の別の専用インターフェースを含む。
【0055】
図2に関して、いくつかの実施形態では、無線ゲートウェイ205A、205Bの一方の代わりに有線ゲートウェイ(図示せず)を利用できることにさらに留意されたい。またさらに、図2に示すボックス235で示すように、フィールドゲートウェイ212およびエッジゲートウェイ218を物理的に同じ場所に配置してもよく、コンポーネント212および218を複数の場所にわたって物理的に配置してもよい。例えば、フィールドゲートウェイ212またはエッジゲートウェイ218、のうちの1つ以上をプロセスプラント10に配設してもよい。加えてまたは代わりに、フィールドゲートウェイ212またはエッジゲートウェイ218、のうちの1つ以上は、プロセスプラント10から遠隔に配設されてもよい。
【0056】
プロセスプラント10は、必要に応じて複数のフィールドゲートウェイ212によってサービスされてもよく、任意の数のフィールドゲートウェイ212が単一のエッジゲートウェイ218によってサービスされてもよい。いくつかの実施形態では、必要に応じて、記憶センター210は複数のエッジゲートウェイ218によってサービスされる。
【0057】
プロセス制御システムにおける分散型台帳アーキテクチャ
図2は、記憶センター210を示しているが、各々が分散型台帳ネットワーク内の検証ノードとして機能するいくつかの記憶センター210を含むことができる。図3は、暗号化された測定データに関連する記憶動作を記録するための例示的な分散型台帳システム300を示す。暗号化された測定データは、プロセスパラメータデータ、製品パラメータデータ、構成データ、ユーザとの対話データ、保守データ、試運転データ、プラントネットワークデータ、製品追跡データ、アラーム、リーク、障害、エラー等のプロセスプラント10内のイベントに関連するイベントデータ、または1つまたはいくつかのプロセスプラントで生成される、またはプロセスプラントに関連する任意の他の好適なデータを含み得る。暗号化された測定データにはまた、病院または任意の他の好適なデータ提供者によって生成されたデータも含まれる。
【0058】
システム300は、分散型台帳312と、記憶センター210等の記憶センターであり得るか、またはプロセスプラント10で動作する、またはプロセスプラント10で動作するデバイスと通信する任意の好適なコンピューティングデバイスであり得る、複数のノード302、304、306、308、および310と、を含む。各ノードは、分散型台帳312のコピーを保守する。分散型台帳312に変更が加えられると、各ノードはネットワーク314を介して変更を受信し、各ノードの、分散型台帳312のそれぞれのコピーを更新する。合意メカニズムは、分散型台帳システム300内のノード302~310によって使用され、分散型台帳312に対して受信した変更を行うことが適切かどうかを決定してもよい。
【0059】
したがって、システム内の各ノードは、分散型台帳312の独自のコピーを有し、これはその他のノードによって記憶された分散型台帳312の他の全てのコピーと同一である。分散型台帳システム300は、分散型台帳の分散化された性質のため、中央当局データベースシステムよりも堅牢であり得る。したがって、集中型システムに存在するような分散型台帳システム300には単一障害点は存在しない。
【0060】
図4は、トランザクションを解決するための例示的な検証ネットワークノード、および分散型台帳ネットワーク上の例示的なトランザクションフロー400を示す。図4は、点線の左側および右側によってそれぞれ表される2つの時間枠420および422、ノードA402およびノードB404(2つの記憶センターであってもよい)、トランザクション408A~408Dのセット、トランザクション409A~409Dのブロックのセット、分散型台帳410、およびブロックチェーン418を含む。
【0061】
ブロック伝播フロー400は、ノードA402が時間420でトランザクション406を受信することで開始し得る。ノードA402が、トランザクション406が有効であることを確認すると、ノードA402は、トランザクションを新たに生成されたブロック408に追加し得る。ブロック408にトランザクション406を追加することの一部として、ノードA402が暗号パズルを解き、ブロック408を生成するために行われた作業の証明として新たに生成されたブロック408に解を含めてもよい。代わりに、プルーフオブステークアルゴリズムを使用してブロック408を生成してもよく、それによりノードA402はネットワーク上で使用されるデジタルトークンの量を「ステーク」するが、ネットワーク自体が新たなブロックを作成するノードを決定する。他の実施形態では、ブロックを形成するのに十分な数のトランザクションがプール内に存在するまで、トランザクション406をトランザクションのプールに追加してもよい。ノードA402は、新たに作成されたブロック408を時間412にネットワークへ送信してもよい。ブロック408を伝播する前または後に、ノードA402は、ノードA402の、ブロックチェーン418のコピーに、ブロック408を追加してもよい。
【0062】
作業の証明およびステークの証明は、新たなブロックを作成するためのノードを選択するための合意アルゴリズムとして本明細書に記載されているが、これらはほんの数例の合意アルゴリズムであり、限定することは意図されていない。デリゲートされたステークの証明等の、追加の合意アルゴリズムを利用してもよく、この場合に、例えば、ノードが、検証を実行するためにデリゲートと称されるノードのサブセットを選択し、デリゲートが、交代で新たなブロックを作成する。合意アルゴリズムとしてまた、権限証明、重量証明、ビザンチンフォールトトレランス、もつれ合意アルゴリズム、ブロック格子合意アルゴリズム等が挙げられ得る。
【0063】
いずれにしても、トランザクション409A~409Dは、状態データベース416の更新を含み得る。状態データベース416は、ブロックチェーン418上に展開されたスマートコントラクトによって作成された変数の現在の値を含み得る。ブロック408等の検証されたブロックは、状態データベース416内の状態変数に影響を与えるトランザクションを含み得る。時間422で、ノードB404は、412でネットワークを介して、新たに作成されたブロック408を受信し得る。ノードB404は、ブロック408で提供される暗号パズルの解をチェックすることによって、トランザクションのブロック408が有効であることを確認し得る。解が正確な場合、ノードB404は、ブロック408をそのブロックチェーン418に追加し、ブロック408のトランザクションによって拒否された状態データベース416に更新を行い得る。ノードB404は、次いで、時間314でブロック408をネットワークの残りへ送信し得る。
【0064】
図5は、暗号化された測定データの記憶を記録するための分散型台帳ネットワーク上の検証ネットワークノード500の例示的なコンポーネントを示す。ノード500は、少なくとも1つのプロセッサ502、メモリ504、通信モジュール506、アプリケーション508のセット、外部ポート510、ブロックチェーンマネージャ514、スマートコントラクト516、およびオペレーティングシステム518を含み得る。いくつかの実施形態では、ノード500は、トランザクションの新たなブロックを生成してもよく、またはブロックチェーンマネージャ514を使用することによって、他のネットワークノードにトランザクションをブロードキャストしてもよい。同様に、ノード500は、メモリ504に記憶されたスマートコントラクト516とともにブロックチェーンマネージャ514を使用して、本明細書で開示される機能を実行し得る。メモリ504は、例えば、その上に展開されたスマートコントラクトの状態を記憶するためのブロックチェーンの状態データベースを含むチェーンデータ524をさらに含み得る。
【0065】
他の実施形態では、スマートコントラクト516は、ブロックチェーンマネージャ514または他のアプリケーションとは独立して動作する。いくつかの実施形態では、ノード500は、ブロックチェーンマネージャ514、またはノードに記憶されたスマートコントラクト516を有さない。いくつかの実施形態では、ノード500は、記載されているよりも多いまたは少ないコンポーネントを有し得る。ノード500の構成要素は、以下により詳細に説明される。
【0066】
ノード500は、分散型台帳システム300または別の分散型または集中型ネットワークの一部として、1つまたはいくつかのプロセスプラントで発生するデータまたはイベントに関連付けられたトランザクションとインタラクションし、および/またはトランザクションを操作するシステムの一部として使用され得る。
【0067】
図6は、プロセス制御システム内のトランザクションのブロック602~608を有するブロックチェーンを含む例示的な分散型台帳600を示す。いくつかの実施形態では、ブロックチェーン600は、互いに接続されてトランザクションのブロック602~608のチェーンを形成するいくつかのブロック602~608を含む。ブロックおよびトランザクションを暗号でリンクするために、ブロックチェーン600の各ブロックは、そのトランザクションをマークルツリーに編成する。マークルツリーでは、各トランザクションが暗号ハッシュアルゴリズム(例えば、SHA-256)に従ってハッシュされ、次いで、結果の出力ハッシュが別のトランザクションのハッシュと結合される。次に、暗号ハッシュアルゴリズムに従って、結合された結果もハッシュされる。次に、この出力は2つの他のトランザクションのハッシュと結合され、ブロック内のトランザクションの全てが結合およびハッシュされるまでこのプロセスが繰り返され、ブロック602~608のヘッダで使用されるマークルルートを生成する。ブロック内の任意の単一のトランザクションが改ざんされる場合、マークルルートはブロック内の全てのトランザクションのハッシュの組み合わせであるため、異なるマークルルートが生成される。
【0068】
言い換えれば、トランザクションは、前述のアルゴリズム等の暗号ハッシュアルゴリズムを使用してハッシュされ、各トランザクションのハッシュはツリーに記憶され得る。ツリーが構築されると、同じレベルにある各隣接ノードのハッシュがまとめてハッシュされて、ツリー内のより高いレベルに存在する新しいノードを作成する。したがって、ツリーの最上位にあるノードまたはマークルルートは、ツリーの下に記憶されている各トランザクションのハッシュに依存する。各トランザクションはデータのセットを含み得る。データのセットは、トランザクションのデータの識別、およびトランザクションの性質とトランザクションに伴う内容とを識別するトランザクションデータ(例えば、入力および出力アドレス、トランザクション値、ドキュメントハッシュ値、タイムスタンプ、トランザクション料金値等)を含み得る。
【0069】
ブロックが有効であることを確認するために、ノードは、ブロックのマークルルートを、ブロックチェーンの他のノードのコピーに含まれる同じブロックのマークルルートと比較し得る。したがって、マークルルートを、ブロックに含まれるトランザクションの証明として、またブロックの各ノードのコピーでマークルルートが同じ場合にブロックの内容が改ざんされていないことの証明として使用することができる。
【0070】
一実装形態では、ブロックチェーン「上に」記憶されるドキュメントは、暗号ハッシュアルゴリズム(例えば、SHA-256)に従ってハッシュされたドキュメントであり、結果の出力ハッシュは、ブロックチェーンの合意ルールを満たすネットワークノードによって受け入れられている。したがって、ドキュメントのハッシュを、ブロックチェーン上に記憶されているハッシュと比較することによって、ドキュメントを後で確認または検証され得る。例えば、ドキュメントのセットが、特定の日付にブロックチェーン上に記録されたSHA-256ハッシュをもたらす場合、次いでブロックチェーンはその日付の時点でドキュメントが存在したという暗号証明を提供する。
【0071】
ドキュメントをブロックチェーン上に記憶する1つの方法は、ドキュメントのハッシュを含むトランザクションをネットワークにブロードキャストすることであり、トランザクションは、ネットワークの合意ルールの全てを満たす場合にブロックに含まれる。いくつかの実装形態では、ブロックチェーンは許可された台帳であり、認可されたネットワーク参加者のみがトランザクションをブロードキャストし得ることを意味する。他の実装形態では、一部の認可されたネットワーク参加者のみが特定のトランザクションを実行し得る。例えば、暗号化された測定データが記憶センター210に記憶されると、プロセスパラメータデータまたは製品パラメータデータ等の暗号化された測定データに関する記憶動作がブロックチェーン600にアップロードされ得る。データ契約者等のチェーン外の当事者がデータを取得した場合でも、暗号化された測定データがブロックチェーンを使用して検証できるように、暗号化された測定データの暗号ハッシュのみをブロックチェーン600に含めてもよい。
【0072】
検証ネットワークノードは、署名されたトランザクションまたは署名されたメッセージが、暗号化された測定データを記憶する記憶センター210が所有する公開された公開暗号鍵に対応する秘密暗号鍵によって署名されたことを検証することができる。少なくとも1つの実装形態では、ブロックチェーンネットワークによって合意ルールとして有効なアイデンティティ証明が適用され得る。したがって、新たな記憶動作データを追加するために、認可されたアイデンティティと一致する暗号アイデンティティ証明なしで新たな記憶動作データを追加しようと試みるいかなるトランザクションも、合意ルールに準拠していないとしてネットワークによって拒否される。各記憶センター210には、ブロックチェーンネットワークで記憶センター210に対応するものとして識別される公開鍵/秘密鍵の対を割り当てることができる。検証ネットワークノードが、認可された記憶センター210からではない記憶動作データに関するトランザクションを受信する場合、検証ネットワークノードはトランザクションを拒否する。
【0073】
分散型台帳を使用する安全な記憶システム
上述のように、プロセスプラント10または別のデータ提供者は、暗号化された測定データを記憶センター210に送信する前に、測定データを生成および暗号化する。例えば、図2に示すように、フィールドデバイス202は、フィールドゲートウェイ212を介してエッジゲートウェイ218に提供される測定データを生成する。次に、エッジゲートウェイは、例えば、ワンタイムパッド等の暗号鍵を使用して測定データを暗号化する。いくつかの実装形態では、データ提供者は、測定データのセットを生成し、測定データの各セットをサブセットに分割する。次に、データ提供者は、各サブセットを暗号化し、暗号化されたサブセットを異なる記憶センター210に送信する。
【0074】
図7は、測定データのセットに対してプロセスプラント10等のデータ提供者が行う例示的な暗号化および分割技術を示す。データ提供者10は、第1のデータセット704(DS1)、第2のデータセット706(DS2)、第3のデータセット708(DS3)、および第nのデータセット710(DSn)を含む測定データ702のセットを生成する。データ提供者10は、各データセット704~710をいくつかのサブセットに分割する。例えば、データ提供者10は、第1のデータセット704を第1のサブセット704a(ED11)、第2のサブセット704b(ED12)、第3のサブセット704c(ED13)、および第nのサブセット704n(ED1n)に分割する。データ提供者10はまた、異なる秘密鍵720~726(SK1、SK2、SK3、SKn)を使用して測定データの各サブセットも暗号化する。いくつかの実装形態では、秘密鍵は、測定データの対応するサブセットを暗号化するために一度使用されるワンタイム暗号鍵である。次に、データ契約者が特定のサブセットを含む測定データのうちの少なくともいくつかを要求すると、データ提供者10は、特定のサブセットを暗号化するために使用されるワンタイム暗号鍵をデータ契約者に提供して、特定のサブセットを復号する。そのワンタイム暗号鍵は、任意の他のサブセットまたは測定データのセットを復号するために使用することはできない。
【0075】
次に、測定データの暗号化されたサブセットは、異なる記憶センター210に記憶される。これは、SC00001(参照番号210a)、SC00010(参照番号210b)、SC10000 (参照番号210c)、SC01101(参照番号210d)、SC01001(参照番号210e)、SC00101(参照番号210f)、SC01011(参照番号210g)、SC01010(参照番号210h)、SC10101(参照番号210i)、およびSC01110(参照番号210j)を含むいくつかの記憶センター210a~210jを示す図8に示されている。暗号化された測定データ802(EDi1)のi番目のセットの第1のサブセットは、SC01001(参照番号210e)に記憶され、暗号化された測定データ804(EDi2)のi番目のセットの第2のサブセットは、SC10000(参照番号210c)に記憶され、暗号化された測定データ806(EDi3)のi番目のセットの第3のサブセットは、SC00010(参照番号210b)に記憶され、暗号化された測定データ808(EDin)のi番目のセットの第nのサブセットは、SC10101(参照番号210i)に記憶されている。
【0076】
暗号化された測定データのセットまたはサブセットが特定の記憶センターに記憶されると、記憶センターは、記憶動作を表すトランザクションを生成し、そのトランザクションを分散型台帳ネットワークにブロードキャストする。次に、トランザクションは、他の記憶センター等の検証ノードによって検証され、ブロックに含まれる。図9は、ブロックチェーン等の分散型台帳902に含めることができる例示的なトランザクション904~910を示す。分散型台帳902は、図6を参照して上述した分散型台帳600と同様であり得る。いずれにしても、各トランザクション904~910は、トランザクション識別子(ID)(例えば、「1」)、暗号化された測定データのセットまたはサブセットを生成したデータ提供者のデータ提供者ID(例えば、「DC」)、暗号化された測定データの特定のセットまたはサブセットを識別するデータセットID(例えば、「EDi1」)、暗号化された測定データのセットまたはサブセットを記憶する記憶センターを識別する記憶センターID(例えば、「SC01001」)、および暗号化された測定データのセットまたはサブセットに対応する暗号ハッシュ値等の、暗号化された測定データのセットまたはサブセットの表示を含むことができる。
【0077】
いくつかの実装形態では、記憶センター210は、トランザクションID等のトランザクションデータをデータ提供者10に提供する。次に、データ契約者が測定データのセットを要求すると、データ提供者10は、分散型台帳から必要な情報を取り出すためにトランザクションIDをデータ契約者に提供することができる。この一例が図10に示されている。図10に示すように、データ契約者1000は、データ提供者10からの測定データのセットを要求する。測定データのセットは、暗号化された測定データのサブセットとして、いくつかの記憶センターSC01001(参照番号210e)、SC10000(参照番号210c)、SC00010(参照番号210b)、およびSC10101(参照番号210i)に記憶される。暗号化された測定データの各サブセットは、分散型台帳内のトランザクションでも参照される。
【0078】
要求に応答して、データ提供者10は、データ契約者1000に、セット内の暗号化された測定データのサブセットを参照する、分散型台帳内のトランザクションのブロック情報またはトランザクションデータを提供する。これには、分散型元帳から、対応するトランザクションを取り出すために使用できるトランザクションIDを含むことができる。各トランザクションについて、データ契約者1000は、暗号化された測定データのセットまたはサブセットを生成したデータ提供者のデータ提供者ID(例えば、「DC」)、暗号化された測定データの特定のセットまたはサブセットを識別するデータセットID(例えば、「EDi1」)、暗号化された測定データのセットまたはサブセットを記憶する記憶センターを識別する記憶センターID(例えば、「SC01001」)、および暗号化された測定データのセットまたはサブセットに対応する暗号ハッシュ値等の、暗号化された測定データのセットまたはサブセットの表示を取得することができる。
【0079】
データ提供者10はまた、データ契約者1000に、暗号化された測定データの各サブセットを復号するためのワンタイム暗号鍵またはワンタイムパッドを提供する。上記のように、データ提供者10は、サブセットに固有のワンタイム暗号鍵を使用して、暗号化された測定データの各サブセットを暗号化することができる。したがって、データ提供者10は、これらのワンタイム暗号鍵をデータ契約者1000に提供し、それにより、データ契約者1000は、暗号化された測定データの各サブセットを復号し、測定データのサブセットを組み合わせて測定データのセットを生成することができる。
【0080】
いくつかの実装形態では、データ契約者1000は、セット内の暗号化された測定データのサブセットを参照するトランザクションIDの各々をデータ提供者10から取得し、対応するトランザクションを分散型元帳から取り出す。取り出した各トランザクションについて、データ契約者1000は、記憶センターIDに基づいて、暗号化された測定データのサブセットを記憶する記憶センターのアイデンティティを取得する。次に、データ契約者1000は、データセットIDに対応する暗号化された測定データのサブセットの要求を、識別された記憶センター210に送信する。したがって、記憶センター210は、データセットIDに対応する暗号化された測定データのサブセットを取り出し、それをデータ契約者1000に提供する。
【0081】
さらに、データ契約者1000は、暗号化された測定データのサブセットを、トランザクションに含まれる暗号化された測定データのサブセットに対応する暗号ハッシュ値と比較する。例えば、データ契約者1000は、暗号化された測定データのサブセットに対して暗号ハッシュアルゴリズムを行い、その結果の出力がトランザクションに含まれる暗号ハッシュ値と同じであるかどうかを決定することができる。その結果の出力が暗号ハッシュ値と同じである場合、データ契約者1000は、暗号化された測定データのサブセットが改ざんされていないと決定し、その信頼性を検証することができる。一方、その結果の出力が暗号ハッシュ値と異なる場合、データ契約者1000は、暗号化された測定データのサブセットが改ざんされていると決定し、その分析に測定データを使用しないか、または測定データをそれ以上処理しない。
【0082】
その結果の出力が暗号ハッシュ値と同じである場合、データ契約者1000は、ワンタイム暗号鍵等、データ提供者10によって提供された復号情報を使用して、暗号化された測定データのサブセットを復号する。データ契約者1000は、暗号化された測定データの各サブセットについてこのプロセスを繰り返して測定データのサブセットを生成し、サブセットを組み合わせて測定データのセットを生成することができる。
【0083】
図11は、このプロセスを、データ提供者10と、記憶センター210と、データ契約者1000と、の間の例示的な対話を示す通信図1100で、より詳細に示している。プロセスプラント等のデータ提供者10は、1102で、例えば、フィールドデバイス202、またはプロセスプラント10で動作するプロセスプラントエンティティから測定データを取得する。測定データは、プロセスプラントエンティティに対応するプロセスパラメータのプロセスパラメータ値を含み得る。測定データはまた、製品の温度、製品の体積、製品の質量、製品の密度、製品の圧力等を含むプロセスプラントが生産した物理的物質または製品の特性等の製品パラメータ値を含み得る。次に、データ提供者10は、1104で、暗号鍵を使用して測定データを暗号化する。いくつかの実装形態では、データ提供者10は、同時にまたは時間間隔内(例えば、30秒の時間間隔内、1分の時間間隔内等)で収集したいくつかの測定値を含む測定データのセットを生成する。次に、データ提供者10は、測定データのセットをいくつかのサブセットに分割する。例えば、測定データのセットは、100個の測定値と、測定の時間、プロセスパラメータ、プロセスプラントエンティティ、および/または測定値に対応するフィールドデバイス等の測定値に関する、対応する情報と、を含むことができる。データ提供者10は、100個の測定値を、各々が100個の測定値のうちの25個を含む、測定データの4つのサブセットに分割することができる。次に、データ提供者10は、異なる暗号鍵または固有のワンタイム暗号鍵を使用して、測定データの各サブセットを暗号化することができる。
【0084】
次いで、データ提供者10は、1106で、暗号化された測定データのセットまたは暗号化された測定データのセットのサブセットを記憶センター210に提供する。いくつかの実装形態では、データ提供者10は、暗号化された測定データの各サブセットを異なる記憶センター210に提供するか、またはサブセットのうちの少なくとも2つを異なる記憶センター210に提供することができる。いずれにしても、記憶センター210は、1108で暗号化された測定データを記憶し、1110で記憶動作を表すトランザクションを生成する。トランザクションは、トランザクションID(例えば、「1」)、暗号化された測定データのセットまたはサブセットを生成したデータ提供者のデータ提供者ID(例えば、「DC」)、暗号化された測定データの特定のセットまたはサブセットを識別するデータセットID(例えば、「EDi1」)、暗号化された測定データのセットまたはサブセットを記憶する記憶センターを識別する記憶センターID(例えば、「SC01001」)、および暗号化された測定データのセットまたはサブセットに対応する暗号ハッシュ値等の、暗号化された測定データのセットまたはサブセットの表示を含むことができる。
【0085】
記憶センター210は、トランザクションを分散型台帳ネットワークにブロードキャストし、ブロードキャストされたトランザクションが合意ルールを満たす場合、ネットワーク検証器は、トランザクションを分散型台帳のブロック内に含めることができる。次に、記憶センター210は、1112で、トランザクションのトランザクションID、または分散型台帳内のトランザクションを識別する任意の他の好適な情報等のブロック情報をデータ提供者10に提供する。
【0086】
データ契約者1000が1114で測定データのセットを含むデータ提供者10からの測定データを要求すると、データ提供者10は、1116で、分散型台帳からの暗号化された測定データのセットを含むトランザクションを取り出すためのトランザクションIDおよび暗号化された測定データのセットを復号するためのワンタイム暗号鍵等のブロック情報を提供する。測定データのセットがいくつかのサブセットに分割されると、データ提供者10は、暗号化された測定データの各サブセットを取り出し、かつ復号するためのトランザクションIDおよびワンタイム暗号鍵を提供することができる。いずれにしても、データ契約者1000は、トランザクションIDに対応するトランザクションを分散型台帳から取り出す。取り出した各トランザクションについて、データ契約者1000は、記憶センターIDに基づいて、暗号化された測定データのサブセットを記憶する記憶センターのアイデンティティを取得する。次に、データ契約者1000は、1118で、データセットIDに対応する暗号化された測定データのサブセットの要求を、識別された記憶センター210に送信する。したがって、記憶センター210は、データセットIDに対応する暗号化された測定データのサブセットを取り出し、それを1120でデータ契約者1000に提供する。
【0087】
さらに、データ契約者1000は、暗号化された測定データのサブセットを、トランザクション内に含まれる暗号化された測定データのサブセットに対応する暗号ハッシュ値と比較する。例えば、データ契約者1000は、暗号化された測定データのサブセットに対して暗号ハッシュアルゴリズムを行い、その結果の出力がトランザクションに含まれる暗号ハッシュ値と同じであるかどうかを決定することができる。その結果の出力が暗号ハッシュ値と同じである場合、データ契約者1000は、暗号化された測定データのサブセットが改ざんされていないと決定し、その信頼性を検証することができる。一方、その結果の出力が暗号ハッシュ値と異なる場合、データ契約者1000は、暗号化された測定データのサブセットが改ざんされていると決定し、その分析に測定データを使用しないか、または測定データをそれ以上処理しない。
【0088】
その結果の出力が暗号ハッシュ値と同じである場合、データ契約者1000は、1122で、ワンタイム暗号鍵等、データ提供者10によって提供された復号情報を使用して、暗号化された測定データのサブセットを復号する。データ契約者1000は、暗号化された測定データの各サブセットについてこのプロセスを繰り返して測定データのサブセットを生成し、サブセットを組み合わせて測定データのセットを生成することができる。
【0089】
図12は、プロセスプラント内の測定データを分散型台帳を使用して記憶センターに安全に記憶するための例示的な方法1200を表す流れ図を示す。方法1200は、プロセスプラント10内のエッジゲートウェイ218、プロセスプラント10内のコントローラ11、または、オペレータワークステーション、サーバデバイス12、ユーザインターフェースデバイス8、I/Oデバイス26、28、ネットワークデバイス35等の、プロセスプラント10内の別のコンピューティングデバイスによって実行され得る。
【0090】
ブロック1202において、プロセス制御要素に関連するデータは、フィールドデバイスから取得される。プロセス制御要素は、フィールドデバイス、コントローラ、または、バルブ、タンク、ミキサ、ポンプ、熱交換器等のプロセスプラントエンティティであり得る。測定データは、プロセス制御要素のパラメータのプロセスパラメータデータ(例えば、タンク充填レベル、ポンプ速度、熱交換器内の温度)と、プロセス制御要素に入る、プロセス制御要素を出る、プロセス制御要素内の、および/またはプロセス制御要素によって制御される、製品のための製品パラメータデータ(例えば、タンク内の流体の温度、バルブを出る流体の流量)と、を含み得る。いくつかの実装形態では、エッジゲートウェイ218は、同時にまたは時間間隔内(例えば、30秒の時間間隔内、1分の時間間隔内等)で収集したいくつかの測定値を含む測定データのセットを取得する。次に、エッジゲートウェイ218は、測定データのセットをいくつかのサブセットに分割する。次に、ブロック1204において、測定データは暗号化される。例えば、エッジゲートウェイ218は、異なる暗号鍵または固有のワンタイム暗号鍵を使用して、測定データの各サブセットを暗号化することができる。
【0091】
ブロック1206において、暗号化された測定データのセットは、記憶センター210に送信される。いくつかの実装形態では、暗号化された測定データの各サブセットは、異なる記憶センター210に送信されるか、またはサブセットのうちの少なくとも2つは、異なる記憶センター210に送信される。暗号化された測定データのセットの受信に応答して、記憶センター210は、そのセットを記憶し、記憶動作を表すトランザクションを生成する。記憶センター210は、トランザクションを分散型台帳ネットワークにブロードキャストして、分散型台帳に含める。次に、ブロック1208において、エッジゲートウェイ218は、トランザクションのトランザクションID、または分散型台帳内のトランザクションを識別する任意の他の好適な情報等のブロック情報を記憶センターから受信する。
【0092】
データ契約者1000からの測定データのセットの要求に応答して(ブロック1210)、エッジゲートウェイ218は、分散型台帳からの暗号化された測定データのセットを含むトランザクションを取り出すためのトランザクションIDを送信し(ブロック1212)、暗号化された測定データのセットを復号するためのワンタイム暗号鍵等のブロック情報を送信する(ブロック1214)。測定データのセットがいくつかのサブセットに分割されると、エッジゲートウェイ218は、暗号化された測定データの各サブセットを取り出し、かつ復号するためのトランザクションIDおよびワンタイム暗号鍵を提供することができる。
【0093】
このようにして、データ契約者1000は、分散型台帳からトランザクションID(複数可)に対応するトランザクション(複数可)を取り出し、暗号化された測定データを記憶する記憶センター(複数可)を識別し、暗号化された測定データの識別情報を識別された記憶センター(複数可)に提供して暗号化された測定データを取り出すことができる。データ契約者はまた、暗号化された測定データを分散型台帳内のトランザクション(複数可)に含まれる暗号化された測定データに対応する暗号化ハッシュ値(複数可)と比較することによって、暗号化された測定データの信頼性を検証することもできる。さらに、データ契約者1000は、ワンタイム暗号鍵(複数可)を使用して、暗号化された測定データを復号することができる。
【0094】
図13は、複数の参加者が保守する分散型台帳を使用して測定データを記憶するための例示的な方法1300を表す流れ図を示す。方法1300は、記憶センターのコンピューティングデバイス等の記憶センター210によって実行され得る。
【0095】
ブロック1302において、記憶センター210は、暗号化された測定データのセットまたは暗号化された測定データのサブセットであり得る、暗号化された測定データを取得し、他のサブセットは異なる記憶センターに提供される。暗号化された測定データは、プロセスプラント、病院、または任意の他の好適な大規模なデータセットのソース等のデータ提供者10から取得することができる。
【0096】
次に、ブロック1304において、記憶センター210は、暗号化された測定データを、データセットID等の暗号化された測定データを取り出すための識別子とともに記憶する。暗号化された測定データを記憶することに加えて、記憶センター210は、記憶動作を表し、暗号化された測定データの表示を含むトランザクションを生成する(ブロック1306)。トランザクションは、トランザクションID、暗号化された測定データのセットまたはサブセットを生成したデータ提供者のデータ提供者ID、暗号化された測定データの特定のセットまたはサブセットを識別するデータセットID、暗号化された測定データのセットまたはサブセットを記憶する記憶センターを識別する記憶センターID、および暗号化された測定データのセットまたはサブセットに対応する暗号ハッシュ値等の、暗号化された測定データのセットまたはサブセットの表示を含むことができる。
【0097】
記憶センター210は、トランザクションを分散型台帳ネットワークにブロードキャストし、ブロードキャストされたトランザクションが合意ルールを満たす場合、ネットワーク検証器は、トランザクションを分散型台帳のブロック内に含めることができる。(ブロック1308)。次に、記憶センター210は、トランザクションのトランザクションID、または分散型台帳内のトランザクションを識別する任意の他の好適な情報等のブロック情報をデータ提供者10に提供する(ブロック1310)。
【0098】
暗号化された測定データの、暗号化された測定データを識別するデータセットIDを含む、データ契約者1000からの要求に応答して(ブロック1312)、記憶センター210は、暗号化された測定データをデータ契約者に提供する(ブロック1314)。
【0099】
図14は、記憶センターと分散型台帳から安全に記憶された測定データを取得するための例示的な方法1400を表す流れ図を示す。流れ図1400は、データ契約者のコンピューティングデバイス等のデータ契約者1000によって実行され得る。
【0100】
ブロック1402において、データ契約者1000は、プロセスプラント等のデータ提供者10からの測定データの要求を送信する。測定データの要求は、最新の時間間隔(例えば、直前の30秒)に対応する測定データのセット等、特定の測定データのセットに対するものであり得る。ブロック1404において、データ契約者1000は、記憶センター212に記憶された測定データのセットの暗号化バージョンを参照する、分散型台帳内のトランザクションを取り出すためのトランザクションID、および暗号化された測定データを復号するためのワンタイム暗号鍵を含むブロック情報を受信する。測定データのセットがいくつかのサブセットに分割されると、データ提供者10は、暗号化された測定データの各サブセットを取り出し、かつ復号するためのトランザクションIDおよびワンタイム暗号鍵を提供することができる。
【0101】
データ契約者1000は、トランザクションIDに対応するトランザクションを分散型台帳から取り出す(ブロック1406)。取り出した各トランザクションについて、データ契約者1000は、記憶センターIDに基づいて、暗号化された測定データのサブセットを記憶する記憶センターのアイデンティティおよびデータセットID等の、暗号化された測定データのサブセットの識別子を取得する。次に、データ契約者1000は、データセットIDに対応する暗号化された測定データのサブセットの要求を、識別された記憶センター210に送信する(ブロック1408)。したがって、記憶センター210は、データセットIDに対応する暗号化された測定データのサブセットを取り出し、それをデータ契約者1000に提供する(ブロック1410)。
【0102】
さらに、データ契約者1000は、暗号化された測定データのサブセットを、トランザクションに含まれる暗号化された測定データのサブセットに対応する暗号ハッシュ値と比較する(ブロック1412)。例えば、データ契約者1000は、暗号化された測定データのサブセットに対して暗号ハッシュアルゴリズムを行い、その結果の出力が暗号ハッシュ値と同じであるかどうかを決定することができる。その結果の出力が暗号ハッシュ値と同じである場合、データ契約者1000は、暗号化された測定データのサブセットが改ざんされていないと決定し、その信頼性を検証することができる。一方、その結果の出力が暗号ハッシュ値と異なる場合、データ契約者1000は、暗号化された測定データのサブセットが改ざんされていると決定し、その分析に測定データを使用しないか、または測定データをそれ以上処理しない。
【0103】
その結果の出力が暗号ハッシュ値と同じである場合、データ契約者1000は、ワンタイム暗号鍵等、データ提供者10によって提供された復号情報を使用して、暗号化された測定データのサブセットを復号する(ブロック1414)。データ契約者1000は、暗号化された測定データの各サブセットについてこのプロセスを繰り返して測定データのサブセットを生成し、サブセットを組み合わせて測定データのセットを生成することができる。
【0104】
本開示に記載されている技術の実施形態は、任意の数の下記の態様を、単独でまたは組み合わせのいずれかで含んでもよい。
【0105】
1.分散型台帳を使用して記憶センターでプロセスプラント内の測定データを安全に記憶するための方法であって、プロセスプラント内の工業プロセスを制御するための物理的機能を行うフィールドデバイスによって、プロセスプラント内のパラメータの測定値を収集することと、コンピューティングデバイスによって、プロセスプラント内のパラメータの測定値を取得することと、測定値を暗号化することと、暗号化された測定値を、暗号化された測定値を記憶する記憶センターに送信することと、コンピューティングデバイスによって、暗号化された測定値のために記憶センターによって行われた記憶動作を表すトランザクションを取り出すための識別情報を取得することであって、トランザクションは分散型台帳内に含まれる、取得することと、コンピューティングデバイスで、データ契約者から、測定値を取得するための要求を受信することと、データ契約者に、トランザクションを取り出すための識別情報を送信することと、データ契約者に、暗号化された測定値を復号するための復号情報を送信することと、を含む、方法。
【0106】
2.データ契約者が、暗号化された測定値を取り出し、暗号化された測定値を、分散型台帳内に含まれる暗号化された測定値に対応する暗号ハッシュ値と比較して、暗号化された測定値の信頼性を検証する、態様1に記載の方法。
【0107】
3.トランザクションが、暗号化された測定データを記憶する記憶センターの識別子と、暗号化された測定データを生成したコンピューティングデバイスの識別子と、暗号化された測定データを取り出すための識別子と、暗号化された測定データに対応する暗号ハッシュ値と、を含む、態様1または2のいずれか1つに記載の方法。
【0108】
4.データ契約者に、トランザクションを取り出すための識別情報を送信することが、データ契約者に、暗号化された測定値を含む分散型台帳内のトランザクションに対応するトランザクション識別子を送信することを含む、態様1~3のいずれか1つに記載の方法。
【0109】
5.暗号化された測定値を復号するための復号情報を送信することが、データ契約者に、暗号化された測定値を復号するためのワンタイム暗号鍵を送信することを含む、態様1~4のいずれか1つに記載の方法。
【0110】
6.コンピューティングデバイスによって、プロセスプラント内の複数のパラメータの複数の測定値を取得することと、複数の測定値の各々を暗号化することと、複数の暗号化された測定値を複数の記憶センターに送信することと、をさらに含む、態様1~5のいずれか1つに記載の方法。
【0111】
7.データ契約者からの、複数の測定値のうちの少なくともいくつかを取得するための要求に応答して、データ契約者に、少なくともいくつかの測定値を記憶する複数の記憶センターのうちの少なくともいくつかの識別子を含むトランザクションを取り出すための識別情報を送信する、態様1~6のいずれか1つに記載の方法。
【0112】
8.複数の参加者によって保守される分散型台帳を使用して測定データを記憶するための方法であって、コンピューティングデバイスで、測定データを生成および暗号化したデータ提供者から、暗号化された測定データを取得することと、暗号化された測定データを記憶することと、暗号化された測定データの表示を含むトランザクションを生成することと、分散型台帳を保守する参加者の分散型台帳ネットワーク内の少なくとも1人の他の参加者に、トランザクションを送信することと、データ提供者に、暗号化された測定データを取り出すための識別情報を送信することと、コンピューティングデバイスで、データ契約者から、暗号化された測定データの識別子を含む、暗号化された測定データの要求を受信することと、要求に応答して、暗号化された測定データをデータ契約者に送信することと、を含む、方法。
【0113】
9.トランザクションを生成することが、暗号化された測定データを記憶するコンピューティングデバイスの識別子と、暗号化された測定データを生成したデータ提供者の識別子と、暗号化された測定データを取り出すための識別子と、暗号化された測定データに対応する暗号ハッシュ値と、を含むトランザクションを生成することを含む、態様8に記載の方法。
【0114】
10.データ契約者が、暗号化された測定データを暗号ハッシュ値と比較して、暗号化された測定データの信頼性を検証する、態様8または態様9のいずれか1つに記載の方法。
【0115】
11.暗号化された測定データを取り出すための識別情報を送信することが、データ提供者に、暗号化された測定データを含む分散型台帳内のトランザクションに対応するトランザクション識別子を送信することを含む、態様8~10のいずれか1つに記載の方法。
【0116】
12.トランザクションを生成することが、トランザクションに基づいて暗号署名を生成することと、暗号署名でトランザクションを増強することと、を含む、態様8~11のいずれか1つに記載の方法。
【0117】
13.トランザクションをトランザクションのブロックに追加することと、トランザクションのブロックに基づいて暗号パズルを解くことと、暗号パズルの解をトランザクションのブロックに追加することと、トランザクションのブロックを、分散型台帳ネットワーク内の少なくとも1人の他の参加者へ送信することと、をさらに含む、態様8~12のいずれか1つに記載の方法。
【0118】
14.分散型台帳ネットワーク上の検証ネットワークノードであって、各々が測定データを生成および暗号化する1つ以上のデータ提供者と通信し、かつ分散型台帳データをピアネットワークノードと交換するように構成された送受信機であって、分散型台帳データが、暗号化された測定データのセットの記憶動作を表すトランザクションを含む、送受信機と、分散型台帳のコピーを記憶するように構成された記憶媒体と、ピアネットワークノードから受信した分散型台帳データに合意ルールのセットを適用するように構成された検証器であって、分散型台帳データが合意ルールを満たす場合に、ピアネットワークノードから受信した分散型台帳データを分散型台帳のコピーに付加するようにさらに構成されている、検証器と、を備える、検証ネットワークノード。
【0119】
15.ピアネットワークノードから受信した分散型台帳データが、暗号化された測定データのセットのうちの1つを記憶し、暗号化された測定データのセットの記憶動作を表すトランザクションのうちの1つを生成する記憶センターのアイデンティティ証明を含む、態様14に記載の検証ネットワークノード。
【0120】
16.ピアネットワークノードから受信した分散型台帳データを付加するために、検証器が、トランザクションのブロックに基づいて、暗号パズルを解くことと、暗号パズルの解をトランザクションのブロックに追加することと、トランザクションのブロックを分散型台帳のコピーに付加することと、トランザクションのブロックを、分散型台帳ネットワーク内のピアネットワークノードのうちの少なくとも1つに送信することと、を行うように構成されている、態様14または態様15のいずれか1つに記載の検証ネットワークノード。
【0121】
17.合意ルールのセットが、トランザクションまたはトランザクションのブロックのフォーマット要件、ピアネットワークノードのうちのどれが、分散型台帳に、次のトランザクションまたはトランザクションのブロックを追加するかを決定するためのメカニズム、またはトランザクションの各々に含まれる暗号化された測定データのセットをハッシュするための暗号ハッシュアルゴリズム、のうちの少なくとも1つを含む、態様14~16のいずれか1つに記載の検証ネットワークノード。
【0122】
18.各トランザクションが、暗号化された測定データのセットのための識別子と、暗号化された測定データのセットを記憶する記憶センターの識別子と、暗号化された測定データのセットを生成したデータ提供者の識別子と、暗号化された測定データのセットに対応する暗号ハッシュ値と、を含む、態様14~17のいずれか1つに記載の検証ネットワークノード。
【0123】
19.複数の参加者によって保守される分散型台帳を使用して測定データを記憶するためのシステムであって、プロセスプラント内に配設され、各々が工業プロセスを制御するための物理的機能を行う、1つ以上のデバイスと、プロセスプラント内で実行されるコンピューティングデバイスであって、1つ以上のプロセッサと、通信ユニットと、1つ以上のプロセッサおよび通信ユニットに連結され、かつ命令を記憶した、非一時的コンピュータ可読媒体と、を含む、コンピューティングデバイスと、を備え、命令が、1つ以上のプロセッサによって実行されると、コンピューティングデバイスに、プロセスプラント内のパラメータの測定値を1つ以上のデバイスから取得することと、測定値を暗号化することと、暗号化された測定値を、暗号化された測定値を記憶する記憶センターに送信することと、暗号化された測定値のために記憶センターによって行われた記憶動作を表すトランザクションを取り出すための識別情報を取得することであって、トランザクションは分散型台帳内に含まれる、取得することと、データ契約者から、測定値を取得するための要求を受信することと、データ契約者に、暗号化された測定値を記憶センターから取り出すための識別情報を送信することと、データ契約者に、暗号化された測定値を復号するための復号情報を送信することと、を行わせる、システム。
【0124】
20.データ契約者が、暗号化された測定値を取り出し、暗号化された測定値を、分散型台帳内に含まれる暗号化された測定値に対応する暗号ハッシュ値と比較して、暗号化された測定値の信頼性を検証する、態様19に記載のシステム。
【0125】
21.トランザクションが、暗号化された測定データを記憶する記憶センターの識別子と、暗号化された測定データを生成したコンピューティングデバイスの識別子と、暗号化された測定データを取り出すための識別子と、暗号化された測定データに対応する暗号ハッシュ値と、を含む、態様19または態様20のいずれか1つに記載の方法。
【0126】
22.トランザクションを取り出すための識別情報を送信するために、命令は、コンピューティングデバイスに、データ契約者に、暗号化された測定値を含む分散型台帳内のトランザクションに対応するトランザクション識別子を送信させる、態様19~21のいずれか1つに記載のシステム。
【0127】
23.暗号化された測定値を復号するための復号情報を送信するために、命令は、コンピューティングデバイスに、データ契約者に、暗号化された測定値を復号するためのワンタイム暗号鍵を送信させる、態様19~22のいずれか1つに記載のシステム。
【0128】
24.命令が、コンピューティングデバイスに、プロセスプラント内の複数のパラメータの複数の測定値を取得することと、複数の測定値の各々を暗号化することと、複数の暗号化された測定値を複数の記憶センターに送信することと、をさらに行わせる、態様19~23のいずれか1つに記載のシステム。
【0129】
25.データ契約者からの、複数の測定値のうちの少なくともいくつかを取得するための要求に応答して、命令は、コンピューティングデバイスに、データ契約者に、少なくともいくつかの測定値を記憶する複数の記憶センターのうちの少なくともいくつかの識別子を含むトランザクションを取り出すための識別情報をさらに送信させる、態様19~24のいずれか1つに記載のシステム。
【0130】
26.少なくともいくつかの測定値が、データセット内に含まれ、データセットのサブセットとして異なる記憶センター内に記憶されている、態様25に記載のシステム。
【0131】
27.安全に記憶された測定データを記憶センターおよび分散型台帳から取得するための方法であって、コンピューティングデバイスによって、データ提供者によって生成された測定データの要求を送信することと、データ提供者から、暗号化された測定データの表示を含む分散型台帳内のトランザクションに対応するトランザクション識別子を受信することを含む、暗号化された測定データを記憶する記憶センターから測定データの暗号化バージョンを取り出すための識別情報を受信することと、データ提供者から、暗号化された測定データを復号するための復号情報を受信することと、暗号化された測定データを記憶する記憶センターの識別子を含む、分散型台帳からトランザクション識別子に関連付けられたトランザクションデータを取得することと、識別された記憶センターに、暗号化された測定データの要求を送信することと、暗号化された測定データを記憶センターから受信することと、暗号化された測定データを分散型台帳内に含まれる暗号化された測定データの表示と比較することと、暗号化された測定データが分散型台帳内に含まれる暗号化された測定データの表示に対応すると決定することに応答して、測定データを取得するために復号情報を使用して暗号化された測定データを復号することと、を含む、方法。
【0132】
28.測定データが、測定データの複数のサブセットを有する測定データのセットであり、各サブセットは、異なる記憶センターに記憶されており、データ提供者から、暗号化された測定データの各サブセットの表示を含む、分散型台帳内のトランザクションに対応するトランザクション識別子を受信することを含む、複数の記憶センターから測定データの各サブセットの暗号化バージョンを取り出すための識別情報を受信することと、データ提供者から、暗号化された測定データの各サブセットを復号するための復号情報を受信することと、複数の記憶センターの各々に、暗号化された測定データの対応するサブセットの要求を送信することと、暗号化された測定データのサブセットを複数の記憶センターから受信することと、測定データのサブセットを取得するために、サブセットのための対応する復号情報を使用して、暗号化された測定データの各サブセットを復号することと、測定データのセットを生成するために、測定データの複数のサブセットを組み合わせることと、をさらに含む、態様27に記載の方法。
【0133】
29.トランザクションデータを取得することが、暗号化された測定データを記憶する記憶センターの識別子と、暗号化された測定データを生成したデータ提供者の識別子と、暗号化された測定データを取り出すための識別子と、暗号化された測定データに対応する暗号ハッシュ値と、を取得することを含む、態様27または態様28のいずれか1つに記載の方法。
【0134】
30.暗号化された測定データを分散型台帳内に含まれる暗号化された測定データの表示と比較することが、暗号化された測定データを暗号化された測定データに対応する暗号ハッシュ値と比較することを含む、態様27~29のいずれか1つに記載の方法。
【0135】
31.復号情報を受信することが、データ提供者から、暗号化された測定データを復号するためのワンタイム暗号鍵を受信することを含む、態様27~30のいずれか1つに記載の方法。
【0136】
ソフトウェアに実装される場合、本明細書に記載されるアプリケーション、サービス、およびエンジンはいずれも、コンピュータもしくはプロセッサのRAMもしくはROM等における磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリ記憶デバイス、または他の記憶媒体等の、任意の有形の非一時的コンピュータ可読メモリに記憶され得る。本明細書に開示される例示的システムは、他の構成要素の中でも、ハードウェア上で実行されるソフトウェアおよび/またはファームウェアを含むように開示されているが、そのようなシステムは単に例示的であるに過ぎず、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、およびファームウェア構成要素のうちのいずれかまたは全てが、ハードウェアにのみ、ソフトウェアにのみ、あるいはハードウェアおよびソフトウェアの任意の組み合わせで、埋め込まれ得ることが企図される。したがって、本明細書に記載される例示的なシステムは、1つ以上のコンピュータデバイスのプロセッサで実行されるソフトウェアで実装されるものとして記載されているが、提供される例がかかるシステムを実装する唯一の方法ではないことを当業者は容易に理解するであろう。
【0137】
したがって、本発明は具体的な例に関して記載されてきたが、これらの例は例解的であるに過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の趣旨および範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らかであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14