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

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

▶ 凸版印刷株式会社の特許一覧

<>
  • 特開-管理方法、及び管理システム 図1
  • 特開-管理方法、及び管理システム 図2
  • 特開-管理方法、及び管理システム 図3
  • 特開-管理方法、及び管理システム 図4
  • 特開-管理方法、及び管理システム 図5
  • 特開-管理方法、及び管理システム 図6
  • 特開-管理方法、及び管理システム 図7
  • 特開-管理方法、及び管理システム 図8
  • 特開-管理方法、及び管理システム 図9
  • 特開-管理方法、及び管理システム 図10
  • 特開-管理方法、及び管理システム 図11
  • 特開-管理方法、及び管理システム 図12
  • 特開-管理方法、及び管理システム 図13
  • 特開-管理方法、及び管理システム 図14
  • 特開-管理方法、及び管理システム 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024004707
(43)【公開日】2024-01-17
(54)【発明の名称】管理方法、及び管理システム
(51)【国際特許分類】
   G06F 21/64 20130101AFI20240110BHJP
   G06Q 50/04 20120101ALI20240110BHJP
【FI】
G06F21/64
G06Q50/04
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022104465
(22)【出願日】2022-06-29
(71)【出願人】
【識別番号】000003193
【氏名又は名称】TOPPANホールディングス株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100139686
【弁理士】
【氏名又は名称】鈴木 史朗
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100147267
【弁理士】
【氏名又は名称】大槻 真紀子
(72)【発明者】
【氏名】林部 暁
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC03
(57)【要約】
【課題】製造データが改ざんされたことを検知する。
【解決手段】第1装置は、製造の指示を示す製造指示値を第2装置に通知すると共に、通知した前記製造指示値を前記第1装置の記憶部に記憶させる製造制御部と、第1ハッシュ値を前記第2装置から読出し、読出した前記第1ハッシュ値及び前記記憶部に記憶された前記製造指示値を含む元データのハッシュ値である第2ハッシュ値を算出し、確認元ハッシュ値を読出し、前記第2ハッシュ値と前記確認元ハッシュ値を突合させることによって前記第1装置の前記記憶部に記憶された前記製造指示値が改ざんされたか否かを判定する改ざん検知部と、を有し、前記第1ハッシュ値は、前記第2装置が前記第1装置から通知された前記製造指示値がトランザクションデータに含まれるブロックチェーンのブロックを生成する際に算出した前段ブロックのハッシュ値であり、前記確認元ハッシュ値は、前記ブロックのハッシュ値である。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1装置と、前記第1装置に通信可能に接続される第2装置とを備え、製造工程を管理する管理システムが行う管理方法であって、
前記第1装置は、製造の指示を示す製造指示値を前記第2装置に通知すると共に、通知した前記製造指示値を前記第1装置の記憶部に記憶させ、
前記第2装置は、前記第1装置から通知された前記製造指示値がトランザクションデータに含まれるブロックチェーンのブロックを生成し、生成した前記ブロックを記憶させ、
前記第1装置は、前記ブロックが生成される際に算出された前段ブロックのハッシュ値である第1ハッシュ値を前記第2装置から読出し、読出した前記第1ハッシュ値及び前記第1装置の前記記憶部に記憶された前記製造指示値を含む元データのハッシュ値である第2ハッシュ値を算出し、前記ブロックのハッシュ値である確認元ハッシュ値を読出し、前記第2ハッシュ値と前記確認元ハッシュ値を突合させることによって前記第1装置の前記記憶部に記憶された前記製造指示値が改ざんされたか否かを判定する、
管理方法。
【請求項2】
前記第1装置は、製造の実績を示す製造実績値を前記第2装置に通知すると共に、通知した前記製造実績値を前記記憶部に記憶させ、
前記第2装置は、前記第1装置から通知された前記製造実績値、及び前記製造指示値をトランザクションデータに含む前記ブロックを生成し、
前記第1装置は、前記第1ハッシュ値、前記記憶部に記憶された前記製造実績値、及び前記製造指示値を含む元データのハッシュ値を、前記第2ハッシュ値として算出し、前記第2ハッシュ値と前記確認元ハッシュ値を突合させることによって、前記記憶部に記憶された前記製造実績値、及び前記製造指示値の少なくとも一方が改ざんされたか否かを判定する、
請求項1に記載の管理方法。
【請求項3】
前記第1装置は、
前記製造工程に設けられた制御端末であり、
前記第1装置と通信する通信装置の識別情報を予め記憶し、
外部装置から情報を受信した場合、前記外部装置が前記通信装置であるか否かを、前記識別情報に基づいて判定し、
前記外部装置が前記通信装置ではないと判定する場合、前記記憶部に記憶された前記製造指示値が改ざんされたか否かを判定する、
請求項1又は請求項2に記載の管理方法。
【請求項4】
前記第2装置は、
前記製造工程に設けられた制御端末であり、
前記製造指示値を前記第1装置に通知すると共に、通知した前記製造指示値を前記第2装置の記憶部に記憶させ、
前記第1装置は、
前記第2装置から通知された前記製造指示値がトランザクションデータに含まれるブロックチェーンのブロックを生成し、生成した前記ブロックを記憶させ、
前記外部装置が前記通信装置ではないと判定する場合、前記ブロックが生成される際に算出された前段ブロックのハッシュ値である第3ハッシュ値を前記第1装置に送信して前記第2装置に前記第3ハッシュ値及び前記第2装置の前記記憶部に記憶された前記製造指示値を含む元データのハッシュ値である第4ハッシュ値を算出させ、前記第2装置に算出させた前記第4ハッシュ値を前記第1装置に通知させ、前記ブロックのハッシュ値である確認元ハッシュ値と前記第4ハッシュ値を突合させることによって、前記第2装置の前記記憶部に記憶された前記製造指示値が改ざんされたか否かを判定する、
請求項3に記載の管理方法。
【請求項5】
前記第1装置は、前記製造工程に設けられた制御端末であり、
前記第2装置は、前記制御端末を管理する管理サーバまたは前記制御端末である、
請求項1又は請求項2に記載の管理方法。
【請求項6】
第1装置と、前記第1装置に通信可能に接続される第2装置とを備え、製造工程を管理する管理システムであって、
前記第1装置は、
製造の指示を示す製造指示値を前記第2装置に通知すると共に、通知した前記製造指示値を前記第1装置の記憶部に記憶させる製造制御部と、
第1ハッシュ値を前記第2装置から読出し、読出した前記第1ハッシュ値及び前記第1装置の前記記憶部に記憶された前記製造指示値を含む元データのハッシュ値である第2ハッシュ値を算出し、確認元ハッシュ値を読出し、前記第2ハッシュ値と前記確認元ハッシュ値を突合させることによって前記第1装置の前記記憶部に記憶された前記製造指示値が改ざんされたか否かを判定する改ざん検知部と、
を有し、
前記第1ハッシュ値は、前記第2装置が前記第1装置から通知された前記製造指示値がトランザクションデータに含まれるブロックチェーンのブロックを生成する際に算出した前段ブロックのハッシュ値であり、
前記確認元ハッシュ値は、前記ブロックのハッシュ値であり、
前記第2装置は、
前記ブロックを生成し、生成した前記ブロックを製造データベースに記憶させる管理部を有する、
管理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理方法、及び管理システムに関する。
【背景技術】
【0002】
製造工程を管理する管理システムがある。例えば、特許文献1には、工場製造ラインの稼働を停止することなく、生産ログの異常の有無を検知する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2021-131881号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ランサムウェアのようなサイバー攻撃により各社が被害を受ける可能性が高まっている。例えば、製造会社が外部からの攻撃を受けて製造データが改ざんされてしまうと、不良品が市場に出荷されるような大きな事故に繋がる可能性がある。
【0005】
上述の課題を鑑み、本発明は、製造データが改ざんされたことを検知することができる管理方法、及び管理システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様にかかる管理方法は、第1装置と、前記第1装置に通信可能に接続される第2装置とを備え、製造工程を管理する管理システムが行う管理方法であって、前記第1装置は、製造の指示を示す製造指示値を前記第2装置に通知すると共に、通知した前記製造指示値を前記第1装置の記憶部に記憶させ、前記第2装置は、前記第1装置から通知された前記製造指示値がトランザクションデータに含まれるブロックチェーンのブロックを生成し、生成した前記ブロックを記憶させ、前記第1装置は、前記ブロックが生成される際に算出された前段ブロックのハッシュ値である第1ハッシュ値を前記第2装置から読出し、読出した前記第1ハッシュ値及び前記記憶部に記憶された前記製造指示値を含む元データのハッシュ値である第2ハッシュ値を算出し、前記ブロックのハッシュ値である確認元ハッシュ値を読出し、前記第2ハッシュ値と前記確認元ハッシュ値を突合させることによって前記第1装置の前記記憶部に記憶された前記製造指示値が改ざんされたか否かを判定する。
【0007】
本発明の一態様にかかる管理システムは、第1装置と、前記第1装置に通信可能に接続される第2装置とを備え、製造工程を管理する管理システムであって、前記第1装置は、製造の指示を示す製造指示値を前記第2装置に通知すると共に、通知した前記製造指示値を前記第1装置の記憶部に記憶させる製造制御部と、第1ハッシュ値を前記第2装置から読出し、読出した前記第1ハッシュ値及び前記記憶部に記憶された前記製造指示値を含む元データのハッシュ値である第2ハッシュ値を算出し、確認元ハッシュ値を読出し、前記第2ハッシュ値と前記確認元ハッシュ値を突合させることによって前記第1装置の前記記憶部に記憶された前記製造指示値が改ざんされたか否かを判定する改ざん検知部と、を有し、前記第1ハッシュ値は、前記第2装置が前記第1装置から通知された前記製造指示値がトランザクションデータに含まれるブロックチェーンのブロックを生成する際に算出した前段ブロックのハッシュ値であり、前記確認元ハッシュ値は、前記ブロックのハッシュ値であり、前記第2装置は、前記ブロックを生成し、生成した前記ブロックを製造データベースに記憶させる管理部を有する。
【発明の効果】
【0008】
本発明によれば、製造データが改ざんされたことを検知することができる。
【図面の簡単な説明】
【0009】
図1】第1実施形態にかかる管理システム1の構成を示す概略構成図である。
図2】第1実施形態にかかる管理システム1が行う処理を説明する図である。
図3】第1実施形態にかかる管理サーバ10の構成を示すブロック図である。
図4】第1実施形態にかかる指令情報120の例を示す図である。
図5】第1実施形態にかかる実績情報121の例を示す図である。
図6】第1実施形態にかかる管理情報122の例を示す図である。
図7】第1実施形態にかかる製造端末40の構成を示すブロック図である。
図8】第1実施形態にかかる管理システム1が行う処理の流れを示すシーケンス図である。
図9】第1実施形態にかかる管理システム1が行う処理の流れを示すシーケンス図である。
図10】第1実施形態の変形例にかかる管理システム1が行う処理の流れを示すシーケンス図である。
図11】第2実施形態にかかる管理システム1の構成を示す概略構成図である。
図12】第2実施形態にかかる管理システム1が行う処理を説明する図である。
図13】第2実施形態にかかる管理システム1が行う処理の流れを示すシーケンス図である。
図14】第2実施形態にかかる管理システム1が行う処理の流れを示すシーケンス図である。
図15】第2実施形態の変形例にかかる管理システム1が行う処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について図面を参照しながら説明する。
まず、第1実施形態について説明する。
図1は、第1実施形態にかかる管理システム1の構成を示す図である。管理システム1はブロックチェーンを活用して製造を管理するシステムである。図1に示すように、管理システム1は、管理サーバ10と、製造DB20と、製造指示サーバ30と、製造端末40と、データ収集AP50とを備える。管理サーバ10と、製造DB20と、データ収集AP50とは、通信ネットワークNWを介して通信可能に接続される。
【0011】
管理サーバ10は、製造データを管理するコンピュータである。製造データは、製造指示値S、及び製造実績値Dを含む。製造指示値Sは、製造の指示を示す情報であり、例えば、製造工程において製造する予定である製品の台数、製造工程において製品に製造ロボットがねじ止め等工具を用いた加工を行う場合にはそのねじ止めの強度範囲を示すトルク値の上限値及び下限値などを示す情報である。製造実績値Dは、製造の実績を示す情報であり、製造工程において製造した製品の台数、製造工程において製品にねじ止め等工具を用いた加工を行った場合にはそのねじ止めを行った際のトルク値などを示す情報である。
【0012】
管理サーバ10は、製造実績値D及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBCのブロックを生成する。管理サーバ10は、定期的にブロックを生成する。管理サーバ10は、前段のブロックのハッシュ値を次のブロックに含むブロックを生成することにより、ブロックをチェーン状につないでブロックチェーンBCのブロックを生成する。管理サーバ10は、生成したブロックチェーンBCを製造DB20に記憶させる。
【0013】
製造DB20は、製造データを記憶するデータベースである。製造DB20は、管理サーバ10から通知されたブロックチェーンBCを記憶させる。
【0014】
製造指示サーバ30は、製造を指示するコンピュータである。製造指示サーバ30は、通信ネットワークNWに接続されない、いわゆるローカルPCである。製造指示サーバ30は、製造指示値Sを記憶する。すなわち、製造指示値Sは、ランサムウェアのようなサイバー攻撃を受け難い環境にて製造指示サーバ30に記憶されている。製造指示値Sは、例えば、製造を管理する管理者などによって入力されてもよい。管理者などによって製造指示値Sが入力された場合、製造指示サーバ30は入力された製造指示値Sを、製造指示サーバ30の記憶部(不図示)に記憶させると共に、製造指示値Sを管理サーバ10に通知する。製造指示サーバ30は、製造指示値Sを製造端末40に送信することによって、製造を指示する。
【0015】
製造端末40は、製造を制御するコンピュータである。製造端末40は、例えば、製造ラインなどに設けられる。製造端末40は、製造指示サーバ30から通知された製造指示値Sを指令情報420として、記憶部42(図7参照)に記憶させる。
【0016】
製造端末40は、製造に用いられる機器類、例えば、製造ロボット、及び電子工具などに製造指示値Sを通知する。製造ロボット、及び電子工具などが製造指示値Sに応じて製品を製造する。その後、検査装置などが製造された製品を検査し、検査した結果を製造実績値Dとして取得する。製造端末40は、定期的な時刻、例えば、時刻T1、T2、T3に対応する製造実績値D1、D2、D3をデータ収集AP50に送信する。
【0017】
例えば、製造端末40は、LPWA(Low Power Wide Area)の無線通信技術を用いて、定期的に、製造実績値Dをデータ収集AP50に送信する。なお、LPWAの無線通信技術としては、例えば、Sigfox(登録商標)やLoRa(登録商標)、ZETA(登録商標)などを用いることができる。
【0018】
また、製造端末40は、データ収集AP50に送信した製造実績値Dを、実績情報421として、記憶部42に記憶させる。
【0019】
データ収集AP50は、製造端末40と管理サーバ10とを中継する中継器である。例えば、製造端末40は、LPWAの中継器として機能するアクセスポイントである。データ収集AP50は、製造端末40から通知された製造実績値Dを、管理サーバ10に送信することによって中継を行う。
【0020】
なお、製造ラインにおいて複数の製造工程を有する場合には、複数の製造工程のそれぞれに対応する複数の製造端末40が設けられていてもよい。この場合、製造指示サーバ30は、複数の製造端末40の各々に、各々の工程に対応する製造指示値Sを通知する。複数の製造端末40の各々は、各々の工程に対応する製造実績値Dをデータ収集AP50に通知する。
【0021】
また、1つの製造端末40が複数の製造工程を制御するように構成されてもよい。この場合、製造指示サーバ30は、製造端末40の各々に、複数の工程に対応する製造指示値Sを通知する。複数の製造端末40の各々は、複数の工程における製造実績をまとめた製造実績値Dをデータ収集AP50に通知する。
【0022】
上述したように、本実施形態では、ブロックチェーンを活用して製造データが管理される。ブロックチェーンでは、各ブロックに前段ブロックのハッシュ値を含めることにより、トランザクションデータが改ざんされた場合にはハッシュ値が異なる値となることにより改ざんを検知することができる。改ざんが検知されないようにするには、改ざんしたトランザクションデータを含むブロック以降に繋がる全てのブロックのハッシュ値を書き換える必要がある。このため、ブロックチェーンで管理されているデータを、その改ざんが検知されないように改ざんすることは現実的ではない。
【0023】
しかしながら、本実施形態において、製造端末40がランサムウェアのようなサイバー攻撃を受ける可能性がある。例えば、製造端末40に記憶された指令情報420が改ざんされ、誤った指示に従った不正な製品が生産されてしまう可能性がある。また、製造端末40に記憶された実績情報421が改ざんされて不良品が良品のように見せかけられ、不良品が市場に出荷されてしまう可能性がある。サイバー攻撃には、一見正しい情報であるが、時間が経過すると不正な情報に書き換えられるように仕組まれているなど、巧妙な攻撃が行われる場合もあり得る。管理サーバ10によるブロックチェーンを活用した製造データ管理では、このような巧妙な攻撃に対応することが難しい。
【0024】
この対策として、本実施形態では、製造端末40が、管理サーバ10が生成したブロックチェーンBCを利用して、製造端末40に記憶された製造データが改ざんされたか否かを検知するようにした。
【0025】
図2を用いて、製造端末40が、製造端末40に記憶された製造データが改ざんされたか否かを検知する方法を説明する。
【0026】
図2の上段には、管理サーバ10がブロックチェーンBCを生成する処理が示されている。
【0027】
管理サーバ10は、時刻T1に対応するデータ群、ハッシュ値H0、製造指示値S1、及び製造実績値D1を取得する。ハッシュ値H0は前段ブロックのハッシュ値である。製造指示値S1は時刻T1における製造指示値である。製造実績値D1は時刻T1における製造実績値である。管理サーバ10は、製造指示値S1及び製造実績値D1をトランザクションデータとして、前段ブロックのハッシュ値であるハッシュ値H1を含むブロックB1を生成する。生成されたブロックB1は、ブロックデータとして製造DB20に保存される。
【0028】
管理サーバ10は、時刻T2に対応するデータ群、ハッシュ値H1、製造指示値S2、及び製造実績値D2を取得する。ハッシュ値H1は前段ブロックであるブロックB1のハッシュ値である。製造指示値S2は時刻T2における製造指示値である。製造実績値D2は時刻T2における製造実績値である。管理サーバ10は、製造指示値S2及び製造実績値D2をトランザクションデータとして、前段ブロックのハッシュ値であるハッシュ値H1を含むブロックB2を生成する。生成されたブロックB2は、ブロックデータとして製造DB20に保存される。
【0029】
時刻T3についても同様に、管理サーバ10は、時刻T3対応するデータ群、ハッシュ値H2、製造指示値S3、及び製造実績値D3を取得する。ハッシュ値H2は前段ブロックであるブロックB2のハッシュ値である。製造指示値S3は時刻T3における製造指示値である。製造実績値D3は時刻T3における製造実績値である。管理サーバ10は、製造指示値S3及び製造実績値D3をトランザクションデータとして、前段ブロックのハッシュ値であるハッシュ値H2を含むブロックB3を生成する。生成されたブロックB3は、ブロックデータとして製造DB20に保存される。
【0030】
図2の下段には、製造端末40が改ざんの有無を検知する処理が示されている。
【0031】
まず、製造端末40は、外部からハッシュ値H1を読出す。ハッシュ値H1は、ブロックB2を生成する際に管理サーバ10により算出された前段ブロック(ブロックB1)のハッシュ値である。製造端末40は、例えば、データ収集AP50を介して製造DB20を参照することにより、製造DB20に記憶されたブロックチェーンBCに含まれるハッシュ値H1を読出す。或いは、製造端末40は、データ収集AP50を介して管理サーバ10にハッシュ値H1を通知するように要求することにより、ハッシュ値H1を読出すようにしてもよい。
【0032】
次に、製造端末40は、製造指示値S2#及び製造実績値D2#を読出す。
【0033】
製造指示値S2#は、時刻T2に対応する、製造端末40に記憶された製造指示値Sである。製造端末40に記憶された製造指示値Sが改ざんされていない場合、製造指示値S2#は、製造指示サーバ30から通知された製造指示値Sと同値である。一方、製造端末40に記憶された製造指示値Sが改ざんされた場合、製造指示値S2#は、製造指示サーバ30から通知された製造指示値Sと異なる値である。
【0034】
製造実績値D2#は、時刻T2に対応する製造実績値であり、製造実績値D2をデータ収集AP50に通知した時に実績情報421として記憶部42に記憶させた情報である。記憶部42に記憶した時点において、製造実績値D2#は、製造実績値D2と同値である。その後、製造実績値D2が改ざんされた場合、製造実績値D2#は、製造実績値D2と異なる値である。
【0035】
次に、製造端末40は、ハッシュ値H2#を算出する。ハッシュ値H2#は、ハッシュ値H1、製造指示値S2#、及び製造実績値D2#を元データとする、元データのハッシュ値である。
【0036】
次に、製造端末40は、ハッシュ値H2を読出す。ハッシュ値H2は、ブロックB3を生成する際に管理サーバ10により算出された前段ブロック(ブロックB2)のハッシュ値である。製造端末40は、例えば、データ収集AP50を介して製造DB20を参照することにより、製造DB20に記憶されたブロックチェーンBCに含まれるハッシュ値H2を読出す。或いは、製造端末40は、データ収集AP50を介して管理サーバ10にハッシュ値H2を通知するように要求することにより、ハッシュ値H2を読出すようにしてもよい。
【0037】
そして、製造端末40は、突合処理を行う。突合処理は、ハッシュ値H2#と、ハッシュ値H2とを突合させる処理である。製造端末40は、突合処理をした結果、ハッシュ値H2#が、ハッシュ値H2と同じ値であると判定した場合、製造端末40に記憶されている製造指示値Sが改ざんされておらず、且つ、製造端末40に記憶されている時刻T2に対応する製造実績値D2が改ざんされていないと判定する。
【0038】
一方、製造端末40は、突合処理をした結果、ハッシュ値H2#が、ハッシュ値H2と異なる値であると判定した場合、製造端末40に記憶されている製造指示値Sが改ざんされているか、或いは、製造端末40に記憶されている時刻T2に対応する製造実績値D2が改ざんされていると判定する。すなわち、製造端末40は、突合処理をした結果に基づいて、記憶部42に記憶された製造実績値D2、及び製造指示値Sの少なくとも一方が改ざんされたか否かを判定する。
【0039】
以上説明したように、本実施形態では、製造端末40が、ブロックチェーンBCのハッシュ値を利用して、製造端末40に記憶された製造データが改ざんされたか否かを検知する。突合処理に、ブロックを生成する際に算出されたハッシュ値Hを用いることができるため、ハッシュ値H1及びH2を算出する処理が不要となる。また、ハッシュ値を用いて改ざんの有無を検知することができるため、製造データそのものを突合させる場合よりも少ない量のデータを突合させればよく、突合処理に要する処理負担を軽減させることが可能となる。
【0040】
図3は、第1実施形態にかかる管理サーバ10の構成を示すブロック図である。管理サーバ10は、例えば、通信部11と、記憶部12と、制御部13を備える。通信部11は、製造DB20、製造指示サーバ30、及びデータ収集AP50と通信を行う。記憶部12は、例えば、指令情報120、実績情報121、及び管理情報122を記憶する。
【0041】
図4は、第1実施形態にかかる指令情報120の例を示す図である。指令情報120は、製造指示値に関する情報である。指令情報120は、例えば、製品における指示ごとに生成される。指令情報120は、例えば、日時と製造指示値などの項目に対応する情報により構成される。日時は製造指示値に対応する日時を示す情報である。製造指示値は、製造の指示を示す情報である。
【0042】
図5は、第1実施形態にかかる実績情報121の例を示す図である。実績情報121は、製造実績値に関する情報である。実績情報121は、例えば、製造端末40から通知された製造実績値Dごとに生成される。実績情報121は、例えば、時刻と製造実績値などの項目に対応する情報により構成される。時刻は製造実績値に対応する時刻を示す情報である。製造実績値は、製造端末40から通知された時刻Tに対応する製造実績値Dを示す情報である。
【0043】
図6は、第1実施形態にかかる管理情報122の例を示す図である。管理情報122は、製造データとして管理するブロックチェーンBCに関する情報である。管理情報122は、例えば、製造端末40から通知された製造実績値Dごとに生成される。管理情報122は、例えば、時刻と、製造指示値と、製造実績値と、前段のハッシュ値と、ブロックデータなどの項目に対応する情報により構成される。時刻は製造実績値に対応する時刻を示す情報である。製造指示値は、時刻Tに対応する製造指示値Sを示す情報である。製造実績値は、製造端末40から通知された時刻Tに対応する製造実績値Dを示す情報である。前段のハッシュ値は、ブロックチェーンBCにおいて前段ブロックのハッシュ値である。ブロックデータは、時刻Tに対応する製造指示値S及び製造実績値Dをトランザクションデータとして含むブロックのデータである。
【0044】
記憶部12は、HDD(Hard Disk Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、RAM(Random Access read / write Memory)、ROM(Read Only Memory)などの記憶媒体、あるいはこれらの組合せである。記憶部12は、管理サーバ10の各種処理を実行するためのプログラム、及び各種処理を行う際に利用される一時的なデータを記憶する。
【0045】
図3に戻り、制御部13は、例えば、取得部130と、管理部131を備える。制御部13が備えるこれらの機能部、すなわち、取得部130、及び管理部131のそれぞれは、管理サーバ10がハードウェアとして備えるCPU(Central Processing Unit)にプログラムを実行させることによって実現される。
【0046】
取得部130は、各種の情報を取得する。例えば、取得部130は、製造端末40から通知される製造実績値Dを、データ収集AP50及び通信部11を介して取得する。
【0047】
管理部131は、製造データをトランザクションデータとして含むブロックチェーンのブロックを生成する。管理部131は、製造端末40から製造実績値Dが通知される度に、通知された時刻Tに対応させて、時刻Tに通知された製造実績値D及び、その時刻Tに対応する製造指示値Sをトランザクションデータとして含むブロックチェーンのブロックを生成する。管理部131は、ブロックを生成する際に、前段のブロックのハッシュ値を次のブロックに含めることにより、ブロックをチェーン状につないだブロックチェーンBCを生成する。管理サーバ10は、生成したブロックに関する情報を管理情報122として記憶させる。また、管理部131は、生成したブロックを製造DB20に記憶させる。
【0048】
図7は、第1実施形態にかかる製造端末40の構成を示すブロック図である。製造端末40は、例えば、通信部41と、記憶部42と、制御部43とを備える。通信部41は、製造指示サーバ30及びデータ収集AP50と通信を行う。
【0049】
記憶部42は、指令情報420、及び実績情報421を記憶する。指令情報420は、指令情報120と同じである。実績情報421は、実績情報121と同じである。このため、指令情報420及び実績情報421の説明を省略する。
【0050】
なお、複数の製造端末40のそれぞれが分担して製造を制御するように構成された場合、製造端末40のそれぞれは、自身が担当する製造工程における製造指示値及び製造実績値を記憶する。この場合、製造端末40のそれぞれが記憶する指令情報420は、指令情報120の一部である。また、製造端末40のそれぞれが記憶する実績情報421は、実績情報121の一部である。
【0051】
記憶部42は、HDD、フラッシュメモリ、EEPROM、RAM、ROMなどの記憶媒体、あるいはこれらの組合せである。記憶部42は、製造端末40の各種処理を実行するためのプログラム、及び各種処理を行う際に利用される一時的なデータを記憶する。
【0052】
制御部43は、例えば、取得部430と、製造制御部431と、改ざん検知部432とを備える。制御部43が備えるこれらの機能部、すなわち、取得部430、製造制御部431、及び改ざん検知部432のそれぞれは、製造端末40がハードウェアとして備えるCPUにプログラムを実行させることによって実現される。
【0053】
取得部430は、各種の情報を取得する。例えば、取得部430は、製造指示サーバ30から通知される製造指示値Sを、通信部41を介して取得する。取得部430は、取得した製造指示値Sを製造制御部431に出力する。
【0054】
また、取得部430は、管理サーバ10又は製造DB20から読出したハッシュ値を、通信部41を介して取得する。取得部430は、取得したハッシュ値を改ざん検知部432に出力する。
【0055】
製造制御部431は、製造指示値Sを用いて、製造ラインにおける製造を制御する。例えば、製造制御部431は、製造ラインにおいて製品を製造する製造ロボット、及び電子工具などに製造指示値Sを通知することにより、製造ラインにおいて製品を製造する。その後、製造制御部431は、製造ラインにおいて製造された製品を検査する検査装置などが検査した結果を製造実績値Dとして取得する。製造制御部431は、時刻T1、T2、T3に対応する製造実績値D1、D2、D3を、通信部41を介してデータ収集AP50に送信する。
【0056】
改ざん検知部432は、記憶部42に記憶された製造データ(指令情報420及び実績情報421)が改ざんされたか否かを検知する。改ざん検知部432は、図2を用いて説明した突合処理を行うことにより改ざんの有無を検知する。改ざん検知部432は、突合処理をした結果、図2におけるハッシュ値H2#が、ハッシュ値H2と同じ値であると判定した場合、製造端末40に記憶されている製造指示値S(指令情報420)が改ざんされておらず、且つ、製造端末40に記憶されている時刻T2に対応する製造実績値D2(実績情報421)が改ざんされていないと判定する。一方、改ざん検知部432は、突合処理をした結果、ハッシュ値H2#が、ハッシュ値H2と異なる値であると判定した場合、製造端末40に記憶されている製造指示値S(指令情報420)が改ざんされているか、或いは、製造端末40に記憶されている時刻T2に対応する製造実績値D2(実績情報421)が改ざんされていると判定する。
【0057】
図8及び図9は、第1実施形態にかかる管理システム1が行う処理の流れを示すシーケンス図である。
【0058】
図8には、ブロックチェーンBCを生成する処理の流れが示されている。まず、製造指示サーバ30が、製造指示値Sを、管理サーバ10及び製造端末40に送信する(ステップST10)。製造端末40は、製造指示値Sに応じて製造ラインにおける製品の製造を制御する(ステップST11)。例えば、製造端末40は、タイマを開始し(ステップST12)、所定時間、例えば、時刻T1からT2までの時間が経過した場合(ステップST13,YES)、製造実績値Dをデータ収集AP50に報告する(ステップST14)。データ収集AP50は製造端末40から通知された製造実績値Dを管理サーバ10に送信する。管理サーバ10は、製造端末40から通知された製造実績値D及び、ステップST10で通知された製造指示値Sをトランザクションデータとして含むブロックチェーンのブロックデータを生成する(ステップST15)。管理サーバ10は生成したブロックチェーンのブロックBを製造DB20に送信する。製造DB20は、管理サーバ10から通知されたブロックデータを記憶させる(ステップST16)。
【0059】
図9には、改ざんを検知する処理の流れが示されている。まず、製造端末40は、ハッシュ値H1を読出す(ステップST100)。ハッシュ値H1は、改ざんを検知する対象のブロック(例えば、図2のブロックB2)を生成する際に管理サーバ10により算出された、前段ブロック(例えば、図2のブロックB1)のハッシュ値である。製造端末40は、製造DB20に記憶されたブロックチェーンBCに含まれるハッシュ値H1を読出す。或いは、製造端末40は、データ収集AP50を介して管理サーバ10にハッシュ値H1を通知するように要求することにより、ハッシュ値H1を読出すようにしてもよい。
【0060】
製造端末40は、実績情報421を参照し、時刻T2に対応する製造実績値D2#を読出す(ステップST101)。ここでの時刻T2は改ざんを検知する対象の時刻である。製造端末40は、指令情報420を参照し、製造指示値Sを、時刻T2に対応する製造指示値S2#として読出す(ステップST102)。製造端末40は、ハッシュ値H2#を算出する。ハッシュ値H2#は、ハッシュ値H1、製造指示値S2#、及び製造実績値D2#を元データとする、元データのハッシュ値である。
【0061】
製造端末40は、ハッシュ値H2を読出す(ステップST104)。ハッシュ値H2は、改ざんを検知する対象のブロック(例えば、図2のブロックB2)の次のブロック(例えば、図2のブロックB3)を生成する際に管理サーバ10により算出された、前段ブロックである改ざんを検知する対象のブロック(例えば、図2のブロックB2)のハッシュ値である。製造端末40は、製造DB20に記憶されたブロックチェーンBCに含まれるハッシュ値H2を読出す。或いは、製造端末40は、データ収集AP50を介して管理サーバ10にハッシュ値H2を通知するように要求することにより、ハッシュ値H2を読出すようにしてもよい。
【0062】
製造端末40は、ハッシュ値H2と、ハッシュ値H2#を突合させることにより、製造実績値D2#、及び製造指示値S2#の少なくとも一方が改ざんされたか否かを判定する(ステップST105)。
【0063】
なお、上記では、製造指示値Sと製造実績値Dをトランザクションデータとして含むブロックチェーンのブロックを生成する場合を例示して説明した。しかしながら、これに限定されることはない。
【0064】
例えば、製造実績値Dのみをトランザクションデータとして含むブロックチェーンのブロックを生成するようにしてもよい。この場合、突合処理により、突合の対象としたハッシュ値が一致しない場合、製造実績値D2#が改ざんされたと判定される。これにより、製造端末40が攻撃されるなどして、製造端末40に記憶された製造実績値Dが、ある時刻以降に改ざんされたことを検知することができる。したがって、その時刻以降に製造された製品を対象として、再度の検査をするなどの対応をとることが可能となる。
【0065】
或いは、製造指示値Sのみをトランザクションデータとして含むブロックチェーンのブロックを生成するようにしてもよい。この場合、突合処理により、突合の対象としたハッシュ値が一致しない場合、製造指示値S2#が改ざんされたと判定される。これにより、製造端末40が攻撃されるなどして、製造端末40に記憶された製造指示値Sが、ある時刻以降に改ざんされたことを検知することができ、その時刻以降に製造された製品を出荷対象から削除するなどの対応をとることが可能となる。なお、製造指示値Sのみをトランザクションデータとして含むブロックチェーンのブロックを生成する場合、製造端末40は、図8のステップST14において製造実績値Dと共に製造指示値Sをデータ収集AP50に報告するようにしてもよいし、製造指示値Sのみをデータ収集AP50に報告するようにしてもよい。
【0066】
以上説明したように、第1実施形態の管理システム1は、管理サーバ10(第2装置の一例)と製造端末40(第1装置の一例)とを備える。製造端末40は、製造指示値Sを管理サーバ10に通知すると共に、通知した製造指示値Sを記憶部42に記憶させる。管理サーバ10は、製造端末40から通知された製造指示値Sをトランザクションデータに含むブロックチェーンのブロックBを生成し、生成したブロックを製造DB20に記憶させる。製造端末40は、ハッシュ値H1を製造DB20から読出し、ハッシュ値H2#を算出する。ハッシュ値H1は、改ざん検知の対象としたブロックB2を生成する際に算出した前段のブロックB1のハッシュ値であり、「第1ハッシュ値」の一例である。ハッシュ値H2#は、ハッシュ値H1及び製造指示値S2#を元データとする、元データのハッシュ値である。ハッシュ値H2#は、「第2ハッシュ値」の一例である。製造端末40は、ハッシュ値H2を製造DB20から読出す。ハッシュ値H2は、ブロックB2のハッシュ値であり、「確認元ハッシュ値」の一例である。製造端末40は、ハッシュ値H2#とハッシュ値H2を突合させることによって、記憶部42に記憶された製造指示値Sが改ざんされたか否かを判定する。
【0067】
これにより、第1実施形態の管理システム1では、製造データが改ざんされたことを検知することができる。しかも、突合処理に、ブロックを生成する際に算出されたハッシュ値Hを用いることができるため、ハッシュ値H1及びH2を算出する処理が不要となる。また、ハッシュ値を用いて改ざんの有無を検知することができるため、製造データそのものを突合させる場合よりも少ない量のデータを突合させればよく、突合処理に要する処理負担を軽減させることが可能となる。
【0068】
また、第1実施形態の管理システム1では、製造実績値Dをトランザクションデータに含むブロックを生成するようにしてもよい。この場合、製造端末40は、突合処理により、記憶部42に記憶された製造実績値D及び製造指示値Sのうち少なくとも一方が改ざんされたか否かを判定する。これにより、第1実施形態の管理システム1では、上述した第1実施形態と同様の効果を奏することができる。
【0069】
(第1実施形態の変形例)
ここで、第1実施形態の変形例について説明する。本変形例では、管理サーバ10が改ざん検知を行う点において上述した実施形態と相違する。本変形例では、製造端末40において改ざん検知部432を省略することが可能である。
【0070】
図10は、第1実施形態の変形例にかかる管理システム1が行う処理の流れを示すシーケンス図である。まず、管理サーバ10は、ハッシュ値H1と時刻情報を製造端末40に通知する(ステップST200)。時刻情報は、改ざん検知の対象とする時刻(例えば、時刻T2)を示す情報である。製造端末40は、実績情報421を参照し、改ざん検知の対象とする時刻(例えば、時刻T2)に対応する製造実績値D#(例えば、製造実績値D2#)を読出す(ステップST201)。また、製造端末40は、指令情報420を参照し、製造指示値Sを、改ざん検知の対象とする時刻(例えば、時刻T2)に対応する製造指示値S#(例えば、製造指示値S2#)として読出す(ステップST202)。製造端末40は、ハッシュ値H2#を算出する(ステップST203)。製造端末40がハッシュ値H2#を算出する方法はステップST103と同等である。製造端末40は、算出したハッシュ値H2#を管理サーバ10に通知する(ステップS204)。管理サーバ10は、ハッシュ値H2と、ハッシュ値H2#を突合させることにより、製造実績値D2#、及び製造指示値S2#の少なくとも一方が改ざんされたか否かを判定する(ステップST205)。ハッシュ値H2は、改ざん検知の対象とする時刻(例えば、時刻T2)に対応するブロックのハッシュ値である。
【0071】
以上説明したように、第1実施形態の変形例にかかる管理システム1では、管理サーバ10が改ざん検知を行うように構成されてもよい。これにより、管理サーバ10が、任意のタイミングで、任意の時刻に対応する製造データが、製造端末40において改ざんされているか否かを検知することが可能となる。また、改ざん検知において、管理サーバ10から製造端末40に通知される情報はハッシュ値H1及び時刻情報であり、製造端末40から管理サーバ10に通知される情報はハッシュ値H2であるため、改ざん検知の対象とする製造データそのものをやり取りするより通信に用いるデータ量を抑制することができ、負荷の増大を抑えて改ざんを検知することができる。
【0072】
次に、第2実施形態について説明する。本実施形態では、製造工程において複数の製造端末(後述する製造端末40、60、70、80)が設けられ、複数の製造端末が、互いに、他の製造端末における製造指示値及び製造実績値を管理する点において、上述した実施形態と相違する。
【0073】
図11は、第2実施形態にかかる管理システム1の構成を示す概略構成図である。管理システム1は、管理サーバ10と、製造DB20と、製造指示サーバ30と、複数の製造端末(製造端末40、60、70、80)と、データ収集AP50とを備える。以下の説明では、上述した実施形態と相違する構成を中心に説明し、上述した実施形態と同じ構成については、上述した実施形態と同じ符号を付してその説明を省略する。また、以下の説明では、複数の製造端末(製造端末40、60、70、80)を区別しない場合には、単に、「製造端末」或いは「各製造端末」などと記載する場合がある。
【0074】
各製造端末は、上述した実施形態の製造端末40と同様の構成(図7参照)を備える。
【0075】
各製造端末は、製造指示サーバ30から製造指示値Sを受信する。各製造端末に通知される製造指示値Sは、同じ指示値であり、他の工程を含む指示値である。つまり、製造端末40、60、70、80のそれぞれには、製造指示サーバ30から、同じ製造指示値Sが通知される。各製造端末は、製造指示サーバ30から通知された製造指示値Sを記憶部に記憶させる。
【0076】
具体的に、製造端末40は、製造指示値Sを指令情報420として、記憶部42に記憶させる。製造端末60は、製造指示値Sを指令情報620として、記憶部62に記憶させる。製造端末70は、製造指示値Sを指令情報720として、記憶部72に記憶させる。製造端末80は、製造指示値Sを指令情報820として、記憶部82に記憶させる。
【0077】
図12は、第2実施形態にかかる管理システム1が行う処理を説明する図である。図12に示すように、各製造端末は、製造指示値Sと、製造実績値Dを、他の製造端末に送信する。各製造端末は、定期的な時刻、例えば、時刻T1、T2、T3に対応する製造指示値Sと、製造実績値Dとを他の製造端末に送信する。
【0078】
具体的に、製造端末40は、定期的に、製造指示値Sと、その時刻に対応する製造実績値D4を、他の製造端末(製造端末60、70、80)に送信する。製造端末60は、定期的に、製造指示値Sと、その時刻に対応する製造実績値D6を、他の製造端末(製造端末40、70、60)に送信する。図12では、製造端末60が、製造端末70、80に、製造指示値Sと製造実績値D6を送信する例については省略している。
【0079】
製造端末70は、定期的に、製造指示値Sと、その時刻に対応する製造実績値D7を、他の製造端末(製造端末40、60、80)に送信する。図12では、製造端末70が、製造端末60、80に、製造指示値Sと製造実績値D7を送信する例については省略している。
【0080】
製造端末80は、定期的に、製造指示値Sと、その時刻に対応する製造実績値D8を、他の製造端末(製造端末40、60、70)に送信する。図12では、製造端末80が、製造端末60、70に、製造指示値Sと製造実績値D8を送信する例については省略している。
【0081】
すなわち、製造端末40は、製造端末60から、製造指示値Sと、製造実績値D6を、定期的に受信する。製造端末40は、製造端末70から、製造指示値Sと、製造実績値D7を、定期的に受信する。製造端末40は、製造端末80から、製造指示値Sと、製造実績値D8を、定期的に受信する。他の製造端末(製造端末60、70、80)についても同様である。
【0082】
各製造端末は、他の製造端末から通知された製造実績値D及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBCのブロックを生成する。
【0083】
具体的に、製造端末40は、製造端末60から通知された製造実績値D6及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC46のブロックを生成する。まず、製造端末40は、時刻T1に対応する製造指示値S1、及び製造実績値D61をトランザクションとするブロックを生成する。次に、製造端末40は、時刻T2に対応する製造指示値S2、及び製造実績値D62をトランザクションとするブロックを生成し、前段ブロックにつなげる。さらに、製造端末40は、時刻T3に対応する製造指示値S3、及び製造実績値D63をトランザクションとするブロックを生成し、前段ブロックにつなげる。
【0084】
また、製造端末40は、製造端末70から通知された製造実績値D7及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC47のブロックを生成する。まず、製造端末40は、時刻T1に対応する製造指示値S1、及び製造実績値D71をトランザクションとするブロックを生成する。次に、製造端末40は、時刻T2に対応する製造指示値S2、及び製造実績値D72をトランザクションとするブロックを生成し、前段ブロックにつなげる。さらに、製造端末40は、時刻T3に対応する製造指示値S3、及び製造実績値D73をトランザクションとするブロックを生成し、前段ブロックにつなげる。
【0085】
また、製造端末40は、製造端末80から通知された製造実績値D8及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC48のブロックを生成する。まず、製造端末40は、時刻T1に対応する製造指示値S1、及び製造実績値D81をトランザクションとするブロックを生成する。次に、製造端末40は、時刻T2に対応する製造指示値S2、及び製造実績値D82をトランザクションとするブロックを生成し、前段ブロックにつなげる。さらに、製造端末40は、時刻T3に対応する製造指示値S3、及び製造実績値D83をトランザクションとするブロックを生成し、前段ブロックにつなげる。
【0086】
図12では一部の記載を省略しているが、他の製造端末(製造端末60、70、80)についても同様に、自装置とは異なる製造端末から通知された製造実績値D及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBCのブロックを生成する。
【0087】
すなわち、製造端末60は、製造端末40から通知された製造実績値D4及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC64のブロックを生成する。製造端末60は、製造端末70から通知された製造実績値D7及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC67のブロックを生成する。製造端末60は、製造端末80から通知された製造実績値D8及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC68のブロックを生成する。
【0088】
製造端末70は、製造端末40から通知された製造実績値D4及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC74のブロックを生成する。製造端末70は、製造端末60から通知された製造実績値D6及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC76のブロックを生成する。製造端末70は、製造端末80から通知された製造実績値D8及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC78のブロックを生成する。
【0089】
製造端末80は、製造端末40から通知された製造実績値D4及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC84のブロックを生成する。製造端末80は、製造端末60から通知された製造実績値D6及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC86のブロックを生成する。製造端末80は、製造端末70から通知された製造実績値D7及び製造指示値Sを含む情報をトランザクションとするブロックチェーンBC87のブロックを生成する。
【0090】
図13は、第2実施形態にかかる管理システム1が行う処理の流れを示すシーケンス図である。図13には、ブロックチェーンBCを生成する処理の流れが示されている。ここでは、製造端末40が、製造端末60から通知された製造指示値S及び製造実績値Dに基づいてブロックBを生成する例が示されている。他の製造端末(製造端末60、70、80)がブロックチェーンBCを生成する処理においても、本シーケンスと同様な処理を適用することができる。
【0091】
まず、製造指示サーバ30が、製造指示値Sを、製造端末60及び製造端末40に送信する(ステップST310)。製造端末60は、製造指示値Sに応じて製造ラインにおける製品の製造を制御する(ステップST311)。例えば、製造端末60は、タイマを開始し(ステップST312)、所定時間、例えば、時刻T1からT2までの時間が経過した場合(ステップST313,YES)、製造指示値S及びその時刻に対応する製造実績値D6を製造端末40に報告する(ステップST314)。製造端末40は、製造端末60から通知された製造指示値S及び製造実績値D6をトランザクションデータとして含むブロックチェーンのブロックデータを生成する(ステップST315)。製造端末40は生成したブロックチェーンのブロックを含むブロックデータを記憶させる(ステップST316)。
【0092】
ここで、製造データが改ざんされたか否かを検知するタイミングについて説明する。本実施形態では、各製造端末の何れかが外部から攻撃を受けた蓋然性が高いと判定された場合に、製造データが改ざんされたか否かを検知する。また、外部から攻撃を受けた蓋然性が高いと判定された場合以外の任意のタイミングを設定し、そのタイミングにおいて製造データが改ざんされたか否かを検知してもよい。
【0093】
本実施形態では、各製造端末は、自装置と通信する通信装置の識別情報を予め記憶する。具体的に、製造端末40は、製造端末40と通信する通信装置(例えば、製造指示サーバ30、製造端末60、70、80、及びデータ収集AP50など)の識別情報を予め記憶する。製造端末60は、製造端末60と通信する通信装置(例えば、製造指示サーバ30、製造端末40、70、80、及びデータ収集AP50など)の識別情報を予め記憶する。製造端末70は、製造端末70と通信する通信装置(例えば、製造指示サーバ30、製造端末40、60、80、及びデータ収集AP50など)の識別情報を予め記憶する。製造端末80は、製造端末80と通信する通信装置(例えば、製造指示サーバ30、製造端末40、60、70、及びデータ収集AP50など)の識別情報を予め記憶する。
【0094】
各製造端末は、自装置とは異なる装置(外部装置)から情報を受信した場合、その外部装置が、予め通信先として定められた装置(通信装置)であるか否かを、識別情報に基づいて判定する。各製造端末は、外部装置の識別番号が、予め記憶された識別情報に含まれている場合、外部装置が、予め通信先として定められた装置(通信装置)であると判定する。一方、各製造端末は、外部装置の識別番号が、予め記憶された識別情報に含まれていない場合、外部装置が予め通信先として定められた装置(通信装置)でないと判定する。
【0095】
そして、各製造端末は、外部装置が予め通信先として定められた装置(通信装置)でないと判定した場合、自装置に記憶された製造データが改ざんされたか否かを検知する。
【0096】
本実施形態では、各製造端末が、他の製造端末が生成したブロックチェーンBCを利用して、自装置に記憶された製造データが改ざんされたか否かを検知する。
【0097】
具体的に、製造端末40は、他の製造端末が生成したブロックチェーンBC、つまり、製造端末60が生成したブロックチェーンBC64、製造端末70が生成したブロックチェーンBC74、或いは製造端末80が生成したブロックチェーンBC84の少なくとも何れかを利用して、製造端末40に記憶された製造データが改ざんされたか否かを検知する。
製造端末60は、他の製造端末が生成したブロックチェーンBC、つまり、製造端末40が生成したブロックチェーンBC46、製造端末70が生成したブロックチェーンBC76、或いは製造端末80が生成したブロックチェーンBC86の少なくとも何れかを利用して、製造端末60に記憶された製造データが改ざんされたか否かを検知する。
製造端末70は、他の製造端末が生成したブロックチェーンBC、つまり、製造端末40が生成したブロックチェーンBC47、製造端末60が生成したブロックチェーンBC67、或いは製造端末80が生成したブロックチェーンBC87の少なくとも何れかを利用して、製造端末70に記憶された製造データが改ざんされたか否かを検知する。
製造端末80は、他の製造端末が生成したブロックチェーンBC、つまり、製造端末40が生成したブロックチェーンBC48、製造端末60が生成したブロックチェーンBC68、或いは製造端末70が生成したブロックチェーンBC78の少なくとも何れかを利用して、製造端末80に記憶された製造データが改ざんされたか否かを検知する。製造端末に記憶された製造データが改ざんされたか否かを検知する方法は、図2で示した方法と同様である。
【0098】
図14を用いて、各製造端末が、他の製造端末に記憶されたブロックチェーンBCを利用して、自装置に記憶された製造データが改ざんされたか否かを検知する方法を説明する。図14は、第2実施形態にかかる管理システム1が行う処理の流れを示すシーケンス図である。ここでは、製造端末60が、製造端末40から通知されたハッシュ値に基づいて製造端末60に記憶された製造データが改ざんされたか否かを検知する例が示されている。他の製造端末についても同様である。
【0099】
まず、製造端末60は、ハッシュ値H61を読出す(ステップST400)。ハッシュ値H61は、改ざんを検知する対象のブロックを製造端末40が生成する際に、製造端末40により算出された、前段ブロックのハッシュ値である。製造端末60は、製造端末40にハッシュ値H61を通知するように要求することにより、ハッシュ値H61を読出す。
【0100】
製造端末60は、実績情報621を参照し、時刻T2に対応する製造実績値D62#を読出す(ステップST401)。ここでの時刻T2は改ざんを検知する対象の時刻である。製造端末60は、指令情報620を参照し、製造指示値Sを、時刻T2に対応する製造指示値S62#として読出す(ステップST402)。製造端末60は、ハッシュ値H62#を算出する。ハッシュ値H62#は、ハッシュ値H61、製造指示値S62#、及び製造実績値D62#を元データとする、元データのハッシュ値である。
【0101】
製造端末60は、ハッシュ値H62を読出す(ステップST404)。ハッシュ値H2は、改ざんを検知する対象のブロックの次のブロックを製造端末40が生成する際に、製造端末40により算出されたハッシュ値である。製造端末60は、製造端末40にハッシュ値H62を通知するように要求することにより、ハッシュ値H62を読出す。
【0102】
製造端末60は、ハッシュ値H62と、ハッシュ値H62#を突合させることにより、製造実績値D62#、及び製造指示値S62#の少なくとも一方が改ざんされたか否かを判定する(ステップST405)。
【0103】
なお、上記では、製造指示値Sと製造実績値Dをトランザクションデータとして含むブロックチェーンのブロックを生成する場合を例示して説明した。しかしながら、これに限定されることはない。製造実績値Dのみ、或いは製造指示値Sのみをトランザクションデータとして含むブロックチェーンのブロックを生成するようにしてもよい。
【0104】
以上説明したように、第2実施形態の管理システム1は、製造端末40(第2装置の一例)と製造端末60(第1装置の一例)とを備える。製造端末60は、製造指示値Sを管理サーバ10に通知すると共に、通知した製造指示値Sを記憶部62に記憶させる。製造端末40は、製造端末60から通知された製造指示値Sをトランザクションデータに含むブロックチェーンBC46のブロックを生成し、生成したブロックを記憶させる。製造端末60は、ハッシュ値H61(第1ハッシュ値の一例)を製造端末40から読出し、ハッシュ値H62#(第2ハッシュ値の一例)を算出する。ハッシュ値H61は、改ざん検知の対象としたブロックを生成する際に算出した前段のブロックのハッシュ値である。ハッシュ値H62#は、ハッシュ値H61及び製造指示値S62#を元データとする、元データのハッシュ値である。製造端末60は、ハッシュ値H62(確認元ハッシュ値の一例)を製造端末40から読出す。ハッシュ値H62は、改ざん検知の対象としたブロックのハッシュ値である。製造端末60は、ハッシュ値H62#とハッシュ値H62を突合させることによって、記憶部62に記憶された製造指示値Sが改ざんされたか否かを判定する。これにより、第2実施形態の管理システム1では、上述した実施形態と同様の効果を奏する。
【0105】
また、第2実施形態の管理システム1では、製造端末60(第1装置の一例)は、製造工程にある複数の工程のうちの第1工程を制御する制御端末である。製造端末60は、製造端末60と通信する通信装置の識別情報を予め記憶する。製造端末60は、外部装置から情報を受信した場合、その外部装置が、予め製造端末60と通信する通信装置として記憶された通信装置であるか否かを、識別情報に基づいて判定する。製造端末60は、外部装置が、予め製造端末60と通信する通信装置として記憶された通信装置ではないと判定する場合、記憶部62に記憶された製造データ(製造指示値の一例)が改ざんされたか否かを判定する。これにより、第2実施形態に係る管理システム1では、通信先として予定されていない装置からアクセスを受けた場合に、製造データが改ざんされていないかを検知することができる。
【0106】
(第2実施形態の変形例)
ここで、第2実施形態の変形例について説明する。本変形例では、各製造端末が、他の製造端末の製造データが改ざんされていないか検知を行う点において上述した実施形態と相違する。
【0107】
例えば、各製造端末は、外部装置が予め通信先として定められた装置(通信装置)でないと判定した場合、自装置に記憶された製造データが改ざんされたか否かを検知すると共に、他の製造端末の製造データが改ざんされていないかを検知する。これにより、通信先として予定されていない装置からアクセスを受けた場合に、製造データが改ざんされていないかを、互いに検知し合うことができる。
【0108】
図15は、第2実施形態の変形例にかかる管理システム1が行う処理の流れを示すシーケンス図である。
【0109】
まず、製造端末40は、ハッシュ値H61と時刻情報を製造端末60に通知する(ステップST500)。時刻情報は、改ざん検知の対象とする時刻(例えば、時刻T2)を示す情報である。製造端末60は、実績情報621を参照し、改ざん検知の対象とする時刻T2に対応する製造実績値D62#を読出す(ステップST501)。また、製造端末60は、指令情報620を参照し、製造指示値Sを、改ざん検知の対象とする時刻2に対応する製造指示値S2#として読出す(ステップST502)。製造端末60は、ハッシュ値H62#を算出する(ステップST503)。製造端末60がハッシュ値H62#を算出する方法はステップST103と同等である。製造端末60は、算出したハッシュ値H62#を製造端末40に通知する(ステップS504)。製造端末40は、ハッシュ値H62と、ハッシュ値H62#を突合させることにより、製造実績値D62#、及び製造指示値S62#の少なくとも一方が改ざんされたか否かを判定する(ステップST505)。ハッシュ値H62は、改ざん検知の対象とする時刻(例えば、時刻2)に対応するブロックのハッシュ値である。
【0110】
なお、図15の例では、製造端末40が、製造端末60の製造データが改ざんされていないか検知する場合を例示したが、これに限定されない。他の製造端末が、別の製造端末の製造データが改ざんされていないか検知する場合、例えば、製造端末60が製造端末40の製造データが改ざんされていないか検知する場合等についても、本シーケンスと同様の処理の流れを適用することが可能である。
【0111】
例えば、製造端末60が製造端末40の製造データが改ざんされていないか検知する場合、製造端末60は、ハッシュ値H41と時刻情報を製造端末40に通知する。製造端末40は、実績情報421を参照し、改ざん検知の対象とする時刻T2に対応する製造実績値D42#を読出す。また、製造端末40は、指令情報420を参照し、製造指示値Sを、改ざん検知の対象とする時刻T2に対応する製造指示値S2#として読出す。製造端末40は、ハッシュ値H42#を算出する。製造端末40がハッシュ値H42#を算出する方法はステップST103と同等である。製造端末40は、算出したハッシュ値H42#を製造端末60に通知する。製造端末60は、ハッシュ値H42と、ハッシュ値H42#を突合させることにより、製造実績値D42#、及び製造指示値S42#の少なくとも一方が改ざんされたか否かを判定する。ハッシュ値H42は、改ざん検知の対象とする時刻(例えば、時刻T2)に対応するブロックのハッシュ値である。
【0112】
以上説明したように、第2実施形態の管理システム1では各製造端末が、他の製造端末の製造データが改ざんされていないか検知を行うことができる。具体的に、製造端末40(第2装置の一例)は、製造指示値S4を、製造端末60(第1装置の一例)に通知すると共に、通知した製造指示値S4を記憶部42に記憶させる。第2装置は製造端末40を含む各製造端末が含まれる。製造端末60は、製造端末40から通知された製造指示値S4がトランザクションデータに含まれるブロックチェーンBC64のブロックを生成し、生成したブロックチェーンBC64のブロックを記憶させる。製造端末60は、外部装置から情報を受信した場合、その外部装置が、予め製造端末60と通信する通信装置として記憶された通信装置であるか否かを、識別情報に基づいて判定する。製造端末60は、外部装置が、予め製造端末60と通信する通信装置として記憶された通信装置でとはないと判定する場合、記憶部42に記憶された製造指示値S4が改ざんされたか否かを判定する。製造端末60は、改ざん検知の対象としたブロックの前段ブロックのハッシュ値H41(第3ハッシュ値の一例)を製造端末40に送信して、製造端末40にハッシュ値H41及び記憶部42に記憶された製造指示値Sを含む元データのハッシュ値であるハッシュ値H42#(第4ハッシュ値の一例)を算出させ、算出させたハッシュ値H42#を製造端末60に通知させる。製造端末60は、改ざん検知の対象としたブロックのハッシュ値H42(確認元ハッシュ値の一例)と、ハッシュ値H42#を突合させることによって、記憶部42に記憶された製造指示値S4が改ざんされたか否かを判定する。
【0113】
これにより、例えば、製造工程に設けられた複数の製造端末のうち、何れかの製造端末において通信先として予定されていない装置から不正なアクセスを受けた場合に、その製造端末が自装置の製造データが改ざんされていないか検知するとともに、他の製造端末における製造データが改ざんされていないかを検知することが可能となる。したがって、任意のタイミング、例えば、定期的に、或いは通信先として予定されていない装置からアクセスを受けた場合に、製造データが改ざんされていないかを、製造端末同士で互いに検知し合うことができる。
【0114】
上述した実施形態における管理システム1の全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0115】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0116】
1:管理システム、10:管理サーバ、131:管理部、20:製造DB、30:製造指示サーバ、431:製造制御部、432:改ざん検知部、40:製造端末、50:データ収集AP
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15