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

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

▶ パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカの特許一覧

特開2024-1347データ保護方法、データ保護システム、及び、データサーバ
<>
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図1
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図2
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図3
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図4
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図5
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図6
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図7
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図8
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図9
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図10
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図11
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図12
  • 特開-データ保護方法、データ保護システム、及び、データサーバ 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024001347
(43)【公開日】2024-01-09
(54)【発明の名称】データ保護方法、データ保護システム、及び、データサーバ
(51)【国際特許分類】
   G09C 1/00 20060101AFI20231226BHJP
   H04L 9/32 20060101ALI20231226BHJP
   G06F 21/60 20130101ALI20231226BHJP
   G06F 21/64 20130101ALI20231226BHJP
【FI】
G09C1/00 650Z
H04L9/32 200Z
H04L9/32 200E
G06F21/60 320
G06F21/64
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023188594
(22)【出願日】2023-11-02
(62)【分割の表示】P 2019096863の分割
【原出願日】2019-05-23
(31)【優先権主張番号】62/715,929
(32)【優先日】2018-08-08
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】海上 勇二
(57)【要約】      (修正有)
【課題】データのプライバシ保護を行いつつ、データを利活用するデータ保護方法、認証サーバ、データ保護システム及びデータ構造を提供する。
【解決手段】方法は、住宅100の履歴情報から得られる第1ハッシュ値を含むトランザクションデータを受信するステップS104aと、暗号化したまま演算が可能な秘密計算方式を用いて住宅100の履歴情報が暗号化された暗号化履歴情報であって住宅100から取得した暗号化履歴情報に対して、データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、データサーバから取得するステップS107と、トランザクションデータを検証し、かつ、第1ハッシュ値と第2ハッシュ値とが一致するか否かを確認するステップS108と、トランザクションデータの正当性を確認し、かつ、第1ハッシュ値と、第2ハッシュ値とが一致する場合、トランザクションデータを分散台帳に記録するステップS111と、を含む。
【選択図】図12
【特許請求の範囲】
【請求項1】
機器と複数のデータサーバとを備えるデータ保護システムにおけるデータ保護方法であって、
前記機器の履歴情報が暗号化された暗号化履歴情報を取得し、
前記機器のユーザの許可を基に、前記複数のデータサーバが連携して復号が可能な秘密計算方式の復号処理により前記暗号化履歴情報を復号する、
データ保護方法。
【請求項2】
機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、
データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得するステップと、
前記トランザクションデータを検証し、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するステップと、
前記トランザクションデータの正当性を確認し、かつ、前記第1ハッシュ値と、前記第2ハッシュ値とが一致する場合、複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む、
データ保護方法。
【請求項3】
さらに、前記機器から、データ検証対象である第1履歴情報の第1暗号化履歴情報を識別する識別情報と前記第1履歴情報から得られる第3ハッシュ値とを取得するステップと、
前記識別情報を含みデータ検証の依頼を示す第1のトランザクションデータを生成して、前記データサーバに送信するステップと、
前記データサーバが記録している前記機器から取得した前記暗号化履歴情報のうち、前記識別情報により特定される前記第1暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第4ハッシュ値を、前記データサーバから取得するステップと、
前記第3ハッシュ値と前記第4ハッシュ値とが一致するか否かを確認するステップと、
前記第3ハッシュ値と前記第4ハッシュ値とが一致しない場合、前記識別情報を含み、前記識別情報により特定される前記第1暗号化履歴情報の削除依頼を示す第2のトランザクションデータを生成して、前記データサーバに送信するステップとを含む、
請求項1に記載のデータ保護方法。
【請求項4】
前記データ保護方法は、さらに、
前記第3ハッシュ値と前記第4ハッシュ値とが一致しない場合、複数の認証サーバで同期して、第2のトランザクションデータを分散台帳に記録するステップを含む、
請求項3に記載のデータ保護方法。
【請求項5】
前記履歴情報は、前記機器のユーザのパーソナルデータを含む、
請求項1~3のいずれか1項に記載のデータ保護方法。
【請求項6】
機器と複数のデータサーバとを備えるデータ保護システムであって、
前記機器の履歴情報が暗号化された暗号化履歴情報を取得し、
前記機器のユーザの許可を基に、前記複数のデータサーバが連携して復号が可能な秘密計算方式の復号処理により前記暗号化履歴情報を復号する、
データ保護システム。
【請求項7】
機器と複数のデータサーバとを備えるデータ保護システムにおける、前記複数のデータサーバのうちの一のデータサーバであって、
前記機器の履歴情報が暗号化された暗号化履歴情報を取得し、
前記機器のユーザの許可を基に、前記複数のデータサーバが連携して復号が可能な秘密計算方式の復号処理により前記暗号化履歴情報を復号する、
データサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ保護方法、認証サーバ、データ保護システム及びデータ構造に関し、特にユーザから収集したデータを利活用するためのデータ保護方法、認証サーバ、データ保護システム及びデータ構造に関する。
【背景技術】
【0002】
近年、ユーザのデータ及び機器のデータなどのデータを収集、分析及び流通するシステムが検討されている。今後、IoT(Internet of Things)が進展しAI等が普及することにより、従来よりも多くのデータを収集することが可能となるため、収集したデータの利活用が期待されている。
【0003】
しかし、収集したデータを利活用するためには、データに含まれるプライバシ情報の保護すなわちデータのプライバシ保護が重要になる。
【0004】
例えば非特許文献1では、産業用制御システム(ICS:Industrial Control Systems)及びIoTにおけるセキュリティについて記載されている。非特許文献1によれば、センサ情報だけでなく、ヘルスケア及びウェアラブルなどのパーソナルデータに関連するプライバシ情報の保護が重要である。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Cyber Physical Security for Industrial Control Systems and IoT、IEICE TRANS. INF. & SYST., VOL.E99-D, NO.4 APRIL 2016
【非特許文献2】ABY - A Framework for Efficient Mixed-Protocol Secure Two-Party Computation、NDSS Symposium 2015
【非特許文献3】Fully Homomorphic Encryption without Bootstrapping、https://eprint.iacr.org/2011/277.pdf(2018年7月20日検索)
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、データを収集及び流通するシステムが、収集したデータのプライバシ保護を行うためにデータを暗号化して流通させる場合には、サービスを提供したい企業などでは、取得できるデータが暗号化されているため、データの利活用が難しい。一方、当該システムが、収集したデータを平文化のまま流通させる場合には、ユーザはデータの漏えいのリスクからデータそのものを提供してくれないため、当該システムはデータを利活用できるほどのデータを収集できない。
【0007】
本開示は、上述の事情を鑑みてなされたもので、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本開示のデータ保護方法は、機器と複数のデータサーバとを備えるデータ保護システムにおけるデータ保護方法であって、前記機器の履歴情報が暗号化された暗号化履歴情報を取得し、前記機器のユーザの許可を基に、前記複数のデータサーバが連携して復号が可能な秘密計算方式の復号処理により前記暗号化履歴情報を復号する、データ保護方法である。
【0009】
なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本開示によれば、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を実現できる。
【図面の簡単な説明】
【0011】
図1図1は、実施の形態に係るデータ流通システムの全体構成の一例を示す図である。
図2図2は、実施の形態に係る住宅の全体構成の一例を示す図である。
図3図3は、図2に示すコントローラの機能構成の一例を示すブロック図である。
図4図4は、実施の形態に係るトランザクションデータのデータ構造の一例を示す図である。
図5図5は、実施の形態に係る端末の機能構成の一例を示すブロック図である。
図6図6は、実施の形態に係る車両が有する車載ネットワークシステムの全体構成の一例を示す図である。
図7図7は、図5に示すゲートウェイの機能構成の一例を示すブロック図である。
図8図8は、実施の形態に係る認証サーバの機能構成の一例を示すブロック図である。
図9図9は、ブロックチェーンのデータ構造を示す説明図である。
図10図10は、実施の形態に係るデータサーバの機能構成の一例を示すブロック図である。
図11図11は、実施の形態に係るデータ保護の全体シーケンス図である。
図12図12は、実施の形態に係るトランザクションデータ登録処理のシーケンス図である。
図13図13は、実施の形態に係るデータ検証処理のシーケンス図である。
【発明を実施するための形態】
【0012】
本開示のデータ保護方法は、機器と複数のデータサーバとを備えるデータ保護システムにおけるデータ保護方法であって、前記機器の履歴情報が暗号化された暗号化履歴情報を取得し、前記機器のユーザの許可を基に、前記複数のデータサーバが連携して復号が可能な秘密計算方式の復号処理により前記暗号化履歴情報を復号する、データ保護方法である。
【0013】
本開示のデータ保護方法は、機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得するステップと、前記トランザクションデータを検証し、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するステップと、前記トランザクションデータの正当性を確認し、かつ、前記第1ハッシュ値と、前記第2ハッシュ値とが一致する場合、複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む、データ保護方法である。
【0014】
本開示のデータ保護システムは、機器と複数のデータサーバとを備えるデータ保護システムであって、前記機器の履歴情報が暗号化された暗号化履歴情報を取得し、前記機器のユーザの許可を基に、前記複数のデータサーバが連携して復号が可能な秘密計算方式の復号処理により前記暗号化履歴情報を復号する、データ保護システムである。
【0015】
本開示のデータサーバは、機器と複数のデータサーバとを備えるデータ保護システムにおける、前記複数のデータサーバのうちの一のデータサーバであって、前記機器の履歴情報が暗号化された暗号化履歴情報を取得し、前記機器のユーザの許可を基に、前記複数のデータサーバが連携して復号が可能な秘密計算方式の復号処理により前記暗号化履歴情報を復号する、データサーバである。
【0016】
本開示の一実施態様のデータ保護方法は、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの第1の認証サーバによって実行されるデータ保護方法であって、前記機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得するステップと、前記トランザクションデータを検証し、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するステップと、前記トランザクションデータの正当性を確認し、かつ、前記第1ハッシュ値と、前記第2ハッシュ値とが一致する場合、前記第1の認証サーバ以外の前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む。
【0017】
これにより、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を実現できる。
【0018】
また、さらに、前記機器から、データ検証対象である第1履歴情報の第1暗号化履歴情報を識別する識別情報と前記第1履歴情報から得られる第3ハッシュ値とを取得するステップと、前記識別情報を含みデータ検証の依頼を示す第1のトランザクションデータを生成して、前記データサーバに送信するステップと、前記データサーバが記録している前記機器から取得した前記暗号化履歴情報のうち、前記識別情報により特定される前記第1暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第4ハッシュ値を、前記データサーバから取得するステップと、前記第3ハッシュ値と前記第4ハッシュ値とが一致するか否かを確認するステップと、前記第3ハッシュ値と前記第4ハッシュ値とが一致しない場合、前記識別情報を含み、前記識別情報により特定される前記第1暗号化履歴情報の削除依頼を示す第2のトランザクションデータを生成して、前記データサーバに送信するステップとを含むとしてもよい。
【0019】
これにより、データ検証対象の機器の履歴情報が、データサーバに保存されているものと一致しない場合に、データサーバ側になる機器の暗号化された履歴情報を削除することができる。
【0020】
また、前記データ保護方法は、さらに、前記第3ハッシュ値と前記第4ハッシュ値とが一致しない場合、前記複数の認証サーバで同期して、前記第2のトランザクションデータを前記分散台帳に記録するステップを含むとしてもよい。
【0021】
これにより、機器の履歴情報が、データサーバに保存されているものと一致しないことをブロックチェーンに残せる。
【0022】
また、例えば、前記履歴情報は、前記機器のユーザのパーソナルデータを含んでいてもよい。
【0023】
また、本開示の一実施態様の認証サーバは、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの一の認証サーバであって、前記機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信し、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得する通信部と、前記トランザクションデータを検証するトランザクションデータ検証部と、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するデータ検証部と、前記トランザクションデータの正当性が確認され、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える。
【0024】
また、本開示の一実施態様のデータ保護システムは、機器と、複数の認証サーバと、複数のデータサーバとを備え、前記機器は、前記機器の履歴情報から得た第1ハッシュ値を含むトランザクションデータを生成し、前記複数の認証サーバのうちの一の認証サーバに送信するトランザクションデータ生成部と、暗号化したまま演算が可能な秘密計算方式を用いて前記履歴情報を暗号化することで、暗号化履歴情報を生成し、前記複数のデータサーバに送信する第1秘密計算部と、を備え、前記データサーバのそれぞれは、前記機器から取得した前記暗号化履歴情報を記録する記録部と、記録している前記暗号化履歴情報に対し、暗号化したまま演算処理を実行することで、記録している前記暗号化履歴情報の第2ハッシュ値を得て、前記一の認証サーバに送信する第2秘密計算部とを備え、前記一の認証サーバは、前記機器から、前記第1ハッシュ値を含む前記トランザクションデータを受信し、前記データサーバから前記第2ハッシュ値を取得する通信部と、前記トランザクションデータを検証するトランザクションデータ検証部と、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するデータ検証部と、前記トランザクションデータの正当性が確認され、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える。
【0025】
また、本開示の一実施態様のデータ構造は、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおいてブロックチェーンとして記録されるブロックに用いられるデータ構造であって、前記データ構造は、ブロックチェーンのブロックに含まれる、トランザクションデータを生成した主体を識別する識別子であるブロックチェーンアドレスと、前記トランザクションデータを識別するトランザクションIDと、前記トランザクションデータに含まれる第1ハッシュ値であって前記機器の履歴情報から得られる第1ハッシュ値と、前記トランザクションデータのユーザの電子署名とを含み、前記トランザクションデータは、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値と前記第1ハッシュ値とが一致する場合に、前記ブロックに含められる。
【0026】
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態等は、一例であって本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の一形態に係る実現形態を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。本開示の実現形態は、現行の独立請求項に限定されるものではなく、他の独立請求項によっても表現され得る。
【0027】
(実施の形態)
まず、本開示のシステム構成について説明する。
【0028】
[1. システム構成]
本開示のデータ保護システムは、機器の履歴情報などのデータが秘密計算が可能な方式で暗号化された暗号化データをデータサーバに記録するとともに、当該暗号化データのハッシュ値を含むトランザクションデータを分散台帳に記録する。これにより、本開示のデータ保護システムは、ブロックチェーン技術を活用して、データのプライバシ保護を行いつつ、データの収集及び利活用を行うことができる。
【0029】
以下では、図面を参照しながら実施の形態におけるデータ保護システム等の説明を行う。
【0030】
[1.1 データ保護システム10の全体構成]
図1は、本実施の形態に係るデータ保護システム10の全体構成の一例を示す図である。
【0031】
データ保護システム10は、図1に示すように、住宅100と、端末110と、車両120と、例えば認証サーバ200a、200b、200cと、データサーバ300a、300b、300cとを備える。これらは、通信ネットワーク400で接続されている。
【0032】
また、認証サーバ200a、200b、200c(以下、認証サーバ200とも表現する)は、記憶装置201a、201b、201c(以下、記憶装置201とも表現する)と接続する。認証サーバ200は、記憶装置201と通信ネットワーク400を介して接続されていてもよいし、内部に記憶装置201を備えてもよい。記憶装置201は、ブロックチェーンのトランザクションデータ及びブロックが電子的に記録される分散台帳を有する。
【0033】
なお、図1では、データ保護システム10が、3つの認証サーバと3つのデータサーバとを備える場合の例が示されているが、これに限らない。すなわち、データ保護システム10は、4つ以上の認証サーバを備えてもよいし、4つ以上のデータサーバを備えてもよい。
【0034】
[1.2 住宅100の構成]
図2は、本実施の形態に係る住宅100の全体構成の一例を示す図である。
【0035】
住宅100は、図2に示すように、コントローラ101と、太陽光発電102と、蓄電池103と、電力メータ104とを備える。コントローラ101、太陽光発電102、蓄電池103及び電力メータ104は、通信ネットワーク105で接続されている。また、太陽光発電102、蓄電池103及び電力メータ104は、電力ネットワーク106で接続されている。なお、住宅100は、例えば住家などの家屋であるが、これに限られない。住宅100は、工場、ビルなどの建物であってもよい。つまり、住宅100は、ユーザが使用する建物であれば、その態様は問われない。また以下では、住宅100内にある機器を宅内の機器と称する。宅内の機器は、本開示の機器の一例である。宅内の機器には、太陽光発電102、蓄電池103及び電力メータ104を含めても、含めなくてもよい。また、住宅100を本開示の機器の一例としてもよい。
【0036】
<コントローラ101>
コントローラ101は、例えば、エネルギーマネジメントシステムのコントローラである。本実施の形態では、コントローラ101は、太陽光発電102を制御したり、太陽光発電102での発電状況及び蓄電池103の蓄電状態を表示したり、売電または買電の申請などを入力したりする。また、コントローラ101は、電力メータ104を介して、外部の電力ネットワーク(不図示)に送電された電力量を管理し、認証サーバ200に通知する。このように、コントローラ101は、宅内の機器を操作したり、宅内の機器の状態を表示したり、宅内の機器に対する入力等を行ったり、宅内の機器の動作履歴、状態変更を管理したりする。
【0037】
<太陽光発電102>
太陽光発電102は、太陽電池を用いて太陽光から直接的に電力に変換する発電方式を搭載した装置である。太陽光発電102は、発電した電力を、住宅100内で使用したり、蓄電池103に蓄電したり、電力ネットワークに送電したりする。
【0038】
<蓄電池103>
蓄電池103は、太陽光発電102で発電された電力を蓄電する。蓄電池103は、例えばコントローラ101の送電指示により、蓄電した電力を電力ネットワークに送電する。また、蓄電池103は、例えばコントローラ101の受電指示により、電力ネットワークから受電された電力を蓄電してもよい。なお、蓄電池103は必須の構成ではなく、住宅100に備えられていなくてもよい。
【0039】
<電力メータ104>
電力メータ104は、外部の電力ネットワークに送電される電力量または外部の電力ネットワークから受電される電力量を計測する。電力メータ104は、コントローラの送電指示により、太陽光発電102または蓄電池103が電力ネットワークに送電したとき、太陽光発電102または蓄電池103が送電した時刻と電力量とを計測し、コントローラ101に通知する。また、電力メータ104は、コントローラ101からの電力使用の指示により、電力ネットワークから受電して使用した電力を計測する。
【0040】
以下、コントローラ101の構成の一例について説明する。
【0041】
[1.3 コントローラ101の構成]
図3は、図2に示すコントローラ101の機能構成の一例を示すブロック図である。
【0042】
コントローラ101は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備える。つまり、コントローラ101は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、コントローラ101は、図3に示すように、トランザクションデータ生成部1011と、秘密計算部1012と、記録部1013と、通信部1014とを備える。
【0043】
<トランザクションデータ生成部1011>
トランザクションデータ生成部1011は、ユーザが宅内の機器の操作をし、機器から操作履歴を受信する場合、または、宅内の機器が状態変更し、機器から状態履歴を受信する場合、操作履歴及び状態履歴などの機器の履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。ここで、機器の履歴情報は、パーソナルデータの一例であり、機器のユーザのパーソナルデータを含む。
【0044】
本実施の形態では、トランザクションデータ生成部1011は、機器から受信した機器の履歴情報のハッシュ値(第1ハッシュ値と称する)を演算し、演算した第1ハッシュ値を含めたトランザクションデータを生成する。
【0045】
ここで、図4を用いて、トランザクションデータ生成部1011が生成するトランザクションデータの構造(データ構造)の一例について説明する。図4は、本実施の形態に係るトランザクションデータのデータ構造の一例を示す図である。
【0046】
図4に示すように、トランザクションデータ生成部1011が生成するトランザクションデータのデータ構造には、トランザクションIDと、ブロックチェーンアドレスと、第1ハッシュ値と、署名とが含まれる。トランザクションIDは、トランザクションデータを識別する識別子である。ブロックチェーンアドレスは、トランザクションデータを生成した主体を識別する識別子であり、図4でBCアドレスと表されている。本実施の形態では、ブロックチェーンアドレスにより、第1ハッシュ値が得られる履歴情報のユーザまたはコントローラを特定することができる。第1ハッシュ値は、機器の履歴情報から得られ、トランザクションデータに含まれる。図4に示すように、第1ハッシュ値は、トランザクションデータのデータ本体であるペイロード部分に含まれる。署名は、ユーザの電子署名である。本実施の形態では、署名は、ユーザ個別の署名生成鍵を用いて生成される。なお、トランザクションデータ生成部1011は、機器の履歴情報を識別する識別子をさらに含めたトランザクションデータを生成してもよい。
【0047】
また、トランザクションデータ生成部1011は、生成したトランザクションデータを記録部1013に記録する。また、トランザクションデータ生成部1011は、生成したトランザクションデータを、通信部1014を介して、認証サーバ200a、200b、200cのうちの少なくとも1つの認証サーバ200に送信する。
【0048】
<秘密計算部1012>
秘密計算部1012は、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部1012は、トランザクションデータ生成部1011から受信した機器の履歴情報に対して秘密計算方式の暗号化処理を行う。秘密計算部1012は、機器の履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部1014を介して、データサーバ300に送信する。
【0049】
ここで、秘密計算方式を用いて暗号化処理されたデータは、暗号化した状態のままで画像認識を含む演算処理を行うことができる。秘密計算方式を用いた暗号化処理は、例えば非特許文献2または非特許文献3に開示される方法を用いて行うことができる。非特許文献2または非特許文献3に開示される方法で暗号化することで、暗号化したまま四則演算が可能となり、ハッシュ値を求めることができる。暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータデータなどから取得するとしてもよい。また、暗号化処理に、複数の方法を用いるとしてもよい。
【0050】
<記録部1013>
記録部1013は、トランザクションデータ生成部1011で生成したトランザクションデータと秘密計算部1012で暗号化したデータである暗号化履歴情報とを記録する。本実施の形態では、記録部1013は、秘密計算部1012で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部1011で生成した第1ハッシュ値を含むトランザクションデータを記録する。
【0051】
<通信部1014>
通信部1014は、通信ネットワーク400を介してデータサーバ300及び認証サーバ200との通信を行う。この通信は、TLS(Transport Layer Security)によりなされてもよい。この場合、TLS通信用の暗号鍵は通信部1014で保持してもよい。
【0052】
次に、端末110について説明する。
【0053】
[1.4 端末110の構成]
図5は、本実施の形態に係る端末110の機能構成の一例を示すブロック図である。
【0054】
端末110は、本開示の機器の一例であり、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。また、端末110は、例えばスマートフォンのような表示部及び入力部を有する機器、または、ウェアラブルデバイスのようなユーザのセンサ情報を取得する機器などである。
【0055】
本実施の形態では、端末110は、図5に示すように、トランザクションデータ生成部1101と、秘密計算部1102と、記録部1103と、通信部1104とを備える。
【0056】
<トランザクションデータ生成部1101>
トランザクションデータ生成部1101は、ユーザによる端末110の操作履歴、ユーザが端末110に入力した情報の履歴、及び端末110が収集したユーザに関する情報の履歴などを含む履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。ユーザが端末110に入力した情報の履歴は、例えば、ユーザが端末110を利用して撮影した過去の複数の写真である。端末110が収集したユーザに関する情報の履歴は、例えばユーザの体温を示す情報などのセンサ情報の履歴である。
【0057】
本実施の形態では、トランザクションデータ生成部1101は、端末110から取得した履歴情報のハッシュ値(第1ハッシュ値とも称する)を演算し、演算した第1ハッシュ値を含めたトランザクションデータを生成する。
【0058】
ここで、トランザクションデータ生成部1101が生成するトランザクションデータの構造(データ構造)は、図4に示した通りである。すなわち、トランザクションデータ生成部1101が生成するトランザクションデータのデータ構造には、トランザクションIDと、ブロックチェーンアドレスと、第1ハッシュ値と、署名とが含まれる。
【0059】
なお、このブロックチェーンアドレスは、上述したように、トランザクションデータを生成した主体を識別する識別子であり、ユーザまたは端末110を特定することができる。トランザクションデータ生成部1101は、履歴情報を識別する識別子をブロックチェーンアドレスとは別に含めたトランザクションデータを生成してもよい。
【0060】
また、トランザクションデータ生成部1101は、生成したトランザクションデータを記録部1103に記録する。また、トランザクションデータ生成部1101は、生成したトランザクションデータを、通信部1104を介して、認証サーバ200a、200b、200cのうちの少なくとも1つの認証サーバ200に送信する。
【0061】
<秘密計算部1102>
秘密計算部1102は、暗号化したまま演算が可能な秘密計算方式を用いて端末110の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部1102は、トランザクションデータ生成部1101から受信した端末110の履歴情報または端末110が保持する過去の複数の写真、センサ情報の履歴などの履歴情報に対して、秘密計算方式の暗号化処理を行う。また、秘密計算部1102は、履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部1104を介して、データサーバ300に送信する。
【0062】
なお、秘密計算方式を用いた暗号化処理は、上述した通りのため詳述を省略するが、例えば非特許文献2及び/または非特許文献3に開示される方法を用いればよい。また、上述した通り暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータなどから取得するとしてもよい。また、暗号化処理に、複数の方法を用いるとしてもよい。
【0063】
<記録部1103>
記録部1103は、トランザクションデータ生成部1101で生成したトランザクションデータと秘密計算部1102で暗号化したデータである暗号化履歴情報を記録する。本実施の形態では、記録部1103は、秘密計算部1102で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部1101で生成した第1ハッシュ値を含むトランザクションデータを記録する。
【0064】
<通信部1104>
通信部1104は、通信ネットワーク400を介してデータサーバ300及び認証サーバ200との通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は、通信部1104で保持してもよい。
【0065】
次に、車両120について説明する。
【0066】
[1.5 車両120の構成]
車両120は、例えば自動車であるが、これに限られない。車両120は、自動二輪車、船舶等であってもよい。つまり、車両120等は、車両120内のネットワークに複数のECUが接続されていればよい。
【0067】
図6は、本実施の形態に係る車両120が有する車載ネットワークシステムの全体構成の一例を示す図である。
【0068】
複数の電子制御ユニットであるECU1211a、ECU1221、ECU1231、ECU1241、ECU1251、及び、ゲートウェイ121が車載ネットワークで接続されている。ここで、車載ネットワークはCANであってもよいし、Ethernet(登録商標)であってもよいし、CANとEthernet(登録商標)とが混在したものであってもよい。なお、車載ネットワークがEthernet(登録商標)を含む場合でも、ブロードキャストでメッセージを送信されるとしてもよい。
【0069】
車載ネットワークには、例えば、エンジン1210、バッテリー1230や、図示しないモータ、燃料の制御に関連する駆動系のECUが接続されている。図6に示す例では、車載ネットワークには、エンジン1210用のECU1211a、及び、バッテリー1230用のECU1231が接続されている。
【0070】
また、車載ネットワークには、運転アシスト部1220、並びに、図示しない自動ブレーキ、車線維持、車間距離機能、衝突防止機能及びエアバッグなどの安全快適機能系ECUが接続されている。図6に示す例では、車載ネットワークには、運転アシスト部1220用のECU1221が接続されている。
【0071】
また、車載ネットワークには、ヘッドユニット1240などインフォテイメント系ECUが接続されている。図6に示す例では、車載ネットワークには、ヘッドユニット1240用のECU1241が接続されている。なお、ヘッドユニット1240用のECU1241がなく、ヘッドユニット1240がECU1241を介さず車載ネットワークに直接接続されていてもよい。また、ヘッドユニットは表示部及び入力部を有し、車両120の中すなわち車内に搭乗しているユーザに対し、画面の表示及び情報入力を受け付ける機能を保持する。
【0072】
また、車載ネットワークには、認証サーバ200と通信する通信機能を有する通信部1250など通信系ECUが接続されている。図6に示す例では、車載ネットワークには、通信部1250用のECU1251が接続されている。
【0073】
なお、上述したECU1211a~ECU1251は、それぞれが接続する部品と一体すなわち1つの部品で構成されるとしてもよい。例えば、エンジン1210とこれに接続されるエンジン1210用のECU1211aとが1つの部品として構成されてもよい。他のECU1221等も同様である。
【0074】
このような複数の電子制御ユニットすなわちECU1211a~ECU1251は、定期的または非定期的にメッセージを送信する。例えば、エンジン1210用のECU1211aは、エンジン1210の回転数を取得しており、定期的に、取得したエンジン1210の回転数を示すメッセージを送信する。また、例えば運転アシスト部1220用のECU1221であれば、運転アシスト機能がONになった時にその旨を示すメッセージを送信する。また、ECUが新規に車載ネットワークに接続したときに、その旨を示すメッセージを送信するとしてもよい。
【0075】
次に、車載ネットワークに接続されているゲートウェイ121について説明する。
【0076】
[1.6 ゲートウェイ121の構成]
図7は、図6に示すゲートウェイ121の機能構成の一例を示すブロック図である。
【0077】
ゲートウェイ121は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、ゲートウェイ121は、図7に示すように、トランザクションデータ生成部1211と、秘密計算部1212と、記録部1213と、通信部1214とを備える。
【0078】
<トランザクションデータ生成部1211>
トランザクションデータ生成部1211は、車両120の手動運転履歴もしくは自動運転履歴、及び、車両120のセンサ情報の履歴などを含む車両120の履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。
【0079】
本実施の形態では、トランザクションデータ生成部1211は、車両120から取得した履歴情報のハッシュ値(第1ハッシュ値と称する)を演算し、演算した第1ハッシュ値を含めたトランザクションデータを生成する。
【0080】
ここで、トランザクションデータ生成部1211が生成するトランザクションデータの構造(データ構造)は、図4に示した通りである。すなわち、トランザクションデータ生成部1211が生成するトランザクションデータのデータ構造には、トランザクションIDと、ブロックチェーンアドレスと、第1ハッシュ値と、署名とが含まれる。
【0081】
なお、このブロックチェーンアドレスは、上述したように、トランザクションデータを生成した主体を識別する識別子であり、車両120のユーザ、ゲートウェイ121または車両120を特定することができる。また、上記と同様に、トランザクションデータ生成部1211は、履歴情報を識別する識別子をトランザクションIDとは別に含めたトランザクションデータを生成してもよい。
【0082】
また、トランザクションデータ生成部1211は、生成したトランザクションデータを記録部1213に記録する。また、トランザクションデータ生成部1211は、生成したトランザクションデータを、通信部1214を介して、認証サーバ200a、200b、200cのうちの少なくとも1つの認証サーバ200に送信する。
【0083】
<秘密計算部1212>
秘密計算部1212は、暗号化したまま演算が可能な秘密計算方式を用いて車両120の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部1212は、トランザクションデータ生成部1211から受信した車両120の運転履歴、センサ情報の履歴などの履歴情報に対して、秘密計算方式の暗号化処理を行う。また、秘密計算部1212は、履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部1214を介して、データサーバ300に送信する。
【0084】
なお、秘密計算方式を用いた暗号化処理は、上述した通りのため詳述を省略するが、例えば非特許文献2及び/または非特許文献3に開示される方法を用いればよい。
【0085】
また、上述した通り暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータなどから取得するとしてもよい。
【0086】
<記録部1213>
記録部1213は、トランザクションデータ生成部1211で生成したトランザクションデータと秘密計算部1212で暗号化したデータである暗号化履歴情報を記録する。本実施の形態では、記録部1213は、秘密計算部1212で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部1211で生成した第1ハッシュ値を含むトランザクションデータを記録する。
【0087】
<通信部1214>
通信部1214は、通信ネットワーク400を介してデータサーバ300及び認証サーバ200との通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は、通信部1214で保持してもよい。
【0088】
次に、認証サーバ200a等について説明する。
【0089】
[1.7 認証サーバ200aの構成]
図8は、本実施の形態に係る認証サーバ200aの機能構成の一例を示すブロック図である。認証サーバ200b、200cも同様の構成であるため、以下では、認証サーバ200aを例に挙げて説明する。
【0090】
認証サーバ200aは、図8に示すように、トランザクションデータ検証部211、ブロック生成部212と、同期部213と、データ検証部214と、記録部215と、通信部216とを備える。認証サーバ200aは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
【0091】
<トランザクションデータ検証部211>
トランザクションデータ検証部211は、受信したトランザクションデータを検証する。具体的には、住宅100、端末110または車両120などの機器からのトランザクションデータを受信すると、トランザクションデータのフォーマットが合っているか、及び署名が正当であるかを検証する。このように、トランザクションデータ検証部211は、受信したトランザクションデータの正当性を確認することでトランザクションデータを検証する。
【0092】
トランザクションデータ検証部211は、検証の結果、トランザクションデータの正当性を確認した場合、そのトランザクションデータを、記録部215に記録し、同期部213へ通知する。
【0093】
<ブロック生成部212>
ブロック生成部212は、トランザクションデータ検証部211においてトランザクションデータの検証が成功した場合、複数の認証サーバの間で、トランザクションデータについてのコンセンサスアルゴリズムを実行する。ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)とよばれるコンセンサスアルゴリズムを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。
【0094】
このように、本実施の形態では、ブロック生成部212は、認証サーバ200a、認証サーバ200b及び認証サーバ200cの間でコンセンサスアルゴリズムを実行する。すなわち、ブロック生成部212は、まず、1以上のトランザクションデータを含むブロックチェーンのブロックを生成する。次に、ブロック生成部212は、コンセンサスアルゴリズムを実行する。そして、ブロック生成部212は、コンセンサスアルゴリズムを実行することで合意形成ができた場合、生成したブロックを記録部215に記録する。ブロック生成部212により生成されたブロックは、記録部215によりブロックチェーンに接続されて記録される。
【0095】
ここで、ブロックチェーンのデータ構造と、ブロックチェーンに含まれるトランザクションデータの一部のデータ構造とについて説明する。
【0096】
図9は、ブロックチェーンのデータ構造を示す説明図である。
【0097】
ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。
【0098】
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。
【0099】
<同期部213>
同期部213は、認証サーバ(認証サーバ200a~200c)の間でブロックチェーンのブロック、または、トランザクションデータの同期を行う。
【0100】
複数の認証サーバ200a~200cの同期部213では、peer to peerでブロックチェーンのトランザクションデータの同期を行う。そして、同期部213は、同期が行われたブロックチェーンのトランザクションデータを記録部215に記録する。
【0101】
例えば、同期部213は、トランザクションデータ検証部211においてトランザクションデータの正当性が検証されると、他の認証サーバ200である認証サーバ200b、200cに検証済みのトランザクションデータを転送する。また、同期部213は、他の認証サーバ200から検証済みのトランザクションデータを受信した場合、受信した検証済みのトランザクションデータを記録部215に記録する。
【0102】
<データ検証部214>
データ検証部214は、データサーバ300に記録されているデータである暗号化履歴情報の検証依頼を送信し、データ検証対象である暗号化履歴情報から得たハッシュ値を、データサーバ300から受け取る。より具体的には、データ検証部214は、データ検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報を含みデータ検証の依頼を示すトランザクションデータを生成して、データサーバ300に送信する。すると、データ検証部214はデータサーバ300が記録している暗号化履歴情報のうち識別情報により特定される暗号化履歴情報に対して、暗号化したまま演算処理が実行されて得たハッシュ値を、データサーバ300から取得する。
【0103】
データ検証部214は、記録部215に記録されているデータ検証対象である機器の履歴情報から得たハッシュ値と、データサーバ300から取得したハッシュ値とが一致するか否かを検証する。
【0104】
なお、データ検証部214は、暗号化履歴情報の検証依頼を行う際には、暗号化履歴情報を識別する識別情報を含むトランザクションデータをデータサーバ300に送信するとしたが、これに限らない。データ検証部214は、当該識別子のみを送信するとしてもよいし、当該識別子に代えて、データの属性種別を示す情報を含め、データ検証の依頼を示すトランザクションデータを送信するとしてもよい。これにより、データ検証対象の暗号化履歴情報を識別できる。
【0105】
<記録部215>
記録部215は、トランザクションデータをブロックに含めて、記憶装置201aの分散台帳にあるブロックチェーンに記録する。当該記憶装置201aは、記録部215の内部に構成されていてもよいし、図1に示すように、認証サーバ200aの外部に構成されていてもよい。
【0106】
このトランザクションデータは、住宅100、端末110または車両120から受信したトランザクションデータを含む。
【0107】
本実施の形態では、記録部215は、機器から受信したトランザクションデータの正当性が確認され、かつ、記録部215に記録されているハッシュ値とデータサーバ300から取得したハッシュ値とが一致する場合、そのトランザクションデータを分散台帳に記録する。
【0108】
<通信部216>
通信部216は、住宅100、端末110、車両120、認証サーバ200b、200c、及び、データサーバ300a、300b、300cとの通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は通信部216で保持してもよい。
【0109】
本実施の形態では、通信部216は、機器の履歴情報から得られるハッシュ値を含み、機器により生成されたトランザクションデータを受信する。また、通信部216は、データサーバ300が記録している、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって当該機器から取得した暗号化履歴情報に対して、データサーバ300が暗号化したまま演算処理を実行して得たハッシュ値を、データサーバ300から取得する。
【0110】
次に、データサーバ300a等について説明する。
【0111】
[1.8 データサーバ300aの構成]
図10は、本実施の形態に係るデータサーバ300aの機能構成の一例を示すブロック図である。データサーバ300b、300cも同様の構成であるため、以下では、データサーバ300aを例に挙げて説明する。
【0112】
データサーバ300aは、図10に示すように、管理部311と、秘密計算部312と、記録部313と、通信部314とを備える。
【0113】
<管理部311>
管理部311は、住宅100、端末110または車両120などの機器から受信した暗号化データである暗号化履歴情報を、記録部313に記録する。
【0114】
また、管理部311は、認証サーバ200から、記録部313に記録されているデータである暗号化履歴情報の検証依頼を受信した場合、データ検証対象の暗号化履歴情報を秘密計算部312に送信する。より具体的には、管理部311は、検証依頼に付与されている識別子または属性種別を示す情報に基づき、記録部313に記録され、かつ、データ検証対象である暗号化履歴情報に対する、秘密計算によるハッシュ値計算処理の依頼を、秘密計算部312に送信する。
【0115】
管理部311は、秘密計算部312から受信した、データ検証対象である暗号化履歴情報のハッシュ値を受信し、認証サーバ200に送信する。
【0116】
<秘密計算部312>
秘密計算部312は、管理部311から、データ検証対象である暗号化履歴情報に対する、秘密計算によるハッシュ値計算処理の依頼を受信すると、記録部313に記録され、かつ、データ検証対象である暗号化履歴情報を用いて秘密計算を行い、ハッシュ値を算出する。なお、秘密計算部312は、他のデータサーバ300b、300cと連携して秘密計算を行い、データ検証対象の暗号化データである暗号化履歴情報のハッシュ値を算出してもよい。また、秘密計算によるハッシュ値計算処理は、非特許文献2及び/または非特許文献3に開示される方法を用いて実行すればよい。
【0117】
秘密計算部312は、算出したハッシュ値を管理部311に送信する。
【0118】
<記録部313>
記録部313は、住宅100、端末110または車両120などの機器から受信した暗号化データである暗号化履歴情報を記録する。
【0119】
<通信部314>
通信部314は、認証サーバ200a、200b、200cとの通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は通信部314で保持してもよい。
【0120】
[1.9 住宅と認証サーバとデータサーバとの間のデータ流通の全体シーケンス]
続いて、住宅100と認証サーバ200a~200cとデータサーバ300a~300cとの間におけるデータ流通のシーケンスについて説明する。
【0121】
図11は、本実施の形態に係るデータ保護の全体シーケンス図である。各処理については後述する。なお、図11に示す住宅100は、端末110または車両120でもよく、いずれも本開示の機器の一例となる。
【0122】
まず、ステップS100において、住宅100と認証サーバ200a、200b、200cとデータサーバ300a、300b、300cとの間でトランザクションデータ登録処理が行われる。次に、ステップS200において、認証サーバ200a、200b、200cとデータサーバ300a、300b、300cとの間でデータ検証処理が行われる。
【0123】
なお、データ検証処理は、定期的に実行されてもよいし、トランザクションデータ登録処理が実行されてから一定期間後に実行されてもよいし、トランザクションデータ登録処理が複数回行われてから実行されてもよい。
【0124】
[1.9.1 住宅と認証サーバとの間のトランザクション登録処理]
続いて、住宅100と認証サーバ200a、200b、200cとの間でのトランザクションデータ登録処理について説明する。
【0125】
図12は、本実施の形態に係るトランザクションデータ登録処理のシーケンス図である。図12では、本開示の機器の一例としての住宅100がトランザクションデータを登録するとして説明するが、これに限らない。端末110または車両120であってもよく、同様のシーケンスとなる。
【0126】
まず、ステップS101において、住宅100のコントローラ101は、宅内の機器の履歴情報などを取得し、トランザクションデータの元となるデータを生成する。例えば、住宅100は、宅内にある家電機器の操作履歴、太陽光発電102で発電した電力量もしくは蓄電池103から出力された電力量などの履歴情報を取得し、トランザクションデータの元となるデータを生成する。
【0127】
次に、ステップS102において、住宅100のコントローラ101は、ステップS101で取得した履歴情報などのデータに対し、ハッシュ値計算処理と、秘密計算処理すなわち秘密計算方式を用いた暗号化処理とを行う。秘密計算方式は、認証サーバ200a、200b、200cとデータサーバ300a、300b、300cと住宅100のコントローラ101との間で予め共有してもよいし、データ保護システム10で決まっているとしてもよい。
【0128】
次に、ステップS103において、住宅100のコントローラ101は、ステップS102でハッシュ値計算処理により得た履歴情報のハッシュ値(以下、第1ハッシュ値と称する)を用いてトランザクションデータを生成する。より具体的には、機器の履歴情報から得られる第1ハッシュ値を含むトランザクションデータを生成する。ここで、トランザクションデータには、第1ハッシュ値以外に、上述したようにトランザクションIDと、ブロックチェーンアドレスと、署名とが含まれている。
【0129】
次に、ステップS104において、住宅100のコントローラ101は、ステップS103で生成した、第1ハッシュ値を含むトランザクションデータを、認証サーバ200aに送信する。すると、認証サーバ200aは、第1ハッシュ値を含むトランザクションデータを受信し、第1ハッシュ値を取得する(S104a)。なお、図12に示す例では、住宅100のコントローラ101は、生成したトランザクションデータを、認証サーバ200aに送信するとして説明しているが、認証サーバ200bまたは認証サーバ200cに送信してもよい。認証サーバ200bまたは認証サーバ200cに送信した場合も同様の処理となるからである。
【0130】
次に、ステップS105において、住宅100のコントローラ101は、ステップS102で秘密計算処理により得た暗号化データである暗号化履歴情報をデータサーバ300a~300cに送信する。すると、データサーバ300a~300cはそれぞれ、暗号化履歴情報を受信し、記録する(S105a)。
【0131】
次に、ステップS106において、データサーバ300a~300cは、受信した暗号化データである暗号化履歴情報に対して、秘密計算によるハッシュ値計算処理を行い、ハッシュ値(以下、第2ハッシュ値と称する)を算出する。データサーバ300aは、算出した第2ハッシュ値を認証サーバ200aに送信する。
【0132】
なお、図12に示す例では、複数のデータサーバ300間(データサーバ300a~300c)で連携して秘密計算を行い第2ハッシュ値を算出するとして説明するが、一以上のデータサーバ300が秘密計算を行い第2ハッシュ値を算出するとしてもよい。
【0133】
次に、ステップS107において、認証サーバ200aは、データサーバ300aから送信された第2ハッシュ値を取得する。換言すると、認証サーバ200aは、データサーバ300a等が記録している、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって機器から取得した暗号化履歴情報に対して、データサーバ300a等が暗号化したまま演算処理を実行して得た第2ハッシュ値を、データサーバ300aから取得する。
【0134】
次に、ステップS108において、認証サーバ200aは、住宅100から受信したトランザクションデータの検証と、住宅100とデータサーバ300aから取得したハッシュ値とが一致するかを確認する。換言すると、認証サーバ200aは、トランザクションデータを検証し、かつ、第1ハッシュ値と第2ハッシュ値とが一致するか否かを確認する。
【0135】
ステップS108において、認証サーバ200aは、トランザクションデータの検証が成功しなかった場合、または、取得した第1ハッシュ値と第2ハッシュ値とが一致しなかった場合(S108でN)、住宅100にその旨の通知を送信し(S109)、処理を終了する。
【0136】
一方、ステップS108において、認証サーバ200aは、トランザクションデータの検証が成功し、かつ、取得した第1ハッシュ値と第2ハッシュ値とが一致した場合(S108でY)、他の認証サーバ200(認証サーバ200b、200c)に、トランザクションデータを転送する(S110)。なお、認証サーバ200b、200cでも、転送されて受信したトランザクションデータを検証する。
【0137】
次に、ステップS111おいて、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する。認証サーバ200aと認証サーバ200bと認証サーバ200cとは、受信したトランザクションデータが正当なトランザクションデータであること(つまり正当性)を検証すると、それぞれトランザクションデータを含むブロックを生成する。そして、認証サーバ200a、200b、200cは、トランザクションデータを含むブロックを記憶装置201a、201b、201cの分散台帳に記録する。換言すると、認証サーバ200aは、住宅100から受信したトランザクションデータの正当性を確認し、かつ、第1ハッシュ値と第2ハッシュ値とが一致する場合、認証サーバ200a以外の認証サーバ200b、200cと同期して、トランザクションデータを分散台帳に記録する。
【0138】
[1.9.2 データサーバと認証サーバとの間のデータ検証処理]
続いて、データサーバ300と認証サーバ200a、200b、200cとの間でのデータ検証処理について説明する。
【0139】
図13は、本実施の形態に係るデータ検証処理のシーケンス図である。図13では、認証サーバ200aがデータ検証の依頼を行い、データ検証処理を行うとして説明しているが、認証サーバ200bまたは認証サーバ200cが行ってもよい。認証サーバ200bまたは認証サーバ200cが行った場合も同様の処理となる。
【0140】
まず、ステップS201aにおいて、認証サーバ200aは、データ検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報(ID)と、当該履歴情報から得られるハッシュ値(以下、第3ハッシュ値と称する)とを、分散台帳に記録されているトランザクションデータから、または機器が送信したトランザクションデータから取得する。
【0141】
次に、ステップS201において、認証サーバ200aは、データ検証対象である機器の履歴情報の検証依頼を行う。具体的には、認証サーバ200aは、取得したトランザクションデータに含まれる識別情報などから、検証対象となる履歴情報を選択し、データ検証の依頼を生成する。
【0142】
次に、ステップS202において、認証サーバ200aは、検証対象となる履歴情報のデータ検証の依頼を示すトランザクションデータ(以下、第1のトランザクションデータと称する)を生成する。例えば、認証サーバ200aは、トランザクションIDと、検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報と、署名とを含む第1のトランザクションデータを生成する。
【0143】
次に、ステップS203において、認証サーバ200aは、ステップS202で生成したデータ検証の依頼を示す第1のトランザクションデータを、データサーバ300a~300cに送信する。
【0144】
次に、ステップS204において、データサーバ300a~300cは、認証サーバ200aから受信した第1のトランザクションデータに基づき、データサーバ300b、300cと連携して、データ検証対象である暗号化履歴情報に対して秘密計算によるハッシュ値計算処理を行う。なお、秘密計算によるハッシュ値計算処理は、複数のデータサーバ300の間で連携して行われる場合に限らず、一以上のデータサーバ300により行われるとしてもよい。
【0145】
次に、ステップS205において、データサーバ300aは、データ検証対象である暗号化履歴情報に対して秘密計算によるハッシュ値計算処理を行うことで算出したハッシュ値(以下、第4ハッシュ値と称する)を、認証サーバ200aに送信する。
【0146】
次に、ステップS206において、認証サーバ200aは、データサーバ300aから第4ハッシュ値を取得する。換言すると、認証サーバ200aは、データサーバ300a等が記録している暗号化履歴情報のうち、識別情報により特定される暗号化履歴情報に対して、暗号化したまま演算処理を実行して得た第4ハッシュ値を、データサーバ300aから取得する。
【0147】
次に、ステップS207において、認証サーバ200aは、ステップS201aで取得した第3ハッシュ値と、ステップS206で取得した第4ハッシュ値とが一致するか検証する。
【0148】
ステップS207において、認証サーバ200aは、第3ハッシュ値と第4ハッシュ値とが一致した場合(S207でY)、データ検証が成功したとして、処理を終了する。一方、ステップS207において、認証サーバ200aは、第3ハッシュ値と第4ハッシュ値とが一致しなかった場合(S207でN)、データ検証が成功しなかったとして、データ削除の依頼をするためのトランザクションデータを生成する(S208)。データ削除の依頼をするためのトランザクションデータを以下、第2のトランザクションデータと称する。換言すると、認証サーバ200aは、第3ハッシュ値と第4ハッシュ値とが一致しない場合、識別情報を含み、識別情報により特定される暗号化情報の削除依頼を示す第2のトランザクションデータを生成する。
【0149】
ステップS208aにおいて、認証サーバ200aは、ステップS208で生成した第2のトランザクションデータをエラー通知としてデータサーバ300a~300cに送信する(S208a)。
【0150】
また、ステップS209において、認証サーバ200aは、ステップS208で生成した第2のトランザクションデータを、他の認証サーバ200(認証サーバ200a、200b)に転送する。
【0151】
次に、ステップS210において、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する。認証サーバ200aと認証サーバ200bと認証サーバ200cとは、受信したトランザクションデータが正当なトランザクションデータであるあること(つまり正当性)を検証すると、それぞれトランザクションデータを含むブロックを生成する。そして、認証サーバ200a、200b、200cは、トランザクションデータを含むブロックを記憶装置201a、201b、201cの分散台帳に記録する。換言すると、認証サーバ200aは、第3ハッシュ値と第4ハッシュ値とが一致しない場合、認証サーバ200a以外の認証サーバ200b、200cと同期して、第2のトランザクションデータを分散台帳に記録する。
【0152】
また、ステップS211において、データサーバ300a~300cは、認証サーバ200aから受信したデータ削除の依頼に基づき、データ削除処理を行う。
【0153】
[1.10 実施の形態1の効果]
実施の形態1では、住宅100、端末110または車両120などの機器から、履歴情報などのパーソナルデータを秘密計算が可能な方式で暗号化した暗号化データをデータサーバに記録するとともに、当該暗号化データのハッシュ値のみを含めたトランザクションデータを分散台帳に記録する。
【0154】
これにより、暗号化データの改ざんを有効に防止できるだけでなく、ブロックチェーンのブロックに含まれる当該トランザクションデータが公開されたとしても、パーソナルデータが漏えいせずに、プライバシ保護を行うことができる。また、秘密計算を用いることで、データサーバに記録されたパーソナルデータを復号せずに利活用できる。
【0155】
また、必要に応じて、データサーバに記録されたパーソナルデータの検証を、秘密計算により得た暗号化データのハッシュ値と、分散台帳のトランザクションデータに含まれるハッシュ値とを比較して行うことができる。
【0156】
これにより、パーソナルデータを漏えいさせずに、データサーバに記録されたパーソナルデータの検証を行うことができる。
【0157】
この結果、ユーザは、パーソナルデータを提供してもプライバシ保護されることから、パーソナルデータを提供すなわち、秘密計算が可能な方式で暗号化した暗号化データを含めたトランザクションデータをデータサーバ300に提供しやすくなる。
【0158】
このように、ブロックチェーン技術を活用して、パーソナルデータの改ざんを有効に防止するだけでなく、パーソナルデータのプライバシ保護を行いつつデータの検証を含むデータの利活用ができる安全なシステムを構築することができる。
【0159】
[2. その他変形例]
なお、本開示を上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【0160】
(1)上記の実施の形態では、認証サーバ200とデータサーバ300とは別の装置として説明したが、認証サーバ200とデータサーバ300とを同一の装置としてもよい。
【0161】
(2)上記の実施の形態では、認証サーバ200は、トランザクションデータの検証を失敗した場合、住宅100、端末110または車両120に通知しているが、データサーバ300にも通知してもよい。このとき、データサーバ300は受信した暗号化データを削除する。
【0162】
(3)上記の実施の形態で説明したように、複数のデータサーバ300が協力して秘密計算処理を行ってもよいし、既存の秘密計算の暗号化方式に基づいて、1つのデータサーバ300で秘密計算処理を行ってもよい。
【0163】
(4)上記の実施の形態では、秘密計算による暗号化処理は、複数の暗号方式を用いるとしてもよい。これにより、複数の方式に対応ができる。
【0164】
(5)上記の実施の形態では、住宅100、端末110及び車両120が履歴情報を暗号化して得た暗号化履歴情報をデータサーバ300に送信しているが、複数のサーバが連携して復号が可能な秘密計算による暗号方式を用いるとしてもよい。このとき、認証サーバ200の依頼、住宅100、端末110または車両120のユーザの許可を基に、データサーバ300が記録する暗号化データを復号するとしてもよい。これにより必要な時に履歴情報などを復号することができ、データの利活用が可能となる。
【0165】
(6)上記の実施の形態では、住宅100、端末110、車両120が履歴情報を暗号化して得た暗号化履歴情報を、データサーバ300に送信しているが、これに限らない。住宅100、端末110または車両120が、データサーバ300で記録されている暗号化履歴情報を受信し、暗号化履歴情報を復号して改ざんを検証してもよい。検証結果として改ざんを検知した場合、認証サーバ200またはデータサーバ300にその旨を通知としてもよい。これにより、データサーバ300に暗号化データである暗号化履歴情報を記録させることで、住宅100などの機器側で暗号化データを保持する必要がない。また、住宅100、端末110または車両120が、データサーバ300で記録されている暗号化データを受信し、暗号化データを復号して改ざんを検証した場合、検証を行った住宅100、端末110及び車両120にトークンを発行するとしてもよい。このとき、トークンは認証サーバ200で発行されてもよいし、データサーバ300で発行されてもよいし、認証サーバ200またはデータサーバ300が保有するトークンを送信するとしてもよい。
【0166】
(7)上記の実施の形態では、ステップS108で行われるデータ検証が成功しなかった場合、データサーバ300に通知し、データサーバ300が記録している暗号化データを削除するとしてもよい。
【0167】
(8)上記の実施の形態では、認証サーバ200がデータ検証の依頼を生成して、データサーバ300がハッシュ値を計算しているが、これに限らない。データサーバ300は、定期的または非定期にハッシュ値計算処理を行い、ハッシュ値計算処理により得たハッシュ値を認証サーバ200に通知することでデータ検証の依頼をしてもよい。
【0168】
(9)上記の実施の形態では、認証サーバ200が記録するブロックチェーンは住宅100、端末110及び車両120に公開されるとしてもよい。
【0169】
(10)さらに、本開示には、上記実施の形態のデータ保護システム10においてブロックチェーンとして記録されるブロックに用いられるデータ構造も含まれる。より具体的には、本開示のデータ構造は、ブロックチェーンのブロックに含まれるトランザクションデータを生成した主体を識別する識別子であるブロックチェーンアドレスと、トランザクションデータを識別するトランザクションIDと、トランザクションデータに含まれる第1ハッシュ値であって機器の履歴情報から得られる第1ハッシュ値と、トランザクションデータのユーザの電子署名とを含む。そして、当該トランザクションデータは、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって機器から取得した暗号化履歴情報に対して、データサーバ300が暗号化したまま演算処理を実行して得た第2ハッシュ値と第1ハッシュ値とが一致する場合に、ブロックに含められる。
【0170】
(11)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0171】
(12)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0172】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。
【0173】
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0174】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【0175】
(13)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0176】
(14)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0177】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0178】
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0179】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0180】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0181】
(15)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0182】
本開示は、データ保護システムにおいて、機器の履歴情報を秘密計算の方式で暗号化して送信し、サーバで暗号化したままハッシュ値を演算することで、プライバシを保護しつつ、データの検証ができる。
【符号の説明】
【0183】
100 住宅
101 コントローラ
102 太陽光発電
103 蓄電池
104 電力メータ
105、400 通信ネットワーク
106 電力ネットワーク
110 端末
120 車両
121 ゲートウェイ
200a、200b、200c 認証サーバ
211 トランザクションデータ検証部
212 ブロック生成部
213 同期部
214 データ検証部
215、313、1013、1103、1213 記録部
216、314、1014、1104、1214 通信部
300a、300b、300c データサーバ
311 管理部
312、1012、1102、1212 秘密計算部
1011、1101、1211 トランザクションデータ生成部
1210 エンジン
1220 運転アシスト部
1230 バッテリー
1240 ヘッドユニット
1250 通信部
1211a、1221、1231、1241、1251 ECU
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13