(57)【要約】      （修正有）【課題】データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を提供する。【解決手段】住宅１００の履歴情報から得られる第１ハッシュ値を含むトランザクションデータを受信するステップＳ１０４ａと、暗号化したまま演算が可能な秘密計算方式を用いて住宅の履歴情報が暗号化された暗号化履歴情報であって住宅から取得した暗号化履歴情報に対して、データサーバが暗号化したまま演算処理を実行して得た第２ハッシュ値を、データサーバから取得するステップＳ１０７と、トランザクションデータを検証し、かつ、第１ハッシュ値と第２ハッシュ値とが一致するか否かを確認するステップＳ１０８と、トランザクションデータの正当性を確認し、かつ、第１ハッシュ値と、第２ハッシュ値とが一致する場合、トランザクションデータを分散台帳に記録するステップＳ１１１とを含む。【選択図】図１２
2020024376.tif 000002
【特許請求の範囲】
【請求項１】
機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの第１の認証サーバによって実行されるデータ保護方法であって、
前記機器の履歴情報から得られる第１ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、
前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第２ハッシュ値を、前記データサーバから取得するステップと、
前記トランザクションデータを検証し、かつ、前記第１ハッシュ値と前記第２ハッシュ値とが一致するか否かを確認するステップと、
前記トランザクションデータの正当性を確認し、かつ、前記第１ハッシュ値と、前記第２ハッシュ値とが一致する場合、前記第１の認証サーバ以外の前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む、
データ保護方法。
【請求項２】
さらに、前記機器から、データ検証対象である第１履歴情報の第１暗号化履歴情報を識別する識別情報と前記第１履歴情報から得られる第３ハッシュ値とを取得するステップと、
前記識別情報を含みデータ検証の依頼を示す第１のトランザクションデータを生成して、前記データサーバに送信するステップと、
前記データサーバが記録している前記機器から取得した前記暗号化履歴情報のうち、前記識別情報により特定される前記第１暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第４ハッシュ値を、前記データサーバから取得するステップと、
前記第３ハッシュ値と前記第４ハッシュ値とが一致するか否かを確認するステップと、
前記第３ハッシュ値と前記第４ハッシュ値とが一致しない場合、前記識別情報を含み、前記識別情報により特定される前記第１暗号化履歴情報の削除依頼を示す第２のトランザクションデータを生成して、前記データサーバに送信するステップとを含む、
請求項１に記載のデータ保護方法。
【請求項３】
前記データ保護方法は、さらに、
前記第３ハッシュ値と前記第４ハッシュ値とが一致しない場合、前記複数の認証サーバで同期して、前記第２のトランザクションデータを前記分散台帳に記録するステップを含む、
請求項２に記載のデータ保護方法。
【請求項４】
前記履歴情報は、前記機器のユーザのパーソナルデータを含む、
請求項１〜３のいずれか１項に記載のデータ保護方法。
【請求項５】
機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの一の認証サーバであって、
前記機器の履歴情報から得られる第１ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信し、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第２ハッシュ値を、前記データサーバから取得する通信部と、
前記トランザクションデータを検証するトランザクションデータ検証部と、
前記第１ハッシュ値と前記第２ハッシュ値とが一致するか否かを確認するデータ検証部と、
前記トランザクションデータの正当性が確認され、かつ、前記第１ハッシュ値と前記第２ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える、
認証サーバ。
【請求項６】
機器と、
複数の認証サーバと、
複数のデータサーバとを備え、
前記機器は、
前記機器の履歴情報から得た第１ハッシュ値を含むトランザクションデータを生成し、前記複数の認証サーバのうちの一の認証サーバに送信するトランザクションデータ生成部と、
暗号化したまま演算が可能な秘密計算方式を用いて前記履歴情報を暗号化することで、暗号化履歴情報を生成し、前記複数のデータサーバに送信する第１秘密計算部と、
を備え、
前記データサーバのそれぞれは、
前記機器から取得した前記暗号化履歴情報を記録する記録部と、
記録している前記暗号化履歴情報に対し、暗号化したまま演算処理を実行することで、記録している前記暗号化履歴情報の第２ハッシュ値を得て、前記一の認証サーバに送信する第２秘密計算部とを備え、
前記一の認証サーバは、
前記機器から、前記第１ハッシュ値を含む前記トランザクションデータを受信し、前記データサーバから前記第２ハッシュ値を取得する通信部と、
前記トランザクションデータを検証するトランザクションデータ検証部と、
前記第１ハッシュ値と前記第２ハッシュ値とが一致するか否かを確認するデータ検証部と、
前記トランザクションデータの正当性が確認され、かつ、前記第１ハッシュ値と前記第２ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える、
データ保護システム。
【請求項７】
機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおいてブロックチェーンとして記録されるブロックに用いられるデータ構造であって、
前記データ構造は、
ブロックチェーンのブロックに含まれる、トランザクションデータを生成した主体を識別する識別子であるブロックチェーンアドレスと、
前記トランザクションデータを識別するトランザクションＩＤと、
前記トランザクションデータに含まれる第１ハッシュ値であって前記機器の履歴情報から得られる第１ハッシュ値と、
前記トランザクションデータのユーザの電子署名とを含み、
前記トランザクションデータは、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第２ハッシュ値と前記第１ハッシュ値とが一致する場合に、前記ブロックに含められる、
データ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ保護方法、認証サーバ、データ保護システム及びデータ構造に関し、特にユーザから収集したデータを利活用するためのデータ保護方法、認証サーバ、データ保護システム及びデータ構造に関する。
【背景技術】
【０００２】
近年、ユーザのデータ及び機器のデータなどのデータを収集、分析及び流通するシステムが検討されている。今後、ＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）が進展しＡＩ等が普及することにより、従来よりも多くのデータを収集することが可能となるため、収集したデータの利活用が期待されている。
【０００３】
しかし、収集したデータを利活用するためには、データに含まれるプライバシ情報の保護すなわちデータのプライバシ保護が重要になる。
【０００４】
例えば非特許文献１では、産業用制御システム（ＩＣＳ：Ｉｎｄｕｓｔｒｉａｌ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍｓ）及びＩｏＴにおけるセキュリティについて記載されている。非特許文献１によれば、センサ情報だけでなく、ヘルスケア及びウェアラブルなどのパーソナルデータに関連するプライバシ情報の保護が重要である。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Cyber Physical Security for Industrial Control Systems and IoT、IEICE TRANS. INF. & SYST., VOL.E99-D, NO.4 APRIL 2016
【非特許文献２】ABY - A Framework for Efficient Mixed-Protocol Secure Two-Party Computation、NDSS Symposium 2015
【非特許文献３】Fully Homomorphic Encryption without Bootstrapping、https://eprint.iacr.org/2011/277.pdf(2018年7月20日検索)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、データを収集及び流通するシステムが、収集したデータのプライバシ保護を行うためにデータを暗号化して流通させる場合には、サービスを提供したい企業などでは、取得できるデータが暗号化されているため、データの利活用が難しい。一方、当該システムが、収集したデータを平文化のまま流通させる場合には、ユーザはデータの漏えいのリスクからデータそのものを提供してくれないため、当該システムはデータを利活用できるほどのデータを収集できない。
【０００７】
本開示は、上述の事情を鑑みてなされたもので、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本開示のデータ保護方法は、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの第１の認証サーバによって実行されるデータ保護方法であって、前記機器の履歴情報から得られる第１ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第２ハッシュ値を、前記データサーバから取得するステップと、前記トランザクションデータを検証し、かつ、前記第１ハッシュ値と前記第２ハッシュ値とが一致するか否かを確認するステップと、前記トランザクションデータの正当性を確認し、かつ、前記第１ハッシュ値と、前記第２ハッシュ値とが一致する場合、前記第１の認証サーバ以外の前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む。
【０００９】
なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本開示によれば、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を実現できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態に係るデータ流通システムの全体構成の一例を示す図である。
【図２】図２は、実施の形態に係る住宅の全体構成の一例を示す図である。
【図３】図３は、図２に示すコントローラの機能構成の一例を示すブロック図である。
【図４】図４は、実施の形態に係るトランザクションデータのデータ構造の一例を示す図である。
【図５】図５は、実施の形態に係る端末の機能構成の一例を示すブロック図である。
【図６】図６は、実施の形態に係る車両が有する車載ネットワークシステムの全体構成の一例を示す図である。
【図７】図７は、図５に示すゲートウェイの機能構成の一例を示すブロック図である。
【図８】図８は、実施の形態に係る認証サーバの機能構成の一例を示すブロック図である。
【図９】図９は、ブロックチェーンのデータ構造を示す説明図である。
【図１０】図１０は、実施の形態に係るデータサーバの機能構成の一例を示すブロック図である。
【図１１】図１１は、実施の形態に係るデータ保護の全体シーケンス図である。
【図１２】図１２は、実施の形態に係るトランザクションデータ登録処理のシーケンス図である。
【図１３】図１３は、実施の形態に係るデータ検証処理のシーケンス図である。
【発明を実施するための形態】
【００１２】
本開示の一実施態様のデータ保護方法は、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの第１の認証サーバによって実行されるデータ保護方法であって、前記機器の履歴情報から得られる第１ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第２ハッシュ値を、前記データサーバから取得するステップと、前記トランザクションデータを検証し、かつ、前記第１ハッシュ値と前記第２ハッシュ値とが一致するか否かを確認するステップと、前記トランザクションデータの正当性を確認し、かつ、前記第１ハッシュ値と、前記第２ハッシュ値とが一致する場合、前記第１の認証サーバ以外の前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む。
【００１３】
これにより、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を実現できる。
【００１４】
また、さらに、前記機器から、データ検証対象である第１履歴情報の第１暗号化履歴情報を識別する識別情報と前記第１履歴情報から得られる第３ハッシュ値とを取得するステップと、前記識別情報を含みデータ検証の依頼を示す第１のトランザクションデータを生成して、前記データサーバに送信するステップと、前記データサーバが記録している前記機器から取得した前記暗号化履歴情報のうち、前記識別情報により特定される前記第１暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第４ハッシュ値を、前記データサーバから取得するステップと、前記第３ハッシュ値と前記第４ハッシュ値とが一致するか否かを確認するステップと、前記第３ハッシュ値と前記第４ハッシュ値とが一致しない場合、前記識別情報を含み、前記識別情報により特定される前記第１暗号化履歴情報の削除依頼を示す第２のトランザクションデータを生成して、前記データサーバに送信するステップとを含むとしてもよい。
【００１５】
これにより、データ検証対象の機器の履歴情報が、データサーバに保存されているものと一致しない場合に、データサーバ側になる機器の暗号化された履歴情報を削除することができる。
【００１６】
また、前記データ保護方法は、さらに、前記第３ハッシュ値と前記第４ハッシュ値とが一致しない場合、前記複数の認証サーバで同期して、前記第２のトランザクションデータを前記分散台帳に記録するステップを含むとしてもよい。
【００１７】
これにより、機器の履歴情報が、データサーバに保存されているものと一致しないことをブロックチェーンに残せる。
【００１８】
また、例えば、前記履歴情報は、前記機器のユーザのパーソナルデータを含んでいてもよい。
【００１９】
また、本開示の一実施態様の認証サーバは、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの一の認証サーバであって、前記機器の履歴情報から得られる第１ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信し、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第２ハッシュ値を、前記データサーバから取得する通信部と、前記トランザクションデータを検証するトランザクションデータ検証部と、前記第１ハッシュ値と前記第２ハッシュ値とが一致するか否かを確認するデータ検証部と、前記トランザクションデータの正当性が確認され、かつ、前記第１ハッシュ値と前記第２ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える。
【００２０】
また、本開示の一実施態様のデータ保護システムは、機器と、複数の認証サーバと、複数のデータサーバとを備え、前記機器は、前記機器の履歴情報から得た第１ハッシュ値を含むトランザクションデータを生成し、前記複数の認証サーバのうちの一の認証サーバに送信するトランザクションデータ生成部と、暗号化したまま演算が可能な秘密計算方式を用いて前記履歴情報を暗号化することで、暗号化履歴情報を生成し、前記複数のデータサーバに送信する第１秘密計算部と、を備え、前記データサーバのそれぞれは、前記機器から取得した前記暗号化履歴情報を記録する記録部と、記録している前記暗号化履歴情報に対し、暗号化したまま演算処理を実行することで、記録している前記暗号化履歴情報の第２ハッシュ値を得て、前記一の認証サーバに送信する第２秘密計算部とを備え、前記一の認証サーバは、前記機器から、前記第１ハッシュ値を含む前記トランザクションデータを受信し、前記データサーバから前記第２ハッシュ値を取得する通信部と、前記トランザクションデータを検証するトランザクションデータ検証部と、前記第１ハッシュ値と前記第２ハッシュ値とが一致するか否かを確認するデータ検証部と、前記トランザクションデータの正当性が確認され、かつ、前記第１ハッシュ値と前記第２ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える。
【００２１】
また、本開示の一実施態様のデータ構造は、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおいてブロックチェーンとして記録されるブロックに用いられるデータ構造であって、前記データ構造は、ブロックチェーンのブロックに含まれる、トランザクションデータを生成した主体を識別する識別子であるブロックチェーンアドレスと、前記トランザクションデータを識別するトランザクションＩＤと、前記トランザクションデータに含まれる第１ハッシュ値であって前記機器の履歴情報から得られる第１ハッシュ値と、前記トランザクションデータのユーザの電子署名とを含み、前記トランザクションデータは、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第２ハッシュ値と前記第１ハッシュ値とが一致する場合に、前記ブロックに含められる。
【００２２】
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態等は、一例であって本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の一形態に係る実現形態を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。本開示の実現形態は、現行の独立請求項に限定されるものではなく、他の独立請求項によっても表現され得る。
【００２３】
（実施の形態）
まず、本開示のシステム構成について説明する。
【００２４】
［１．  システム構成］
本開示のデータ保護システムは、機器の履歴情報などのデータが秘密計算が可能な方式で暗号化された暗号化データをデータサーバに記録するとともに、当該暗号化データのハッシュ値を含むトランザクションデータを分散台帳に記録する。これにより、本開示のデータ保護システムは、ブロックチェーン技術を活用して、データのプライバシ保護を行いつつ、データの収集及び利活用を行うことができる。
【００２５】
以下では、図面を参照しながら実施の形態におけるデータ保護システム等の説明を行う。
【００２６】
［１．１  データ保護システム１０の全体構成］
図１は、本実施の形態に係るデータ保護システム１０の全体構成の一例を示す図である。
【００２７】
データ保護システム１０は、図１に示すように、住宅１００と、端末１１０と、車両１２０と、例えば認証サーバ２００ａ、２００ｂ、２００ｃと、データサーバ３００ａ、３００ｂ、３００ｃとを備える。これらは、通信ネットワーク４００で接続されている。
【００２８】
また、認証サーバ２００ａ、２００ｂ、２００ｃ（以下、認証サーバ２００とも表現する）は、記憶装置２０１ａ、２０１ｂ、２０１ｃ（以下、記憶装置２０１とも表現する）と接続する。認証サーバ２００は、記憶装置２０１と通信ネットワーク４００を介して接続されていてもよいし、内部に記憶装置２０１を備えてもよい。記憶装置２０１は、ブロックチェーンのトランザクションデータ及びブロックが電子的に記録される分散台帳を有する。
【００２９】
なお、図１では、データ保護システム１０が、３つの認証サーバと３つのデータサーバとを備える場合の例が示されているが、これに限らない。すなわち、データ保護システム１０は、４つ以上の認証サーバを備えてもよいし、４つ以上のデータサーバを備えてもよい。
【００３０】
［１．２  住宅１００の構成］
図２は、本実施の形態に係る住宅１００の全体構成の一例を示す図である。
【００３１】
住宅１００は、図２に示すように、コントローラ１０１と、太陽光発電１０２と、蓄電池１０３と、電力メータ１０４とを備える。コントローラ１０１、太陽光発電１０２、蓄電池１０３及び電力メータ１０４は、通信ネットワーク１０５で接続されている。また、太陽光発電１０２、蓄電池１０３及び電力メータ１０４は、電力ネットワーク１０６で接続されている。なお、住宅１００は、例えば住家などの家屋であるが、これに限られない。住宅１００は、工場、ビルなどの建物であってもよい。つまり、住宅１００は、ユーザが使用する建物であれば、その態様は問われない。また以下では、住宅１００内にある機器を宅内の機器と称する。宅内の機器は、本開示の機器の一例である。宅内の機器には、太陽光発電１０２、蓄電池１０３及び電力メータ１０４を含めても、含めなくてもよい。また、住宅１００を本開示の機器の一例としてもよい。
【００３２】
＜コントローラ１０１＞
コントローラ１０１は、例えば、エネルギーマネジメントシステムのコントローラである。本実施の形態では、コントローラ１０１は、太陽光発電１０２を制御したり、太陽光発電１０２での発電状況及び蓄電池１０３の蓄電状態を表示したり、売電または買電の申請などを入力したりする。また、コントローラ１０１は、電力メータ１０４を介して、外部の電力ネットワーク（不図示）に送電された電力量を管理し、認証サーバ２００に通知する。このように、コントローラ１０１は、宅内の機器を操作したり、宅内の機器の状態を表示したり、宅内の機器に対する入力等を行ったり、宅内の機器の動作履歴、状態変更を管理したりする。
【００３３】
＜太陽光発電１０２＞
太陽光発電１０２は、太陽電池を用いて太陽光から直接的に電力に変換する発電方式を搭載した装置である。太陽光発電１０２は、発電した電力を、住宅１００内で使用したり、蓄電池１０３に蓄電したり、電力ネットワークに送電したりする。
【００３４】
＜蓄電池１０３＞
蓄電池１０３は、太陽光発電１０２で発電された電力を蓄電する。蓄電池１０３は、例えばコントローラ１０１の送電指示により、蓄電した電力を電力ネットワークに送電する。また、蓄電池１０３は、例えばコントローラ１０１の受電指示により、電力ネットワークから受電された電力を蓄電してもよい。なお、蓄電池１０３は必須の構成ではなく、住宅１００に備えられていなくてもよい。
【００３５】
＜電力メータ１０４＞
電力メータ１０４は、外部の電力ネットワークに送電される電力量または外部の電力ネットワークから受電される電力量を計測する。電力メータ１０４は、コントローラの送電指示により、太陽光発電１０２または蓄電池１０３が電力ネットワークに送電したとき、太陽光発電１０２または蓄電池１０３が送電した時刻と電力量とを計測し、コントローラ１０１に通知する。また、電力メータ１０４は、コントローラ１０１からの電力使用の指示により、電力ネットワークから受電して使用した電力を計測する。
【００３６】
以下、コントローラ１０１の構成の一例について説明する。
【００３７】
［１．３  コントローラ１０１の構成］
図３は、図２に示すコントローラ１０１の機能構成の一例を示すブロック図である。
【００３８】
コントローラ１０１は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備える。つまり、コントローラ１０１は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、コントローラ１０１は、図３に示すように、トランザクションデータ生成部１０１１と、秘密計算部１０１２と、記録部１０１３と、通信部１０１４とを備える。
【００３９】
＜トランザクションデータ生成部１０１１＞
トランザクションデータ生成部１０１１は、ユーザが宅内の機器の操作をし、機器から操作履歴を受信する場合、または、宅内の機器が状態変更し、機器から状態履歴を受信する場合、操作履歴及び状態履歴などの機器の履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。ここで、機器の履歴情報は、パーソナルデータの一例であり、機器のユーザのパーソナルデータを含む。
【００４０】
本実施の形態では、トランザクションデータ生成部１０１１は、機器から受信した機器の履歴情報のハッシュ値（第１ハッシュ値と称する）を演算し、演算した第１ハッシュ値を含めたトランザクションデータを生成する。
【００４１】
ここで、図４を用いて、トランザクションデータ生成部１０１１が生成するトランザクションデータの構造（データ構造）の一例について説明する。図４は、本実施の形態に係るトランザクションデータのデータ構造の一例を示す図である。
【００４２】
図４に示すように、トランザクションデータ生成部１０１１が生成するトランザクションデータのデータ構造には、トランザクションＩＤと、ブロックチェーンアドレスと、第１ハッシュ値と、署名とが含まれる。トランザクションＩＤは、トランザクションデータを識別する識別子である。ブロックチェーンアドレスは、トランザクションデータを生成した主体を識別する識別子であり、図４でＢＣアドレスと表されている。本実施の形態では、ブロックチェーンアドレスにより、第１ハッシュ値が得られる履歴情報のユーザまたはコントローラを特定することができる。第１ハッシュ値は、機器の履歴情報から得られ、トランザクションデータに含まれる。図４に示すように、第１ハッシュ値は、トランザクションデータのデータ本体であるペイロード部分に含まれる。署名は、ユーザの電子署名である。本実施の形態では、署名は、ユーザ個別の署名生成鍵を用いて生成される。なお、トランザクションデータ生成部１０１１は、機器の履歴情報を識別する識別子をさらに含めたトランザクションデータを生成してもよい。
【００４３】
また、トランザクションデータ生成部１０１１は、生成したトランザクションデータを記録部１０１３に記録する。また、トランザクションデータ生成部１０１１は、生成したトランザクションデータを、通信部１０１４を介して、認証サーバ２００ａ、２００ｂ、２００ｃのうちの少なくとも１つの認証サーバ２００に送信する。
【００４４】
＜秘密計算部１０１２＞
秘密計算部１０１２は、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部１０１２は、トランザクションデータ生成部１０１１から受信した機器の履歴情報に対して秘密計算方式の暗号化処理を行う。秘密計算部１０１２は、機器の履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部１０１４を介して、データサーバ３００に送信する。
【００４５】
ここで、秘密計算方式を用いて暗号化処理されたデータは、暗号化した状態のままで画像認識を含む演算処理を行うことができる。秘密計算方式を用いた暗号化処理は、例えば非特許文献２または非特許文献３に開示される方法を用いて行うことができる。非特許文献２または非特許文献３に開示される方法で暗号化することで、暗号化したまま四則演算が可能となり、ハッシュ値を求めることができる。暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータデータなどから取得するとしてもよい。また、暗号化処理に、複数の方法を用いるとしてもよい。
【００４６】
＜記録部１０１３＞
記録部１０１３は、トランザクションデータ生成部１０１１で生成したトランザクションデータと秘密計算部１０１２で暗号化したデータである暗号化履歴情報とを記録する。本実施の形態では、記録部１０１３は、秘密計算部１０１２で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部１０１１で生成した第１ハッシュ値を含むトランザクションデータを記録する。
【００４７】
＜通信部１０１４＞
通信部１０１４は、通信ネットワーク４００を介してデータサーバ３００及び認証サーバ２００との通信を行う。この通信は、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）によりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部１０１４で保持してもよい。
【００４８】
次に、端末１１０について説明する。
【００４９】
［１．４  端末１１０の構成］
図５は、本実施の形態に係る端末１１０の機能構成の一例を示すブロック図である。
【００５０】
端末１１０は、本開示の機器の一例であり、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。また、端末１１０は、例えばスマートフォンのような表示部及び入力部を有する機器、または、ウェアラブルデバイスのようなユーザのセンサ情報を取得する機器などである。
【００５１】
本実施の形態では、端末１１０は、図５に示すように、トランザクションデータ生成部１１０１と、秘密計算部１１０２と、記録部１１０３と、通信部１１０４とを備える。
【００５２】
＜トランザクションデータ生成部１１０１＞
トランザクションデータ生成部１１０１は、ユーザによる端末１１０の操作履歴、ユーザが端末１１０に入力した情報の履歴、及び端末１１０が収集したユーザに関する情報の履歴などを含む履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。ユーザが端末１１０に入力した情報の履歴は、例えば、ユーザが端末１１０を利用して撮影した過去の複数の写真である。端末１１０が収集したユーザに関する情報の履歴は、例えばユーザの体温を示す情報などのセンサ情報の履歴である。
【００５３】
本実施の形態では、トランザクションデータ生成部１１０１は、端末１１０から取得した履歴情報のハッシュ値（第１ハッシュ値とも称する）を演算し、演算した第１ハッシュ値を含めたトランザクションデータを生成する。
【００５４】
ここで、トランザクションデータ生成部１１０１が生成するトランザクションデータの構造（データ構造）は、図４に示した通りである。すなわち、トランザクションデータ生成部１１０１が生成するトランザクションデータのデータ構造には、トランザクションＩＤと、ブロックチェーンアドレスと、第１ハッシュ値と、署名とが含まれる。
【００５５】
なお、このブロックチェーンアドレスは、上述したように、トランザクションデータを生成した主体を識別する識別子であり、ユーザまたは端末１１０を特定することができる。トランザクションデータ生成部１１０１は、履歴情報を識別する識別子をブロックチェーンアドレスとは別に含めたトランザクションデータを生成してもよい。
【００５６】
また、トランザクションデータ生成部１１０１は、生成したトランザクションデータを記録部１１０３に記録する。また、トランザクションデータ生成部１１０１は、生成したトランザクションデータを、通信部１１０４を介して、認証サーバ２００ａ、２００ｂ、２００ｃのうちの少なくとも１つの認証サーバ２００に送信する。
【００５７】
＜秘密計算部１１０２＞
秘密計算部１１０２は、暗号化したまま演算が可能な秘密計算方式を用いて端末１１０の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部１１０２は、トランザクションデータ生成部１１０１から受信した端末１１０の履歴情報または端末１１０が保持する過去の複数の写真、センサ情報の履歴などの履歴情報に対して、秘密計算方式の暗号化処理を行う。また、秘密計算部１１０２は、履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部１１０４を介して、データサーバ３００に送信する。
【００５８】
なお、秘密計算方式を用いた暗号化処理は、上述した通りのため詳述を省略するが、例えば非特許文献２及び／または非特許文献３に開示される方法を用いればよい。また、上述した通り暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータなどから取得するとしてもよい。また、暗号化処理に、複数の方法を用いるとしてもよい。
【００５９】
＜記録部１１０３＞
記録部１１０３は、トランザクションデータ生成部１１０１で生成したトランザクションデータと秘密計算部１１０２で暗号化したデータである暗号化履歴情報を記録する。本実施の形態では、記録部１１０３は、秘密計算部１１０２で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部１１０１で生成した第１ハッシュ値を含むトランザクションデータを記録する。
【００６０】
＜通信部１１０４＞
通信部１１０４は、通信ネットワーク４００を介してデータサーバ３００及び認証サーバ２００との通信を行う。この通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は、通信部１１０４で保持してもよい。
【００６１】
次に、車両１２０について説明する。
【００６２】
［１．５  車両１２０の構成］
車両１２０は、例えば自動車であるが、これに限られない。車両１２０は、自動二輪車、船舶等であってもよい。つまり、車両１２０等は、車両１２０内のネットワークに複数のＥＣＵが接続されていればよい。
【００６３】
図６は、本実施の形態に係る車両１２０が有する車載ネットワークシステムの全体構成の一例を示す図である。
【００６４】
複数の電子制御ユニットであるＥＣＵ１２１１ａ、ＥＣＵ１２２１、ＥＣＵ１２３１、ＥＣＵ１２４１、ＥＣＵ１２５１、及び、ゲートウェイ１２１が車載ネットワークで接続されている。ここで、車載ネットワークはＣＡＮであってもよいし、Ｅｔｈｅｒｎｅｔ（登録商標）であってもよいし、ＣＡＮとＥｔｈｅｒｎｅｔ（登録商標）とが混在したものであってもよい。なお、車載ネットワークがＥｔｈｅｒｎｅｔ（登録商標）を含む場合でも、ブロードキャストでメッセージを送信されるとしてもよい。
【００６５】
車載ネットワークには、例えば、エンジン１２１０、バッテリー１２３０や、図示しないモータ、燃料の制御に関連する駆動系のＥＣＵが接続されている。図６に示す例では、車載ネットワークには、エンジン１２１０用のＥＣＵ１２１１ａ、及び、バッテリー１２３０用のＥＣＵ１２３１が接続されている。
【００６６】
また、車載ネットワークには、運転アシスト部１２２０、並びに、図示しない自動ブレーキ、車線維持、車間距離機能、衝突防止機能及びエアバッグなどの安全快適機能系ＥＣＵが接続されている。図６に示す例では、車載ネットワークには、運転アシスト部１２２０用のＥＣＵ１２２１が接続されている。
【００６７】
また、車載ネットワークには、ヘッドユニット１２４０などインフォテイメント系ＥＣＵが接続されている。図６に示す例では、車載ネットワークには、ヘッドユニット１２４０用のＥＣＵ１２４１が接続されている。なお、ヘッドユニット１２４０用のＥＣＵ１２４１がなく、ヘッドユニット１２４０がＥＣＵ１２４１を介さず車載ネットワークに直接接続されていてもよい。また、ヘッドユニットは表示部及び入力部を有し、車両１２０の中すなわち車内に搭乗しているユーザに対し、画面の表示及び情報入力を受け付ける機能を保持する。
【００６８】
また、車載ネットワークには、認証サーバ２００と通信する通信機能を有する通信部１２５０など通信系ＥＣＵが接続されている。図６に示す例では、車載ネットワークには、通信部１２５０用のＥＣＵ１２５１が接続されている。
【００６９】
なお、上述したＥＣＵ１２１１ａ〜ＥＣＵ１２５１は、それぞれが接続する部品と一体すなわち１つの部品で構成されるとしてもよい。例えば、エンジン１２１０とこれに接続されるエンジン１２１０用のＥＣＵ１２１１ａとが１つの部品として構成されてもよい。他のＥＣＵ１２２１等も同様である。
【００７０】
このような複数の電子制御ユニットすなわちＥＣＵ１２１１ａ〜ＥＣＵ１２５１は、定期的または非定期的にメッセージを送信する。例えば、エンジン１２１０用のＥＣＵ１２１１ａは、エンジン１２１０の回転数を取得しており、定期的に、取得したエンジン１２１０の回転数を示すメッセージを送信する。また、例えば運転アシスト部１２２０用のＥＣＵ１２２１であれば、運転アシスト機能がＯＮになった時にその旨を示すメッセージを送信する。また、ＥＣＵが新規に車載ネットワークに接続したときに、その旨を示すメッセージを送信するとしてもよい。
【００７１】
次に、車載ネットワークに接続されているゲートウェイ１２１について説明する。
【００７２】
［１．６  ゲートウェイ１２１の構成］
図７は、図６に示すゲートウェイ１２１の機能構成の一例を示すブロック図である。
【００７３】
ゲートウェイ１２１は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、ゲートウェイ１２１は、図７に示すように、トランザクションデータ生成部１２１１と、秘密計算部１２１２と、記録部１２１３と、通信部１２１４とを備える。
【００７４】
＜トランザクションデータ生成部１２１１＞
トランザクションデータ生成部１２１１は、車両１２０の手動運転履歴もしくは自動運転履歴、及び、車両１２０のセンサ情報の履歴などを含む車両１２０の履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。
【００７５】
本実施の形態では、トランザクションデータ生成部１２１１は、車両１２０から取得した履歴情報のハッシュ値（第１ハッシュ値と称する）を演算し、演算した第１ハッシュ値を含めたトランザクションデータを生成する。
【００７６】
ここで、トランザクションデータ生成部１２１１が生成するトランザクションデータの構造（データ構造）は、図４に示した通りである。すなわち、トランザクションデータ生成部１２１１が生成するトランザクションデータのデータ構造には、トランザクションＩＤと、ブロックチェーンアドレスと、第１ハッシュ値と、署名とが含まれる。
【００７７】
なお、このブロックチェーンアドレスは、上述したように、トランザクションデータを生成した主体を識別する識別子であり、車両１２０のユーザ、ゲートウェイ１２１または車両１２０を特定することができる。また、上記と同様に、トランザクションデータ生成部１２１１は、履歴情報を識別する識別子をトランザクションＩＤとは別に含めたトランザクションデータを生成してもよい。
【００７８】
また、トランザクションデータ生成部１２１１は、生成したトランザクションデータを記録部１２１３に記録する。また、トランザクションデータ生成部１２１１は、生成したトランザクションデータを、通信部１２１４を介して、認証サーバ２００ａ、２００ｂ、２００ｃのうちの少なくとも１つの認証サーバ２００に送信する。
【００７９】
＜秘密計算部１２１２＞
秘密計算部１２１２は、暗号化したまま演算が可能な秘密計算方式を用いて車両１２０の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部１２１２は、トランザクションデータ生成部１２１１から受信した車両１２０の運転履歴、センサ情報の履歴などの履歴情報に対して、秘密計算方式の暗号化処理を行う。また、秘密計算部１２１２は、履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部１２１４を介して、データサーバ３００に送信する。
【００８０】
なお、秘密計算方式を用いた暗号化処理は、上述した通りのため詳述を省略するが、例えば非特許文献２及び／または非特許文献３に開示される方法を用いればよい。
【００８１】
また、上述した通り暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータなどから取得するとしてもよい。
【００８２】
＜記録部１２１３＞
記録部１２１３は、トランザクションデータ生成部１２１１で生成したトランザクションデータと秘密計算部１２１２で暗号化したデータである暗号化履歴情報を記録する。本実施の形態では、記録部１２１３は、秘密計算部１２１２で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部１２１１で生成した第１ハッシュ値を含むトランザクションデータを記録する。
【００８３】
＜通信部１２１４＞
通信部１２１４は、通信ネットワーク４００を介してデータサーバ３００及び認証サーバ２００との通信を行う。この通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は、通信部１２１４で保持してもよい。
【００８４】
次に、認証サーバ２００ａ等について説明する。
【００８５】
［１．７  認証サーバ２００ａの構成］
図８は、本実施の形態に係る認証サーバ２００ａの機能構成の一例を示すブロック図である。認証サーバ２００ｂ、２００ｃも同様の構成であるため、以下では、認証サーバ２００ａを例に挙げて説明する。
【００８６】
認証サーバ２００ａは、図８に示すように、トランザクションデータ検証部２１１、ブロック生成部２１２と、同期部２１３と、データ検証部２１４と、記録部２１５と、通信部２１６とを備える。認証サーバ２００ａは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【００８７】
＜トランザクションデータ検証部２１１＞
トランザクションデータ検証部２１１は、受信したトランザクションデータを検証する。具体的には、住宅１００、端末１１０または車両１２０などの機器からのトランザクションデータを受信すると、トランザクションデータのフォーマットが合っているか、及び署名が正当であるかを検証する。このように、トランザクションデータ検証部２１１は、受信したトランザクションデータの正当性を確認することでトランザクションデータを検証する。
【００８８】
トランザクションデータ検証部２１１は、検証の結果、トランザクションデータの正当性を確認した場合、そのトランザクションデータを、記録部２１５に記録し、同期部２１３へ通知する。
【００８９】
＜ブロック生成部２１２＞
ブロック生成部２１２は、トランザクションデータ検証部２１１においてトランザクションデータの検証が成功した場合、複数の認証サーバの間で、トランザクションデータについてのコンセンサスアルゴリズムを実行する。ここで、コンセンサスアルゴリズムには、ＰＢＦＴ（Ｐｒａｃｔｉｃａｌ  Ｂｙｚａｎｔｉｎｅ  Ｆａｕｌｔ  Ｔｏｌｅｒａｎｃｅ）とよばれるコンセンサスアルゴリズムを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。
【００９０】
このように、本実施の形態では、ブロック生成部２１２は、認証サーバ２００ａ、認証サーバ２００ｂ及び認証サーバ２００ｃの間でコンセンサスアルゴリズムを実行する。すなわち、ブロック生成部２１２は、まず、１以上のトランザクションデータを含むブロックチェーンのブロックを生成する。次に、ブロック生成部２１２は、コンセンサスアルゴリズムを実行する。そして、ブロック生成部２１２は、コンセンサスアルゴリズムを実行することで合意形成ができた場合、生成したブロックを記録部２１５に記録する。ブロック生成部２１２により生成されたブロックは、記録部２１５によりブロックチェーンに接続されて記録される。
【００９１】
ここで、ブロックチェーンのデータ構造と、ブロックチェーンに含まれるトランザクションデータの一部のデータ構造とについて説明する。
【００９２】
図９は、ブロックチェーンのデータ構造を示す説明図である。
【００９３】
ブロックチェーンは、その記録単位であるブロックがチェーン（鎖）状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックＢ２には、その前のブロックＢ１のハッシュ値が含まれている。そして、ブロックＢ２に含まれる複数のトランザクションデータと、ブロックＢ１のハッシュ値とから演算されたハッシュ値が、ブロックＢ２のハッシュ値として、ブロックＢ３に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。
【００９４】
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
【００９５】
＜同期部２１３＞
同期部２１３は、認証サーバ（認証サーバ２００ａ〜２００ｃ）の間でブロックチェーンのブロック、または、トランザクションデータの同期を行う。
【００９６】
複数の認証サーバ２００ａ〜２００ｃの同期部２１３では、ｐｅｅｒ  ｔｏ  ｐｅｅｒでブロックチェーンのトランザクションデータの同期を行う。そして、同期部２１３は、同期が行われたブロックチェーンのトランザクションデータを記録部２１５に記録する。
【００９７】
例えば、同期部２１３は、トランザクションデータ検証部２１１においてトランザクションデータの正当性が検証されると、他の認証サーバ２００である認証サーバ２００ｂ、２００ｃに検証済みのトランザクションデータを転送する。また、同期部２１３は、他の認証サーバ２００から検証済みのトランザクションデータを受信した場合、受信した検証済みのトランザクションデータを記録部２１５に記録する。
【００９８】
＜データ検証部２１４＞
データ検証部２１４は、データサーバ３００に記録されているデータである暗号化履歴情報の検証依頼を送信し、データ検証対象である暗号化履歴情報から得たハッシュ値を、データサーバ３００から受け取る。より具体的には、データ検証部２１４は、データ検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報を含みデータ検証の依頼を示すトランザクションデータを生成して、データサーバ３００に送信する。すると、データ検証部２１４はデータサーバ３００が記録している暗号化履歴情報のうち識別情報により特定される暗号化履歴情報に対して、暗号化したまま演算処理が実行されて得たハッシュ値を、データサーバ３００から取得する。
【００９９】
データ検証部２１４は、記録部２１５に記録されているデータ検証対象である機器の履歴情報から得たハッシュ値と、データサーバ３００から取得したハッシュ値とが一致するか否かを検証する。
【０１００】
なお、データ検証部２１４は、暗号化履歴情報の検証依頼を行う際には、暗号化履歴情報を識別する識別情報を含むトランザクションデータをデータサーバ３００に送信するとしたが、これに限らない。データ検証部２１４は、当該識別子のみを送信するとしてもよいし、当該識別子に代えて、データの属性種別を示す情報を含め、データ検証の依頼を示すトランザクションデータを送信するとしてもよい。これにより、データ検証対象の暗号化履歴情報を識別できる。
【０１０１】
＜記録部２１５＞
記録部２１５は、トランザクションデータをブロックに含めて、記憶装置２０１ａの分散台帳にあるブロックチェーンに記録する。当該記憶装置２０１ａは、記録部２１５の内部に構成されていてもよいし、図１に示すように、認証サーバ２００ａの外部に構成されていてもよい。
【０１０２】
このトランザクションデータは、住宅１００、端末１１０または車両１２０から受信したトランザクションデータを含む。
【０１０３】
本実施の形態では、記録部２１５は、機器から受信したトランザクションデータの正当性が確認され、かつ、記録部２１５に記録されているハッシュ値とデータサーバ３００から取得したハッシュ値とが一致する場合、そのトランザクションデータを分散台帳に記録する。
【０１０４】
＜通信部２１６＞
通信部２１６は、住宅１００、端末１１０、車両１２０、認証サーバ２００ｂ、２００ｃ、及び、データサーバ３００ａ、３００ｂ、３００ｃとの通信を行う。この通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部２１６で保持してもよい。
【０１０５】
本実施の形態では、通信部２１６は、機器の履歴情報から得られるハッシュ値を含み、機器により生成されたトランザクションデータを受信する。また、通信部２１６は、データサーバ３００が記録している、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって当該機器から取得した暗号化履歴情報に対して、データサーバ３００が暗号化したまま演算処理を実行して得たハッシュ値を、データサーバ３００から取得する。
【０１０６】
次に、データサーバ３００ａ等について説明する。
【０１０７】
［１．８  データサーバ３００ａの構成］
図１０は、本実施の形態に係るデータサーバ３００ａの機能構成の一例を示すブロック図である。データサーバ３００ｂ、３００ｃも同様の構成であるため、以下では、データサーバ３００ａを例に挙げて説明する。
【０１０８】
データサーバ３００ａは、図１０に示すように、管理部３１１と、秘密計算部３１２と、記録部３１３と、通信部３１４とを備える。
【０１０９】
＜管理部３１１＞
管理部３１１は、住宅１００、端末１１０または車両１２０などの機器から受信した暗号化データである暗号化履歴情報を、記録部３１３に記録する。
【０１１０】
また、管理部３１１は、認証サーバ２００から、記録部３１３に記録されているデータである暗号化履歴情報の検証依頼を受信した場合、データ検証対象の暗号化履歴情報を秘密計算部３１２に送信する。より具体的には、管理部３１１は、検証依頼に付与されている識別子または属性種別を示す情報に基づき、記録部３１３に記録され、かつ、データ検証対象である暗号化履歴情報に対する、秘密計算によるハッシュ値計算処理の依頼を、秘密計算部３１２に送信する。
【０１１１】
管理部３１１は、秘密計算部３１２から受信した、データ検証対象である暗号化履歴情報のハッシュ値を受信し、認証サーバ２００に送信する。
【０１１２】
＜秘密計算部３１２＞
秘密計算部３１２は、管理部３１１から、データ検証対象である暗号化履歴情報に対する、秘密計算によるハッシュ値計算処理の依頼を受信すると、記録部３１３に記録され、かつ、データ検証対象である暗号化履歴情報を用いて秘密計算を行い、ハッシュ値を算出する。なお、秘密計算部３１２は、他のデータサーバ３００ｂ、３００ｃと連携して秘密計算を行い、データ検証対象の暗号化データである暗号化履歴情報のハッシュ値を算出してもよい。また、秘密計算によるハッシュ値計算処理は、非特許文献２及び／または非特許文献３に開示される方法を用いて実行すればよい。
【０１１３】
秘密計算部３１２は、算出したハッシュ値を管理部３１１に送信する。
【０１１４】
＜記録部３１３＞
記録部３１３は、住宅１００、端末１１０または車両１２０などの機器から受信した暗号化データである暗号化履歴情報を記録する。
【０１１５】
＜通信部３１４＞
通信部３１４は、認証サーバ２００ａ、２００ｂ、２００ｃとの通信を行う。この通信は、ＴＬＳによりなされてもよい。この場合、ＴＬＳ通信用の暗号鍵は通信部３１４で保持してもよい。
【０１１６】
［１．９  住宅と認証サーバとデータサーバとの間のデータ流通の全体シーケンス］
続いて、住宅１００と認証サーバ２００ａ〜２００ｃとデータサーバ３００ａ〜３００ｃとの間におけるデータ流通のシーケンスについて説明する。
【０１１７】
図１１は、本実施の形態に係るデータ保護の全体シーケンス図である。各処理については後述する。なお、図１１に示す住宅１００は、端末１１０または車両１２０でもよく、いずれも本開示の機器の一例となる。
【０１１８】
まず、ステップＳ１００において、住宅１００と認証サーバ２００ａ、２００ｂ、２００ｃとデータサーバ３００ａ、３００ｂ、３００ｃとの間でトランザクションデータ登録処理が行われる。次に、ステップＳ２００において、認証サーバ２００ａ、２００ｂ、２００ｃとデータサーバ３００ａ、３００ｂ、３００ｃとの間でデータ検証処理が行われる。
【０１１９】
なお、データ検証処理は、定期的に実行されてもよいし、トランザクションデータ登録処理が実行されてから一定期間後に実行されてもよいし、トランザクションデータ登録処理が複数回行われてから実行されてもよい。
【０１２０】
［１．９．１  住宅と認証サーバとの間のトランザクション登録処理］
続いて、住宅１００と認証サーバ２００ａ、２００ｂ、２００ｃとの間でのトランザクションデータ登録処理について説明する。
【０１２１】
図１２は、本実施の形態に係るトランザクションデータ登録処理のシーケンス図である。図１２では、本開示の機器の一例としての住宅１００がトランザクションデータを登録するとして説明するが、これに限らない。端末１１０または車両１２０であってもよく、同様のシーケンスとなる。
【０１２２】
まず、ステップＳ１０１において、住宅１００のコントローラ１０１は、宅内の機器の履歴情報などを取得し、トランザクションデータの元となるデータを生成する。例えば、住宅１００は、宅内にある家電機器の操作履歴、太陽光発電１０２で発電した電力量もしくは蓄電池１０３から出力された電力量などの履歴情報を取得し、トランザクションデータの元となるデータを生成する。
【０１２３】
次に、ステップＳ１０２において、住宅１００のコントローラ１０１は、ステップＳ１０１で取得した履歴情報などのデータに対し、ハッシュ値計算処理と、秘密計算処理すなわち秘密計算方式を用いた暗号化処理とを行う。秘密計算方式は、認証サーバ２００ａ、２００ｂ、２００ｃとデータサーバ３００ａ、３００ｂ、３００ｃと住宅１００のコントローラ１０１との間で予め共有してもよいし、データ保護システム１０で決まっているとしてもよい。
【０１２４】
次に、ステップＳ１０３において、住宅１００のコントローラ１０１は、ステップＳ１０２でハッシュ値計算処理により得た履歴情報のハッシュ値（以下、第１ハッシュ値と称する）を用いてトランザクションデータを生成する。より具体的には、機器の履歴情報から得られる第１ハッシュ値を含むトランザクションデータを生成する。ここで、トランザクションデータには、第１ハッシュ値以外に、上述したようにトランザクションＩＤと、ブロックチェーンアドレスと、署名とが含まれている。
【０１２５】
次に、ステップＳ１０４において、住宅１００のコントローラ１０１は、ステップＳ１０３で生成した、第１ハッシュ値を含むトランザクションデータを、認証サーバ２００ａに送信する。すると、認証サーバ２００ａは、第１ハッシュ値を含むトランザクションデータを受信し、第１ハッシュ値を取得する（Ｓ１０４ａ）。なお、図１２に示す例では、住宅１００のコントローラ１０１は、生成したトランザクションデータを、認証サーバ２００ａに送信するとして説明しているが、認証サーバ２００ｂまたは認証サーバ２００ｃに送信してもよい。認証サーバ２００ｂまたは認証サーバ２００ｃに送信した場合も同様の処理となるからである。
【０１２６】
次に、ステップＳ１０５において、住宅１００のコントローラ１０１は、ステップＳ１０２で秘密計算処理により得た暗号化データである暗号化履歴情報をデータサーバ３００ａ〜３００ｃに送信する。すると、データサーバ３００ａ〜３００ｃはそれぞれ、暗号化履歴情報を受信し、記録する（Ｓ１０５ａ）。
【０１２７】
次に、ステップＳ１０６において、データサーバ３００ａ〜３００ｃは、受信した暗号化データである暗号化履歴情報に対して、秘密計算によるハッシュ値計算処理を行い、ハッシュ値（以下、第２ハッシュ値と称する）を算出する。データサーバ３００ａは、算出した第２ハッシュ値を認証サーバ２００ａに送信する。
【０１２８】
なお、図１２に示す例では、複数のデータサーバ３００間（データサーバ３００ａ〜３００ｃ）で連携して秘密計算を行い第２ハッシュ値を算出するとして説明するが、一以上のデータサーバ３００が秘密計算を行い第２ハッシュ値を算出するとしてもよい。
【０１２９】
次に、ステップＳ１０７において、認証サーバ２００ａは、データサーバ３００ａから送信された第２ハッシュ値を取得する。換言すると、認証サーバ２００ａは、データサーバ３００ａ等が記録している、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって機器から取得した暗号化履歴情報に対して、データサーバ３００ａ等が暗号化したまま演算処理を実行して得た第２ハッシュ値を、データサーバ３００ａから取得する。
【０１３０】
次に、ステップＳ１０８において、認証サーバ２００ａは、住宅１００から受信したトランザクションデータの検証と、住宅１００とデータサーバ３００ａから取得したハッシュ値とが一致するかを確認する。換言すると、認証サーバ２００ａは、トランザクションデータを検証し、かつ、第１ハッシュ値と第２ハッシュ値とが一致するか否かを確認する。
【０１３１】
ステップＳ１０８において、認証サーバ２００ａは、トランザクションデータの検証が成功しなかった場合、または、取得した第１ハッシュ値と第２ハッシュ値とが一致しなかった場合（Ｓ１０８でＮ）、住宅１００にその旨の通知を送信し（Ｓ１０９）、処理を終了する。
【０１３２】
一方、ステップＳ１０８において、認証サーバ２００ａは、トランザクションデータの検証が成功し、かつ、取得した第１ハッシュ値と第２ハッシュ値とが一致した場合（Ｓ１０８でＹ）、他の認証サーバ２００（認証サーバ２００ｂ、２００ｃ）に、トランザクションデータを転送する（Ｓ１１０）。なお、認証サーバ２００ｂ、２００ｃでも、転送されて受信したトランザクションデータを検証する。
【０１３３】
次に、ステップＳ１１１おいて、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、受信したトランザクションデータが正当なトランザクションデータであること（つまり正当性）を検証すると、それぞれトランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、トランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。換言すると、認証サーバ２００ａは、住宅１００から受信したトランザクションデータの正当性を確認し、かつ、第１ハッシュ値と第２ハッシュ値とが一致する場合、認証サーバ２００ａ以外の認証サーバ２００ｂ、２００ｃと同期して、トランザクションデータを分散台帳に記録する。
【０１３４】
［１．９．２  データサーバと認証サーバとの間のデータ検証処理］
続いて、データサーバ３００と認証サーバ２００ａ、２００ｂ、２００ｃとの間でのデータ検証処理について説明する。
【０１３５】
図１３は、本実施の形態に係るデータ検証処理のシーケンス図である。図１３では、認証サーバ２００ａがデータ検証の依頼を行い、データ検証処理を行うとして説明しているが、認証サーバ２００ｂまたは認証サーバ２００ｃが行ってもよい。認証サーバ２００ｂまたは認証サーバ２００ｃが行った場合も同様の処理となる。
【０１３６】
まず、ステップＳ２０１ａにおいて、認証サーバ２００ａは、データ検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報（ＩＤ）と、当該履歴情報から得られるハッシュ値（以下、第３ハッシュ値と称する）とを、分散台帳に記録されているトランザクションデータから、または機器が送信したトランザクションデータから取得する。
【０１３７】
次に、ステップＳ２０１において、認証サーバ２００ａは、データ検証対象である機器の履歴情報の検証依頼を行う。具体的には、認証サーバ２００ａは、取得したトランザクションデータに含まれる識別情報などから、検証対象となる履歴情報を選択し、データ検証の依頼を生成する。
【０１３８】
次に、ステップＳ２０２において、認証サーバ２００ａは、検証対象となる履歴情報のデータ検証の依頼を示すトランザクションデータ（以下、第１のトランザクションデータと称する）を生成する。例えば、認証サーバ２００ａは、トランザクションＩＤと、検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報と、署名とを含む第１のトランザクションデータを生成する。
【０１３９】
次に、ステップＳ２０３において、認証サーバ２００ａは、ステップＳ２０２で生成したデータ検証の依頼を示す第１のトランザクションデータを、データサーバ３００ａ〜３００ｃに送信する。
【０１４０】
次に、ステップＳ２０４において、データサーバ３００ａ〜３００ｃは、認証サーバ２００ａから受信した第１のトランザクションデータに基づき、データサーバ３００ｂ、３００ｃと連携して、データ検証対象である暗号化履歴情報に対して秘密計算によるハッシュ値計算処理を行う。なお、秘密計算によるハッシュ値計算処理は、複数のデータサーバ３００の間で連携して行われる場合に限らず、一以上のデータサーバ３００により行われるとしてもよい。
【０１４１】
次に、ステップＳ２０５において、データサーバ３００ａは、データ検証対象である暗号化履歴情報に対して秘密計算によるハッシュ値計算処理を行うことで算出したハッシュ値（以下、第４ハッシュ値と称する）を、認証サーバ２００ａに送信する。
【０１４２】
次に、ステップＳ２０６において、認証サーバ２００ａは、データサーバ３００ａから第４ハッシュ値を取得する。換言すると、認証サーバ２００ａは、データサーバ３００ａ等が記録している暗号化履歴情報のうち、識別情報により特定される暗号化履歴情報に対して、暗号化したまま演算処理を実行して得た第４ハッシュ値を、データサーバ３００ａから取得する。
【０１４３】
次に、ステップＳ２０７において、認証サーバ２００ａは、ステップＳ２０１ａで取得した第３ハッシュ値と、ステップＳ２０６で取得した第４ハッシュ値とが一致するか検証する。
【０１４４】
ステップＳ２０７において、認証サーバ２００ａは、第３ハッシュ値と第４ハッシュ値とが一致した場合（Ｓ２０７でＹ）、データ検証が成功したとして、処理を終了する。一方、ステップＳ２０７において、認証サーバ２００ａは、第３ハッシュ値と第４ハッシュ値とが一致しなかった場合（Ｓ２０７でＮ）、データ検証が成功しなかったとして、データ削除の依頼をするためのトランザクションデータを生成する（Ｓ２０８）。データ削除の依頼をするためのトランザクションデータを以下、第２のトランザクションデータと称する。換言すると、認証サーバ２００ａは、第３ハッシュ値と第４ハッシュ値とが一致しない場合、識別情報を含み、識別情報により特定される暗号化情報の削除依頼を示す第２のトランザクションデータを生成する。
【０１４５】
ステップＳ２０８ａにおいて、認証サーバ２００ａは、ステップＳ２０８で生成した第２のトランザクションデータをエラー通知としてデータサーバ３００ａ〜３００ｃに送信する（Ｓ２０８ａ）。
【０１４６】
また、ステップＳ２０９において、認証サーバ２００ａは、ステップＳ２０８で生成した第２のトランザクションデータを、他の認証サーバ２００（認証サーバ２００ａ、２００ｂ）に転送する。
【０１４７】
次に、ステップＳ２１０において、認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、コンセンサスアルゴリズムを実行する。認証サーバ２００ａと認証サーバ２００ｂと認証サーバ２００ｃとは、受信したトランザクションデータが正当なトランザクションデータであるあること（つまり正当性）を検証すると、それぞれトランザクションデータを含むブロックを生成する。そして、認証サーバ２００ａ、２００ｂ、２００ｃは、トランザクションデータを含むブロックを記憶装置２０１ａ、２０１ｂ、２０１ｃの分散台帳に記録する。換言すると、認証サーバ２００ａは、第３ハッシュ値と第４ハッシュ値とが一致しない場合、認証サーバ２００ａ以外の認証サーバ２００ｂ、２００ｃと同期して、第２のトランザクションデータを分散台帳に記録する。
【０１４８】
また、ステップＳ２１１において、データサーバ３００ａ〜３００ｃは、認証サーバ２００ａから受信したデータ削除の依頼に基づき、データ削除処理を行う。
【０１４９】
［１．１０  実施の形態１の効果］
実施の形態１では、住宅１００、端末１１０または車両１２０などの機器から、履歴情報などのパーソナルデータを秘密計算が可能な方式で暗号化した暗号化データをデータサーバに記録するとともに、当該暗号化データのハッシュ値のみを含めたトランザクションデータを分散台帳に記録する。
【０１５０】
これにより、暗号化データの改ざんを有効に防止できるだけでなく、ブロックチェーンのブロックに含まれる当該トランザクションデータが公開されたとしても、パーソナルデータが漏えいせずに、プライバシ保護を行うことができる。また、秘密計算を用いることで、データサーバに記録されたパーソナルデータを復号せずに利活用できる。
【０１５１】
また、必要に応じて、データサーバに記録されたパーソナルデータの検証を、秘密計算により得た暗号化データのハッシュ値と、分散台帳のトランザクションデータに含まれるハッシュ値とを比較して行うことができる。
【０１５２】
これにより、パーソナルデータを漏えいさせずに、データサーバに記録されたパーソナルデータの検証を行うことができる。
【０１５３】
この結果、ユーザは、パーソナルデータを提供してもプライバシ保護されることから、パーソナルデータを提供すなわち、秘密計算が可能な方式で暗号化した暗号化データを含めたトランザクションデータをデータサーバ３００に提供しやすくなる。
【０１５４】
このように、ブロックチェーン技術を活用して、パーソナルデータの改ざんを有効に防止するだけでなく、パーソナルデータのプライバシ保護を行いつつデータの検証を含むデータの利活用ができる安全なシステムを構築することができる。
【０１５５】
［２．  その他変形例］
なお、本開示を上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【０１５６】
（１）上記の実施の形態では、認証サーバ２００とデータサーバ３００とは別の装置として説明したが、認証サーバ２００とデータサーバ３００とを同一の装置としてもよい。
【０１５７】
（２）上記の実施の形態では、認証サーバ２００は、トランザクションデータの検証を失敗した場合、住宅１００、端末１１０または車両１２０に通知しているが、データサーバ３００にも通知してもよい。このとき、データサーバ３００は受信した暗号化データを削除する。
【０１５８】
（３）上記の実施の形態で説明したように、複数のデータサーバ３００が協力して秘密計算処理を行ってもよいし、既存の秘密計算の暗号化方式に基づいて、１つのデータサーバ３００で秘密計算処理を行ってもよい。
【０１５９】
（４）上記の実施の形態では、秘密計算による暗号化処理は、複数の暗号方式を用いるとしてもよい。これにより、複数の方式に対応ができる。
【０１６０】
（５）上記の実施の形態では、住宅１００、端末１１０及び車両１２０が履歴情報を暗号化して得た暗号化履歴情報をデータサーバ３００に送信しているが、複数のサーバが連携して復号が可能な秘密計算による暗号方式を用いるとしてもよい。このとき、認証サーバ２００の依頼、住宅１００、端末１１０または車両１２０のユーザの許可を基に、データサーバ３００が記録する暗号化データを復号するとしてもよい。これにより必要な時に履歴情報などを復号することができ、データの利活用が可能となる。
【０１６１】
（６）上記の実施の形態では、住宅１００、端末１１０、車両１２０が履歴情報を暗号化して得た暗号化履歴情報を、データサーバ３００に送信しているが、これに限らない。住宅１００、端末１１０または車両１２０が、データサーバ３００で記録されている暗号化履歴情報を受信し、暗号化履歴情報を復号して改ざんを検証してもよい。検証結果として改ざんを検知した場合、認証サーバ２００またはデータサーバ３００にその旨を通知としてもよい。これにより、データサーバ３００に暗号化データである暗号化履歴情報を記録させることで、住宅１００などの機器側で暗号化データを保持する必要がない。また、住宅１００、端末１１０または車両１２０が、データサーバ３００で記録されている暗号化データを受信し、暗号化データを復号して改ざんを検証した場合、検証を行った住宅１００、端末１１０及び車両１２０にトークンを発行するとしてもよい。このとき、トークンは認証サーバ２００で発行されてもよいし、データサーバ３００で発行されてもよいし、認証サーバ２００またはデータサーバ３００が保有するトークンを送信するとしてもよい。
【０１６２】
（７）上記の実施の形態では、ステップＳ１０８で行われるデータ検証が成功しなかった場合、データサーバ３００に通知し、データサーバ３００が記録している暗号化データを削除するとしてもよい。
【０１６３】
（８）上記の実施の形態では、認証サーバ２００がデータ検証の依頼を生成して、データサーバ３００がハッシュ値を計算しているが、これに限らない。データサーバ３００は、定期的または非定期にハッシュ値計算処理を行い、ハッシュ値計算処理により得たハッシュ値を認証サーバ２００に通知することでデータ検証の依頼をしてもよい。
【０１６４】
（９）上記の実施の形態では、認証サーバ２００が記録するブロックチェーンは住宅１００、端末１１０及び車両１２０に公開されるとしてもよい。
【０１６５】
（１０）さらに、本開示には、上記実施の形態のデータ保護システム１０においてブロックチェーンとして記録されるブロックに用いられるデータ構造も含まれる。より具体的には、本開示のデータ構造は、ブロックチェーンのブロックに含まれるトランザクションデータを生成した主体を識別する識別子であるブロックチェーンアドレスと、トランザクションデータを識別するトランザクションＩＤと、トランザクションデータに含まれる第１ハッシュ値であって機器の履歴情報から得られる第１ハッシュ値と、トランザクションデータのユーザの電子署名とを含む。そして、当該トランザクションデータは、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって機器から取得した暗号化履歴情報に対して、データサーバ３００が暗号化したまま演算処理を実行して得た第２ハッシュ値と第１ハッシュ値とが一致する場合に、ブロックに含められる。
【０１６６】
（１１）上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０１６７】
（１２）上記の実施の形態における各装置は、構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０１６８】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部又はすべてを含むように１チップ化されてもよい。
【０１６９】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【０１７０】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１７１】
（１３）上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。前記ＩＣカードまたは前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカードまたは前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカードまたは前記モジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０１７２】
（１４）本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０１７３】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【０１７４】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０１７５】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【０１７６】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０１７７】
（１５）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０１７８】
本開示は、データ保護システムにおいて、機器の履歴情報を秘密計算の方式で暗号化して送信し、サーバで暗号化したままハッシュ値を演算することで、プライバシを保護しつつ、データの検証ができる。
【符号の説明】
【０１７９】
１００  住宅
１０１  コントローラ
１０２  太陽光発電
１０３  蓄電池
１０４  電力メータ
１０５、４００  通信ネットワーク
１０６  電力ネットワーク
１１０  端末
１２０  車両
１２１  ゲートウェイ
２００ａ、２００ｂ、２００ｃ  認証サーバ
２１１  トランザクションデータ検証部
２１２  ブロック生成部
２１３  同期部
２１４  データ検証部
２１５、３１３、１０１３、１１０３、１２１３  記録部
２１６、３１４、１０１４、１１０４、１２１４  通信部
３００ａ、３００ｂ、３００ｃ  データサーバ
３１１  管理部
３１２、１０１２、１１０２、１２１２  秘密計算部
１０１１、１１０１、１２１１  トランザクションデータ生成部
１２１０  エンジン
１２２０  運転アシスト部
１２３０  バッテリー
１２４０  ヘッドユニット
１２５０  通信部
１２１１ａ、１２２１、１２３１、１２４１、１２５１  ＥＣＵ
【図１】
2020024376.tif 000003
【図２】
2020024376.tif 000004
【図３】
2020024376.tif 000005
【図４】
2020024376.tif 000006
【図５】
2020024376.tif 000007
【図６】
2020024376.tif 000008
【図７】
2020024376.tif 000009
【図８】
2020024376.tif 000010
【図９】
2020024376.tif 000011
【図１０】
2020024376.tif 000012
【図１１】
2020024376.tif 000013
【図１２】
2020024376.tif 000014
【図１３】
2020024376.tif 000015