JP2020024376A - Data protection method, authentication server, data protection system, and data structure - Google Patents
Data protection method, authentication server, data protection system, and data structure Download PDFInfo
- Publication number
- JP2020024376A JP2020024376A JP2019096863A JP2019096863A JP2020024376A JP 2020024376 A JP2020024376 A JP 2020024376A JP 2019096863 A JP2019096863 A JP 2019096863A JP 2019096863 A JP2019096863 A JP 2019096863A JP 2020024376 A JP2020024376 A JP 2020024376A
- Authority
- JP
- Japan
- Prior art keywords
- data
- hash value
- history information
- transaction data
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004364 calculation method Methods 0.000 claims description 97
- 238000004891 communication Methods 0.000 claims description 60
- 238000013524 data verification Methods 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 39
- 230000008569 process Effects 0.000 abstract description 26
- 238000010586 diagram Methods 0.000 description 26
- 238000010248 power generation Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000012795 verification Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 239000000470 constituent Substances 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000010354 integration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000036760 body temperature Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
本開示は、データ保護方法、認証サーバ、データ保護システム及びデータ構造に関し、特にユーザから収集したデータを利活用するためのデータ保護方法、認証サーバ、データ保護システム及びデータ構造に関する。 The present disclosure relates to a data protection method, an authentication server, a data protection system, and a data structure, and more particularly, to a data protection method, an authentication server, a data protection system, and a data structure for utilizing data collected from a user.
近年、ユーザのデータ及び機器のデータなどのデータを収集、分析及び流通するシステムが検討されている。今後、IoT(Internet of Things)が進展しAI等が普及することにより、従来よりも多くのデータを収集することが可能となるため、収集したデータの利活用が期待されている。 In recent years, systems for collecting, analyzing, and distributing data such as user data and device data have been studied. In the future, the spread of AI (Internet of Things) and the spread of AI and the like will make it possible to collect more data than in the past, and thus the utilization of the collected data is expected.
しかし、収集したデータを利活用するためには、データに含まれるプライバシ情報の保護すなわちデータのプライバシ保護が重要になる。 However, in order to utilize the collected data, protection of privacy information included in the data, that is, privacy protection of the data, is important.
例えば非特許文献1では、産業用制御システム(ICS:Industrial Control Systems)及びIoTにおけるセキュリティについて記載されている。非特許文献1によれば、センサ情報だけでなく、ヘルスケア及びウェアラブルなどのパーソナルデータに関連するプライバシ情報の保護が重要である。 For example, Non-Patent Literature 1 describes security in an industrial control system (ICS: Industrial Control Systems) and IoT. According to Non-Patent Document 1, it is important to protect not only sensor information but also privacy information related to personal data such as health care and wearables.
しかしながら、データを収集及び流通するシステムが、収集したデータのプライバシ保護を行うためにデータを暗号化して流通させる場合には、サービスを提供したい企業などでは、取得できるデータが暗号化されているため、データの利活用が難しい。一方、当該システムが、収集したデータを平文化のまま流通させる場合には、ユーザはデータの漏えいのリスクからデータそのものを提供してくれないため、当該システムはデータを利活用できるほどのデータを収集できない。 However, when a system for collecting and distributing data encrypts and distributes the data in order to protect the privacy of the collected data, in a company that wants to provide a service, the obtainable data is encrypted. It is difficult to use data. On the other hand, if the system distributes the collected data in plain culture, the user does not provide the data itself because of the risk of data leakage, so the system will use enough data to utilize the data. Cannot collect.
本開示は、上述の事情を鑑みてなされたもので、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を提供することを目的とする。 The present disclosure has been made in view of the above circumstances, and has as its object to provide a data protection method and the like that can utilize data while protecting data privacy.
上記目的を達成するために、本開示のデータ保護方法は、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの第1の認証サーバによって実行されるデータ保護方法であって、前記機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得するステップと、前記トランザクションデータを検証し、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するステップと、前記トランザクションデータの正当性を確認し、かつ、前記第1ハッシュ値と、前記第2ハッシュ値とが一致する場合、前記第1の認証サーバ以外の前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む。 In order to achieve the above object, a data protection method according to the present disclosure is executed by a first authentication server among the plurality of authentication servers in a data protection system including a device, a plurality of authentication servers, and a plurality of data servers. Receiving a transaction data generated by the device, including a first hash value obtained from the history information of the device, and the encrypted data recorded by the data server. The data server encrypts the history information obtained by encrypting the history information of the device using a secret calculation method that can be operated as it is, and calculates the encrypted history information obtained by the device while encrypting the data server. Obtaining a second hash value obtained by executing a process from the data server; verifying the transaction data; Confirming whether the first hash value and the second hash value match, confirming the validity of the transaction data, and determining whether the first hash value and the second hash value If they match, recording the transaction data in a distributed ledger in synchronization with the plurality of authentication servers other than the first authentication server.
なお、これらの包括的または具体的な態様は、システム、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。 Note that these comprehensive or specific aspects may be realized by a system, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM. The system, the method, the integrated circuit, the computer program, and It may be realized by an arbitrary combination of recording media.
本開示によれば、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を実現できる。 According to the present disclosure, it is possible to realize a data protection method and the like that can utilize data while protecting data privacy.
本開示の一実施態様のデータ保護方法は、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの第1の認証サーバによって実行されるデータ保護方法であって、前記機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得するステップと、前記トランザクションデータを検証し、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するステップと、前記トランザクションデータの正当性を確認し、かつ、前記第1ハッシュ値と、前記第2ハッシュ値とが一致する場合、前記第1の認証サーバ以外の前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む。 A data protection method according to an embodiment of the present disclosure is directed to a data protection method performed by a first authentication server among the plurality of authentication servers in a data protection system including a device, a plurality of authentication servers, and a plurality of data servers. A method, comprising: receiving a transaction data generated by the device, including a first hash value obtained from history information of the device; and allowing the encrypted data recorded by the data server to be operated. The history information of the device is encrypted using a simple secret calculation method, and the encrypted history information obtained from the device is encrypted. Obtaining the second hash value obtained from the data server; verifying the transaction data; Confirming whether or not the transaction value matches the second hash value; and confirming the validity of the transaction data, and when the first hash value and the second hash value match. Recording the transaction data in a distributed ledger in synchronization with the plurality of authentication servers other than the first authentication server.
これにより、データのプライバシ保護を行いつつ、データを利活用することができるデータ保護方法等を実現できる。 As a result, a data protection method or the like that can utilize data while protecting data privacy can be realized.
また、さらに、前記機器から、データ検証対象である第1履歴情報の第1暗号化履歴情報を識別する識別情報と前記第1履歴情報から得られる第3ハッシュ値とを取得するステップと、前記識別情報を含みデータ検証の依頼を示す第1のトランザクションデータを生成して、前記データサーバに送信するステップと、前記データサーバが記録している前記機器から取得した前記暗号化履歴情報のうち、前記識別情報により特定される前記第1暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第4ハッシュ値を、前記データサーバから取得するステップと、前記第3ハッシュ値と前記第4ハッシュ値とが一致するか否かを確認するステップと、前記第3ハッシュ値と前記第4ハッシュ値とが一致しない場合、前記識別情報を含み、前記識別情報により特定される前記第1暗号化履歴情報の削除依頼を示す第2のトランザクションデータを生成して、前記データサーバに送信するステップとを含むとしてもよい。 Acquiring, from the device, identification information for identifying first encryption history information of the first history information to be verified and a third hash value obtained from the first history information; Generating first transaction data including identification information and indicating a request for data verification, transmitting the transaction data to the data server; and, among the encryption history information acquired from the device recorded by the data server, Obtaining, from the data server, a fourth hash value obtained by performing an arithmetic operation on the first encryption history information specified by the identification information while the data server is encrypting; Checking whether a third hash value matches the fourth hash value, and determining whether the third hash value does not match the fourth hash value. The includes identification information, the identification and generates a second transaction data indicating a deletion request of the first encrypted history information specified by the information, it may include the steps of transmitting to the data server.
これにより、データ検証対象の機器の履歴情報が、データサーバに保存されているものと一致しない場合に、データサーバ側になる機器の暗号化された履歴情報を削除することができる。 Thus, if the history information of the device to be verified does not match the information stored in the data server, the encrypted history information of the device on the data server side can be deleted.
また、前記データ保護方法は、さらに、前記第3ハッシュ値と前記第4ハッシュ値とが一致しない場合、前記複数の認証サーバで同期して、前記第2のトランザクションデータを前記分散台帳に記録するステップを含むとしてもよい。 Further, the data protection method further includes, when the third hash value and the fourth hash value do not match, record the second transaction data in the distributed ledger in synchronization with the plurality of authentication servers. Steps may be included.
これにより、機器の履歴情報が、データサーバに保存されているものと一致しないことをブロックチェーンに残せる。 Thereby, it can be left in the blockchain that the history information of the device does not match the information stored in the data server.
また、例えば、前記履歴情報は、前記機器のユーザのパーソナルデータを含んでいてもよい。 Further, for example, the history information may include personal data of a user of the device.
また、本開示の一実施態様の認証サーバは、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおける、前記複数の認証サーバのうちの一の認証サーバであって、前記機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信し、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得する通信部と、前記トランザクションデータを検証するトランザクションデータ検証部と、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するデータ検証部と、前記トランザクションデータの正当性が確認され、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える。 Further, the authentication server according to an embodiment of the present disclosure is one of the plurality of authentication servers in a data protection system including a device, a plurality of authentication servers, and a plurality of data servers. The transaction data generated by the device including a first hash value obtained from the history information of the device, and using a secret calculation method recorded in the data server and capable of being operated while being encrypted. A second hash value obtained by performing the arithmetic processing while the data server is still encrypted with respect to the encryption history information obtained from the device, wherein the history information is encrypted encryption history information, A communication unit obtained from the data server; a transaction data verification unit for verifying the transaction data; a first hash value and the second hash value; A data verifying unit for checking whether the transaction data matches the authentication value, and when the first hash value and the second hash value match, the plurality of authentications are performed. A recording unit that records the transaction data in a distributed ledger in synchronization with a server.
また、本開示の一実施態様のデータ保護システムは、機器と、複数の認証サーバと、複数のデータサーバとを備え、前記機器は、前記機器の履歴情報から得た第1ハッシュ値を含むトランザクションデータを生成し、前記複数の認証サーバのうちの一の認証サーバに送信するトランザクションデータ生成部と、暗号化したまま演算が可能な秘密計算方式を用いて前記履歴情報を暗号化することで、暗号化履歴情報を生成し、前記複数のデータサーバに送信する第1秘密計算部と、を備え、前記データサーバのそれぞれは、前記機器から取得した前記暗号化履歴情報を記録する記録部と、記録している前記暗号化履歴情報に対し、暗号化したまま演算処理を実行することで、記録している前記暗号化履歴情報の第2ハッシュ値を得て、前記一の認証サーバに送信する第2秘密計算部とを備え、前記一の認証サーバは、前記機器から、前記第1ハッシュ値を含む前記トランザクションデータを受信し、前記データサーバから前記第2ハッシュ値を取得する通信部と、前記トランザクションデータを検証するトランザクションデータ検証部と、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するデータ検証部と、前記トランザクションデータの正当性が確認され、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える。 Further, a data protection system according to an embodiment of the present disclosure includes a device, a plurality of authentication servers, and a plurality of data servers, wherein the device includes a transaction including a first hash value obtained from history information of the device. A transaction data generation unit that generates data and transmits it to one of the plurality of authentication servers, and encrypts the history information using a secret calculation method that can be operated while being encrypted, A first secret calculation unit that generates encryption history information and transmits the encrypted history information to the plurality of data servers, wherein each of the data servers records the encryption history information acquired from the device; A second hash value of the recorded encryption history information is obtained by performing an arithmetic process on the recorded encryption history information while being encrypted, and obtaining the one hash value. A second secret calculation unit for transmitting to the authentication server, wherein the one authentication server receives the transaction data including the first hash value from the device, and acquires the second hash value from the data server A communication unit that verifies the transaction data; a data verification unit that verifies whether the first hash value matches the second hash value; and a validity of the transaction data. A recording unit that records the transaction data in a distributed ledger in synchronization with the plurality of authentication servers when the first hash value is confirmed and the second hash value matches.
また、本開示の一実施態様のデータ構造は、機器と複数の認証サーバと複数のデータサーバとを備えるデータ保護システムにおいてブロックチェーンとして記録されるブロックに用いられるデータ構造であって、前記データ構造は、ブロックチェーンのブロックに含まれる、トランザクションデータを生成した主体を識別する識別子であるブロックチェーンアドレスと、前記トランザクションデータを識別するトランザクションIDと、前記トランザクションデータに含まれる第1ハッシュ値であって前記機器の履歴情報から得られる第1ハッシュ値と、前記トランザクションデータのユーザの電子署名とを含み、前記トランザクションデータは、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値と前記第1ハッシュ値とが一致する場合に、前記ブロックに含められる。 Further, a data structure according to an embodiment of the present disclosure is a data structure used for a block recorded as a block chain in a data protection system including a device, a plurality of authentication servers, and a plurality of data servers. Is a block chain address that is included in the block of the block chain and is an identifier for identifying the entity that generated the transaction data, a transaction ID that identifies the transaction data, and a first hash value that is included in the transaction data. The transaction data includes a first hash value obtained from the history information of the device and a digital signature of a user of the transaction data, and the transaction data is stored in the history information of the device using a secret calculation method that can be operated while being encrypted. Is encrypted encryption When the second hash value obtained by executing the arithmetic processing while the data server encrypts the history information and the encrypted history information obtained from the device matches the first hash value. , Included in the block.
以下、図面を参照しながら、実施の形態について説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態等は、一例であって本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、本開示の一形態に係る実現形態を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。本開示の実現形態は、現行の独立請求項に限定されるものではなく、他の独立請求項によっても表現され得る。 Hereinafter, embodiments will be described with reference to the drawings. Each of the embodiments described below shows a specific example of the present disclosure. Therefore, the numerical values, shapes, materials, constituent elements, arrangement of the constituent elements, connection forms, and the like shown in the following embodiments are merely examples and are not intended to limit the present disclosure. In addition, among the components in the following embodiments, components that are not described in independent claims that represent an embodiment according to an embodiment of the present disclosure are described as arbitrary components. Implementations of the present disclosure are not limited to the current independent claims, but may be expressed by other independent claims.
(実施の形態)
まず、本開示のシステム構成について説明する。
(Embodiment)
First, a system configuration of the present disclosure will be described.
[1. システム構成]
本開示のデータ保護システムは、機器の履歴情報などのデータが秘密計算が可能な方式で暗号化された暗号化データをデータサーバに記録するとともに、当該暗号化データのハッシュ値を含むトランザクションデータを分散台帳に記録する。これにより、本開示のデータ保護システムは、ブロックチェーン技術を活用して、データのプライバシ保護を行いつつ、データの収集及び利活用を行うことができる。
[1. System configuration]
The data protection system according to the present disclosure records encrypted data obtained by encrypting data such as device history information in a method capable of performing a secret calculation in a data server, and stores transaction data including a hash value of the encrypted data. Record in the distributed ledger. Accordingly, the data protection system of the present disclosure can collect and utilize data while protecting data privacy by utilizing blockchain technology.
以下では、図面を参照しながら実施の形態におけるデータ保護システム等の説明を行う。 Hereinafter, a data protection system and the like according to the embodiment will be described with reference to the drawings.
[1.1 データ保護システム10の全体構成]
図1は、本実施の形態に係るデータ保護システム10の全体構成の一例を示す図である。
[1.1 Overall Configuration of Data Protection System 10]
FIG. 1 is a diagram illustrating an example of an overall configuration of a
データ保護システム10は、図1に示すように、住宅100と、端末110と、車両120と、例えば認証サーバ200a、200b、200cと、データサーバ300a、300b、300cとを備える。これらは、通信ネットワーク400で接続されている。
As shown in FIG. 1, the
また、認証サーバ200a、200b、200c(以下、認証サーバ200とも表現する)は、記憶装置201a、201b、201c(以下、記憶装置201とも表現する)と接続する。認証サーバ200は、記憶装置201と通信ネットワーク400を介して接続されていてもよいし、内部に記憶装置201を備えてもよい。記憶装置201は、ブロックチェーンのトランザクションデータ及びブロックが電子的に記録される分散台帳を有する。
The
なお、図1では、データ保護システム10が、3つの認証サーバと3つのデータサーバとを備える場合の例が示されているが、これに限らない。すなわち、データ保護システム10は、4つ以上の認証サーバを備えてもよいし、4つ以上のデータサーバを備えてもよい。
Although FIG. 1 shows an example in which the
[1.2 住宅100の構成]
図2は、本実施の形態に係る住宅100の全体構成の一例を示す図である。
[1.2 Configuration of House 100]
FIG. 2 is a diagram showing an example of the entire configuration of
住宅100は、図2に示すように、コントローラ101と、太陽光発電102と、蓄電池103と、電力メータ104とを備える。コントローラ101、太陽光発電102、蓄電池103及び電力メータ104は、通信ネットワーク105で接続されている。また、太陽光発電102、蓄電池103及び電力メータ104は、電力ネットワーク106で接続されている。なお、住宅100は、例えば住家などの家屋であるが、これに限られない。住宅100は、工場、ビルなどの建物であってもよい。つまり、住宅100は、ユーザが使用する建物であれば、その態様は問われない。また以下では、住宅100内にある機器を宅内の機器と称する。宅内の機器は、本開示の機器の一例である。宅内の機器には、太陽光発電102、蓄電池103及び電力メータ104を含めても、含めなくてもよい。また、住宅100を本開示の機器の一例としてもよい。
The
<コントローラ101>
コントローラ101は、例えば、エネルギーマネジメントシステムのコントローラである。本実施の形態では、コントローラ101は、太陽光発電102を制御したり、太陽光発電102での発電状況及び蓄電池103の蓄電状態を表示したり、売電または買電の申請などを入力したりする。また、コントローラ101は、電力メータ104を介して、外部の電力ネットワーク(不図示)に送電された電力量を管理し、認証サーバ200に通知する。このように、コントローラ101は、宅内の機器を操作したり、宅内の機器の状態を表示したり、宅内の機器に対する入力等を行ったり、宅内の機器の動作履歴、状態変更を管理したりする。
<
The
<太陽光発電102>
太陽光発電102は、太陽電池を用いて太陽光から直接的に電力に変換する発電方式を搭載した装置である。太陽光発電102は、発電した電力を、住宅100内で使用したり、蓄電池103に蓄電したり、電力ネットワークに送電したりする。
<
The
<蓄電池103>
蓄電池103は、太陽光発電102で発電された電力を蓄電する。蓄電池103は、例えばコントローラ101の送電指示により、蓄電した電力を電力ネットワークに送電する。また、蓄電池103は、例えばコントローラ101の受電指示により、電力ネットワークから受電された電力を蓄電してもよい。なお、蓄電池103は必須の構成ではなく、住宅100に備えられていなくてもよい。
<
The
<電力メータ104>
電力メータ104は、外部の電力ネットワークに送電される電力量または外部の電力ネットワークから受電される電力量を計測する。電力メータ104は、コントローラの送電指示により、太陽光発電102または蓄電池103が電力ネットワークに送電したとき、太陽光発電102または蓄電池103が送電した時刻と電力量とを計測し、コントローラ101に通知する。また、電力メータ104は、コントローラ101からの電力使用の指示により、電力ネットワークから受電して使用した電力を計測する。
<
The
以下、コントローラ101の構成の一例について説明する。
Hereinafter, an example of the configuration of the
[1.3 コントローラ101の構成]
図3は、図2に示すコントローラ101の機能構成の一例を示すブロック図である。
[1.3 Configuration of Controller 101]
FIG. 3 is a block diagram showing an example of a functional configuration of the
コントローラ101は、プロセッサと、プロセッサに所定の処理を実行させるプログラムが記憶されたメモリとを備える。つまり、コントローラ101は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、コントローラ101は、図3に示すように、トランザクションデータ生成部1011と、秘密計算部1012と、記録部1013と、通信部1014とを備える。
The
<トランザクションデータ生成部1011>
トランザクションデータ生成部1011は、ユーザが宅内の機器の操作をし、機器から操作履歴を受信する場合、または、宅内の機器が状態変更し、機器から状態履歴を受信する場合、操作履歴及び状態履歴などの機器の履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。ここで、機器の履歴情報は、パーソナルデータの一例であり、機器のユーザのパーソナルデータを含む。
<Transaction
The transaction
本実施の形態では、トランザクションデータ生成部1011は、機器から受信した機器の履歴情報のハッシュ値(第1ハッシュ値と称する)を演算し、演算した第1ハッシュ値を含めたトランザクションデータを生成する。
In the present embodiment, the transaction
ここで、図4を用いて、トランザクションデータ生成部1011が生成するトランザクションデータの構造(データ構造)の一例について説明する。図4は、本実施の形態に係るトランザクションデータのデータ構造の一例を示す図である。
Here, an example of the structure (data structure) of the transaction data generated by the transaction
図4に示すように、トランザクションデータ生成部1011が生成するトランザクションデータのデータ構造には、トランザクションIDと、ブロックチェーンアドレスと、第1ハッシュ値と、署名とが含まれる。トランザクションIDは、トランザクションデータを識別する識別子である。ブロックチェーンアドレスは、トランザクションデータを生成した主体を識別する識別子であり、図4でBCアドレスと表されている。本実施の形態では、ブロックチェーンアドレスにより、第1ハッシュ値が得られる履歴情報のユーザまたはコントローラを特定することができる。第1ハッシュ値は、機器の履歴情報から得られ、トランザクションデータに含まれる。図4に示すように、第1ハッシュ値は、トランザクションデータのデータ本体であるペイロード部分に含まれる。署名は、ユーザの電子署名である。本実施の形態では、署名は、ユーザ個別の署名生成鍵を用いて生成される。なお、トランザクションデータ生成部1011は、機器の履歴情報を識別する識別子をさらに含めたトランザクションデータを生成してもよい。
As shown in FIG. 4, the data structure of the transaction data generated by the transaction
また、トランザクションデータ生成部1011は、生成したトランザクションデータを記録部1013に記録する。また、トランザクションデータ生成部1011は、生成したトランザクションデータを、通信部1014を介して、認証サーバ200a、200b、200cのうちの少なくとも1つの認証サーバ200に送信する。
Further, the transaction
<秘密計算部1012>
秘密計算部1012は、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部1012は、トランザクションデータ生成部1011から受信した機器の履歴情報に対して秘密計算方式の暗号化処理を行う。秘密計算部1012は、機器の履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部1014を介して、データサーバ300に送信する。
<
The
ここで、秘密計算方式を用いて暗号化処理されたデータは、暗号化した状態のままで画像認識を含む演算処理を行うことができる。秘密計算方式を用いた暗号化処理は、例えば非特許文献2または非特許文献3に開示される方法を用いて行うことができる。非特許文献2または非特許文献3に開示される方法で暗号化することで、暗号化したまま四則演算が可能となり、ハッシュ値を求めることができる。暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータデータなどから取得するとしてもよい。また、暗号化処理に、複数の方法を用いるとしてもよい。 Here, arithmetic processing including image recognition can be performed on the data that has been encrypted using the secret calculation method in an encrypted state. The encryption processing using the secret calculation method can be performed using a method disclosed in Non-Patent Document 2 or Non-Patent Document 3, for example. By performing encryption using the method disclosed in Non-Patent Document 2 or Non-Patent Document 3, four arithmetic operations can be performed while the data is encrypted, and a hash value can be obtained. The method used for the encryption process may be determined in advance, or the method to be used may be obtained from data or the like. Further, a plurality of methods may be used for the encryption processing.
<記録部1013>
記録部1013は、トランザクションデータ生成部1011で生成したトランザクションデータと秘密計算部1012で暗号化したデータである暗号化履歴情報とを記録する。本実施の形態では、記録部1013は、秘密計算部1012で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部1011で生成した第1ハッシュ値を含むトランザクションデータを記録する。
<
The
<通信部1014>
通信部1014は、通信ネットワーク400を介してデータサーバ300及び認証サーバ200との通信を行う。この通信は、TLS(Transport Layer Security)によりなされてもよい。この場合、TLS通信用の暗号鍵は通信部1014で保持してもよい。
<Communication unit 1014>
The communication unit 1014 communicates with the data server 300 and the
次に、端末110について説明する。 Next, the terminal 110 will be described.
[1.4 端末110の構成]
図5は、本実施の形態に係る端末110の機能構成の一例を示すブロック図である。
[1.4 Configuration of Terminal 110]
FIG. 5 is a block diagram showing an example of a functional configuration of
端末110は、本開示の機器の一例であり、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。また、端末110は、例えばスマートフォンのような表示部及び入力部を有する機器、または、ウェアラブルデバイスのようなユーザのセンサ情報を取得する機器などである。 The terminal 110 is an example of the device of the present disclosure, and is realized by a processor executing a predetermined program using a memory. The terminal 110 is, for example, a device having a display unit and an input unit such as a smartphone, or a device such as a wearable device for acquiring sensor information of a user.
本実施の形態では、端末110は、図5に示すように、トランザクションデータ生成部1101と、秘密計算部1102と、記録部1103と、通信部1104とを備える。
In the present embodiment, terminal 110 includes a transaction
<トランザクションデータ生成部1101>
トランザクションデータ生成部1101は、ユーザによる端末110の操作履歴、ユーザが端末110に入力した情報の履歴、及び端末110が収集したユーザに関する情報の履歴などを含む履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。ユーザが端末110に入力した情報の履歴は、例えば、ユーザが端末110を利用して撮影した過去の複数の写真である。端末110が収集したユーザに関する情報の履歴は、例えばユーザの体温を示す情報などのセンサ情報の履歴である。
<Transaction
The transaction
本実施の形態では、トランザクションデータ生成部1101は、端末110から取得した履歴情報のハッシュ値(第1ハッシュ値とも称する)を演算し、演算した第1ハッシュ値を含めたトランザクションデータを生成する。
In the present embodiment, the transaction
ここで、トランザクションデータ生成部1101が生成するトランザクションデータの構造(データ構造)は、図4に示した通りである。すなわち、トランザクションデータ生成部1101が生成するトランザクションデータのデータ構造には、トランザクションIDと、ブロックチェーンアドレスと、第1ハッシュ値と、署名とが含まれる。
Here, the structure (data structure) of the transaction data generated by the transaction
なお、このブロックチェーンアドレスは、上述したように、トランザクションデータを生成した主体を識別する識別子であり、ユーザまたは端末110を特定することができる。トランザクションデータ生成部1101は、履歴情報を識別する識別子をブロックチェーンアドレスとは別に含めたトランザクションデータを生成してもよい。
Note that, as described above, the block chain address is an identifier for identifying the entity that generated the transaction data, and can specify the user or the terminal 110. The transaction
また、トランザクションデータ生成部1101は、生成したトランザクションデータを記録部1103に記録する。また、トランザクションデータ生成部1101は、生成したトランザクションデータを、通信部1104を介して、認証サーバ200a、200b、200cのうちの少なくとも1つの認証サーバ200に送信する。
Further, the transaction
<秘密計算部1102>
秘密計算部1102は、暗号化したまま演算が可能な秘密計算方式を用いて端末110の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部1102は、トランザクションデータ生成部1101から受信した端末110の履歴情報または端末110が保持する過去の複数の写真、センサ情報の履歴などの履歴情報に対して、秘密計算方式の暗号化処理を行う。また、秘密計算部1102は、履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部1104を介して、データサーバ300に送信する。
<
The
なお、秘密計算方式を用いた暗号化処理は、上述した通りのため詳述を省略するが、例えば非特許文献2及び/または非特許文献3に開示される方法を用いればよい。また、上述した通り暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータなどから取得するとしてもよい。また、暗号化処理に、複数の方法を用いるとしてもよい。 The encryption processing using the secret calculation method is as described above, and thus detailed description is omitted. For example, a method disclosed in Non-Patent Document 2 and / or Non-Patent Document 3 may be used. Further, as described above, the method used for the encryption processing may be determined in advance, or the method to be used may be obtained from data or the like. Further, a plurality of methods may be used for the encryption processing.
<記録部1103>
記録部1103は、トランザクションデータ生成部1101で生成したトランザクションデータと秘密計算部1102で暗号化したデータである暗号化履歴情報を記録する。本実施の形態では、記録部1103は、秘密計算部1102で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部1101で生成した第1ハッシュ値を含むトランザクションデータを記録する。
<
The
<通信部1104>
通信部1104は、通信ネットワーク400を介してデータサーバ300及び認証サーバ200との通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は、通信部1104で保持してもよい。
<
The
次に、車両120について説明する。
Next, the
[1.5 車両120の構成]
車両120は、例えば自動車であるが、これに限られない。車両120は、自動二輪車、船舶等であってもよい。つまり、車両120等は、車両120内のネットワークに複数のECUが接続されていればよい。
[1.5 Configuration of Vehicle 120]
The
図6は、本実施の形態に係る車両120が有する車載ネットワークシステムの全体構成の一例を示す図である。
FIG. 6 is a diagram illustrating an example of the overall configuration of the vehicle-mounted network system included in the
複数の電子制御ユニットであるECU1211a、ECU1221、ECU1231、ECU1241、ECU1251、及び、ゲートウェイ121が車載ネットワークで接続されている。ここで、車載ネットワークはCANであってもよいし、Ethernet(登録商標)であってもよいし、CANとEthernet(登録商標)とが混在したものであってもよい。なお、車載ネットワークがEthernet(登録商標)を含む場合でも、ブロードキャストでメッセージを送信されるとしてもよい。
ECU1211a, ECU1221, ECU1231, ECU1241, ECU1251, and
車載ネットワークには、例えば、エンジン1210、バッテリー1230や、図示しないモータ、燃料の制御に関連する駆動系のECUが接続されている。図6に示す例では、車載ネットワークには、エンジン1210用のECU1211a、及び、バッテリー1230用のECU1231が接続されている。
The in-vehicle network is connected to, for example, an
また、車載ネットワークには、運転アシスト部1220、並びに、図示しない自動ブレーキ、車線維持、車間距離機能、衝突防止機能及びエアバッグなどの安全快適機能系ECUが接続されている。図6に示す例では、車載ネットワークには、運転アシスト部1220用のECU1221が接続されている。
The vehicle-mounted network is connected with a driving
また、車載ネットワークには、ヘッドユニット1240などインフォテイメント系ECUが接続されている。図6に示す例では、車載ネットワークには、ヘッドユニット1240用のECU1241が接続されている。なお、ヘッドユニット1240用のECU1241がなく、ヘッドユニット1240がECU1241を介さず車載ネットワークに直接接続されていてもよい。また、ヘッドユニットは表示部及び入力部を有し、車両120の中すなわち車内に搭乗しているユーザに対し、画面の表示及び情報入力を受け付ける機能を保持する。
An infotainment ECU such as a
また、車載ネットワークには、認証サーバ200と通信する通信機能を有する通信部1250など通信系ECUが接続されている。図6に示す例では、車載ネットワークには、通信部1250用のECU1251が接続されている。
Further, a communication ECU such as a
なお、上述したECU1211a〜ECU1251は、それぞれが接続する部品と一体すなわち1つの部品で構成されるとしてもよい。例えば、エンジン1210とこれに接続されるエンジン1210用のECU1211aとが1つの部品として構成されてもよい。他のECU1221等も同様である。
The above-described ECUs 1211a to 1251 may be integrated with the components to be connected to each other, that is, may be configured by one component. For example, the
このような複数の電子制御ユニットすなわちECU1211a〜ECU1251は、定期的または非定期的にメッセージを送信する。例えば、エンジン1210用のECU1211aは、エンジン1210の回転数を取得しており、定期的に、取得したエンジン1210の回転数を示すメッセージを送信する。また、例えば運転アシスト部1220用のECU1221であれば、運転アシスト機能がONになった時にその旨を示すメッセージを送信する。また、ECUが新規に車載ネットワークに接続したときに、その旨を示すメッセージを送信するとしてもよい。
The plurality of electronic control units, that is, the ECUs 1211a to 1251 transmit messages periodically or irregularly. For example, the ECU 1211a for the
次に、車載ネットワークに接続されているゲートウェイ121について説明する。
Next, the
[1.6 ゲートウェイ121の構成]
図7は、図6に示すゲートウェイ121の機能構成の一例を示すブロック図である。
[1.6 Configuration of Gateway 121]
FIG. 7 is a block diagram illustrating an example of a functional configuration of the
ゲートウェイ121は、プロセッサがメモリを用いて所定のプログラムを実行することで実現される。本実施の形態では、ゲートウェイ121は、図7に示すように、トランザクションデータ生成部1211と、秘密計算部1212と、記録部1213と、通信部1214とを備える。
The
<トランザクションデータ生成部1211>
トランザクションデータ生成部1211は、車両120の手動運転履歴もしくは自動運転履歴、及び、車両120のセンサ情報の履歴などを含む車両120の履歴情報を基に、ブロックチェーンにおけるトランザクションデータを生成する。
<Transaction
The transaction
本実施の形態では、トランザクションデータ生成部1211は、車両120から取得した履歴情報のハッシュ値(第1ハッシュ値と称する)を演算し、演算した第1ハッシュ値を含めたトランザクションデータを生成する。
In the present embodiment, the transaction
ここで、トランザクションデータ生成部1211が生成するトランザクションデータの構造(データ構造)は、図4に示した通りである。すなわち、トランザクションデータ生成部1211が生成するトランザクションデータのデータ構造には、トランザクションIDと、ブロックチェーンアドレスと、第1ハッシュ値と、署名とが含まれる。
Here, the structure (data structure) of the transaction data generated by the transaction
なお、このブロックチェーンアドレスは、上述したように、トランザクションデータを生成した主体を識別する識別子であり、車両120のユーザ、ゲートウェイ121または車両120を特定することができる。また、上記と同様に、トランザクションデータ生成部1211は、履歴情報を識別する識別子をトランザクションIDとは別に含めたトランザクションデータを生成してもよい。
Note that, as described above, the block chain address is an identifier for identifying the entity that generated the transaction data, and can identify the user of the
また、トランザクションデータ生成部1211は、生成したトランザクションデータを記録部1213に記録する。また、トランザクションデータ生成部1211は、生成したトランザクションデータを、通信部1214を介して、認証サーバ200a、200b、200cのうちの少なくとも1つの認証サーバ200に送信する。
Further, the transaction
<秘密計算部1212>
秘密計算部1212は、暗号化したまま演算が可能な秘密計算方式を用いて車両120の履歴情報を暗号化した暗号化履歴情報を生成する。本実施の形態では、秘密計算部1212は、トランザクションデータ生成部1211から受信した車両120の運転履歴、センサ情報の履歴などの履歴情報に対して、秘密計算方式の暗号化処理を行う。また、秘密計算部1212は、履歴情報を秘密計算方式で暗号化して得た暗号化履歴情報を、通信部1214を介して、データサーバ300に送信する。
<
The
なお、秘密計算方式を用いた暗号化処理は、上述した通りのため詳述を省略するが、例えば非特許文献2及び/または非特許文献3に開示される方法を用いればよい。 The encryption processing using the secret calculation method is as described above, and thus detailed description is omitted. For example, a method disclosed in Non-Patent Document 2 and / or Non-Patent Document 3 may be used.
また、上述した通り暗号化処理に用いる方法は事前に決まっていてもよいし、どの方法を用いるかをデータなどから取得するとしてもよい。 Further, as described above, the method used for the encryption processing may be determined in advance, or the method to be used may be obtained from data or the like.
<記録部1213>
記録部1213は、トランザクションデータ生成部1211で生成したトランザクションデータと秘密計算部1212で暗号化したデータである暗号化履歴情報を記録する。本実施の形態では、記録部1213は、秘密計算部1212で暗号化したデータである秘密計算が可能な暗号化履歴情報を記録し、トランザクションデータ生成部1211で生成した第1ハッシュ値を含むトランザクションデータを記録する。
<
The
<通信部1214>
通信部1214は、通信ネットワーク400を介してデータサーバ300及び認証サーバ200との通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は、通信部1214で保持してもよい。
<
The
次に、認証サーバ200a等について説明する。
Next, the
[1.7 認証サーバ200aの構成]
図8は、本実施の形態に係る認証サーバ200aの機能構成の一例を示すブロック図である。認証サーバ200b、200cも同様の構成であるため、以下では、認証サーバ200aを例に挙げて説明する。
[1.7 Configuration of
FIG. 8 is a block diagram illustrating an example of a functional configuration of
認証サーバ200aは、図8に示すように、トランザクションデータ検証部211、ブロック生成部212と、同期部213と、データ検証部214と、記録部215と、通信部216とを備える。認証サーバ200aは、プロセッサがメモリを用いて所定のプログラムを実行することで実現され得る。以下、各構成要素について説明する。
As shown in FIG. 8, the
<トランザクションデータ検証部211>
トランザクションデータ検証部211は、受信したトランザクションデータを検証する。具体的には、住宅100、端末110または車両120などの機器からのトランザクションデータを受信すると、トランザクションデータのフォーマットが合っているか、及び署名が正当であるかを検証する。このように、トランザクションデータ検証部211は、受信したトランザクションデータの正当性を確認することでトランザクションデータを検証する。
<Transaction
The transaction
トランザクションデータ検証部211は、検証の結果、トランザクションデータの正当性を確認した場合、そのトランザクションデータを、記録部215に記録し、同期部213へ通知する。
When the transaction
<ブロック生成部212>
ブロック生成部212は、トランザクションデータ検証部211においてトランザクションデータの検証が成功した場合、複数の認証サーバの間で、トランザクションデータについてのコンセンサスアルゴリズムを実行する。ここで、コンセンサスアルゴリズムには、PBFT(Practical Byzantine Fault Tolerance)とよばれるコンセンサスアルゴリズムを用いてもよいし、その他の公知のコンセンサスアルゴリズムを用いてもよい。
<
When the transaction
このように、本実施の形態では、ブロック生成部212は、認証サーバ200a、認証サーバ200b及び認証サーバ200cの間でコンセンサスアルゴリズムを実行する。すなわち、ブロック生成部212は、まず、1以上のトランザクションデータを含むブロックチェーンのブロックを生成する。次に、ブロック生成部212は、コンセンサスアルゴリズムを実行する。そして、ブロック生成部212は、コンセンサスアルゴリズムを実行することで合意形成ができた場合、生成したブロックを記録部215に記録する。ブロック生成部212により生成されたブロックは、記録部215によりブロックチェーンに接続されて記録される。
As described above, in the present embodiment, the
ここで、ブロックチェーンのデータ構造と、ブロックチェーンに含まれるトランザクションデータの一部のデータ構造とについて説明する。 Here, a data structure of a block chain and a partial data structure of transaction data included in the block chain will be described.
図9は、ブロックチェーンのデータ構造を示す説明図である。 FIG. 9 is an explanatory diagram showing the data structure of the block chain.
ブロックチェーンは、その記録単位であるブロックがチェーン(鎖)状に接続されたものである。それぞれのブロックは、複数のトランザクションデータと、直前のブロックのハッシュ値とを有している。具体的には、ブロックB2には、その前のブロックB1のハッシュ値が含まれている。そして、ブロックB2に含まれる複数のトランザクションデータと、ブロックB1のハッシュ値とから演算されたハッシュ値が、ブロックB2のハッシュ値として、ブロックB3に含められる。このように、前のブロックの内容をハッシュ値として含めながら、ブロックをチェーン状に接続することで、接続されたトランザクションデータの改ざんを有効に防止する。 A block chain is a block in which blocks as recording units are connected in a chain (chain) shape. Each block has a plurality of transaction data and a hash value of the immediately preceding block. Specifically, the block B2 includes the hash value of the previous block B1. Then, the hash value calculated from the plurality of transaction data included in the block B2 and the hash value of the block B1 is included in the block B3 as the hash value of the block B2. In this way, by connecting the blocks in a chain while including the contents of the previous block as a hash value, falsification of the connected transaction data is effectively prevented.
仮に過去のトランザクションデータが変更されると、ブロックのハッシュ値が変更前と異なる値になり、改ざんしたブロックを正しいものとみせかけるには、それ以降のブロックすべてを作り直さなければならず、この作業は現実的には非常に困難である。 If past transaction data is changed, the hash value of the block will be different from the value before the change, and in order to make the falsified block correct, all subsequent blocks must be recreated. Is very difficult in practice.
<同期部213>
同期部213は、認証サーバ(認証サーバ200a〜200c)の間でブロックチェーンのブロック、または、トランザクションデータの同期を行う。
<
The
複数の認証サーバ200a〜200cの同期部213では、peer to peerでブロックチェーンのトランザクションデータの同期を行う。そして、同期部213は、同期が行われたブロックチェーンのトランザクションデータを記録部215に記録する。
The
例えば、同期部213は、トランザクションデータ検証部211においてトランザクションデータの正当性が検証されると、他の認証サーバ200である認証サーバ200b、200cに検証済みのトランザクションデータを転送する。また、同期部213は、他の認証サーバ200から検証済みのトランザクションデータを受信した場合、受信した検証済みのトランザクションデータを記録部215に記録する。
For example, when the validity of the transaction data is verified by the transaction
<データ検証部214>
データ検証部214は、データサーバ300に記録されているデータである暗号化履歴情報の検証依頼を送信し、データ検証対象である暗号化履歴情報から得たハッシュ値を、データサーバ300から受け取る。より具体的には、データ検証部214は、データ検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報を含みデータ検証の依頼を示すトランザクションデータを生成して、データサーバ300に送信する。すると、データ検証部214はデータサーバ300が記録している暗号化履歴情報のうち識別情報により特定される暗号化履歴情報に対して、暗号化したまま演算処理が実行されて得たハッシュ値を、データサーバ300から取得する。
<
The
データ検証部214は、記録部215に記録されているデータ検証対象である機器の履歴情報から得たハッシュ値と、データサーバ300から取得したハッシュ値とが一致するか否かを検証する。
The
なお、データ検証部214は、暗号化履歴情報の検証依頼を行う際には、暗号化履歴情報を識別する識別情報を含むトランザクションデータをデータサーバ300に送信するとしたが、これに限らない。データ検証部214は、当該識別子のみを送信するとしてもよいし、当該識別子に代えて、データの属性種別を示す情報を含め、データ検証の依頼を示すトランザクションデータを送信するとしてもよい。これにより、データ検証対象の暗号化履歴情報を識別できる。
It should be noted that the
<記録部215>
記録部215は、トランザクションデータをブロックに含めて、記憶装置201aの分散台帳にあるブロックチェーンに記録する。当該記憶装置201aは、記録部215の内部に構成されていてもよいし、図1に示すように、認証サーバ200aの外部に構成されていてもよい。
<
The
このトランザクションデータは、住宅100、端末110または車両120から受信したトランザクションデータを含む。
The transaction data includes transaction data received from the
本実施の形態では、記録部215は、機器から受信したトランザクションデータの正当性が確認され、かつ、記録部215に記録されているハッシュ値とデータサーバ300から取得したハッシュ値とが一致する場合、そのトランザクションデータを分散台帳に記録する。
In the present embodiment, when the validity of the transaction data received from the device is confirmed and the hash value recorded in the
<通信部216>
通信部216は、住宅100、端末110、車両120、認証サーバ200b、200c、及び、データサーバ300a、300b、300cとの通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は通信部216で保持してもよい。
<
The
本実施の形態では、通信部216は、機器の履歴情報から得られるハッシュ値を含み、機器により生成されたトランザクションデータを受信する。また、通信部216は、データサーバ300が記録している、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって当該機器から取得した暗号化履歴情報に対して、データサーバ300が暗号化したまま演算処理を実行して得たハッシュ値を、データサーバ300から取得する。
In the present embodiment,
次に、データサーバ300a等について説明する。
Next, the
[1.8 データサーバ300aの構成]
図10は、本実施の形態に係るデータサーバ300aの機能構成の一例を示すブロック図である。データサーバ300b、300cも同様の構成であるため、以下では、データサーバ300aを例に挙げて説明する。
[1.8 Configuration of
FIG. 10 is a block diagram illustrating an example of a functional configuration of the
データサーバ300aは、図10に示すように、管理部311と、秘密計算部312と、記録部313と、通信部314とを備える。
As shown in FIG. 10, the
<管理部311>
管理部311は、住宅100、端末110または車両120などの機器から受信した暗号化データである暗号化履歴情報を、記録部313に記録する。
<
The
また、管理部311は、認証サーバ200から、記録部313に記録されているデータである暗号化履歴情報の検証依頼を受信した場合、データ検証対象の暗号化履歴情報を秘密計算部312に送信する。より具体的には、管理部311は、検証依頼に付与されている識別子または属性種別を示す情報に基づき、記録部313に記録され、かつ、データ検証対象である暗号化履歴情報に対する、秘密計算によるハッシュ値計算処理の依頼を、秘密計算部312に送信する。
When the
管理部311は、秘密計算部312から受信した、データ検証対象である暗号化履歴情報のハッシュ値を受信し、認証サーバ200に送信する。
The
<秘密計算部312>
秘密計算部312は、管理部311から、データ検証対象である暗号化履歴情報に対する、秘密計算によるハッシュ値計算処理の依頼を受信すると、記録部313に記録され、かつ、データ検証対象である暗号化履歴情報を用いて秘密計算を行い、ハッシュ値を算出する。なお、秘密計算部312は、他のデータサーバ300b、300cと連携して秘密計算を行い、データ検証対象の暗号化データである暗号化履歴情報のハッシュ値を算出してもよい。また、秘密計算によるハッシュ値計算処理は、非特許文献2及び/または非特許文献3に開示される方法を用いて実行すればよい。
<
Upon receiving, from the
秘密計算部312は、算出したハッシュ値を管理部311に送信する。
The
<記録部313>
記録部313は、住宅100、端末110または車両120などの機器から受信した暗号化データである暗号化履歴情報を記録する。
<
The
<通信部314>
通信部314は、認証サーバ200a、200b、200cとの通信を行う。この通信は、TLSによりなされてもよい。この場合、TLS通信用の暗号鍵は通信部314で保持してもよい。
<
The
[1.9 住宅と認証サーバとデータサーバとの間のデータ流通の全体シーケンス]
続いて、住宅100と認証サーバ200a〜200cとデータサーバ300a〜300cとの間におけるデータ流通のシーケンスについて説明する。
[1.9 Overall Sequence of Data Distribution Between House, Authentication Server and Data Server]
Subsequently, a sequence of data distribution between the
図11は、本実施の形態に係るデータ保護の全体シーケンス図である。各処理については後述する。なお、図11に示す住宅100は、端末110または車両120でもよく、いずれも本開示の機器の一例となる。
FIG. 11 is an overall sequence diagram of data protection according to the present embodiment. Each process will be described later. In addition, the
まず、ステップS100において、住宅100と認証サーバ200a、200b、200cとデータサーバ300a、300b、300cとの間でトランザクションデータ登録処理が行われる。次に、ステップS200において、認証サーバ200a、200b、200cとデータサーバ300a、300b、300cとの間でデータ検証処理が行われる。
First, in step S100, transaction data registration processing is performed between the
なお、データ検証処理は、定期的に実行されてもよいし、トランザクションデータ登録処理が実行されてから一定期間後に実行されてもよいし、トランザクションデータ登録処理が複数回行われてから実行されてもよい。 The data verification process may be performed periodically, may be performed after a fixed period of time after the transaction data registration process is performed, or may be performed after the transaction data registration process is performed a plurality of times. Is also good.
[1.9.1 住宅と認証サーバとの間のトランザクション登録処理]
続いて、住宅100と認証サーバ200a、200b、200cとの間でのトランザクションデータ登録処理について説明する。
[1.9.1 Transaction registration process between house and authentication server]
Next, transaction data registration processing between the
図12は、本実施の形態に係るトランザクションデータ登録処理のシーケンス図である。図12では、本開示の機器の一例としての住宅100がトランザクションデータを登録するとして説明するが、これに限らない。端末110または車両120であってもよく、同様のシーケンスとなる。
FIG. 12 is a sequence diagram of transaction data registration processing according to the present embodiment. In FIG. 12, a description is given assuming that the
まず、ステップS101において、住宅100のコントローラ101は、宅内の機器の履歴情報などを取得し、トランザクションデータの元となるデータを生成する。例えば、住宅100は、宅内にある家電機器の操作履歴、太陽光発電102で発電した電力量もしくは蓄電池103から出力された電力量などの履歴情報を取得し、トランザクションデータの元となるデータを生成する。
First, in step S101, the
次に、ステップS102において、住宅100のコントローラ101は、ステップS101で取得した履歴情報などのデータに対し、ハッシュ値計算処理と、秘密計算処理すなわち秘密計算方式を用いた暗号化処理とを行う。秘密計算方式は、認証サーバ200a、200b、200cとデータサーバ300a、300b、300cと住宅100のコントローラ101との間で予め共有してもよいし、データ保護システム10で決まっているとしてもよい。
Next, in step S102, the
次に、ステップS103において、住宅100のコントローラ101は、ステップS102でハッシュ値計算処理により得た履歴情報のハッシュ値(以下、第1ハッシュ値と称する)を用いてトランザクションデータを生成する。より具体的には、機器の履歴情報から得られる第1ハッシュ値を含むトランザクションデータを生成する。ここで、トランザクションデータには、第1ハッシュ値以外に、上述したようにトランザクションIDと、ブロックチェーンアドレスと、署名とが含まれている。
Next, in step S103, the
次に、ステップS104において、住宅100のコントローラ101は、ステップS103で生成した、第1ハッシュ値を含むトランザクションデータを、認証サーバ200aに送信する。すると、認証サーバ200aは、第1ハッシュ値を含むトランザクションデータを受信し、第1ハッシュ値を取得する(S104a)。なお、図12に示す例では、住宅100のコントローラ101は、生成したトランザクションデータを、認証サーバ200aに送信するとして説明しているが、認証サーバ200bまたは認証サーバ200cに送信してもよい。認証サーバ200bまたは認証サーバ200cに送信した場合も同様の処理となるからである。
Next, in step S104, the
次に、ステップS105において、住宅100のコントローラ101は、ステップS102で秘密計算処理により得た暗号化データである暗号化履歴情報をデータサーバ300a〜300cに送信する。すると、データサーバ300a〜300cはそれぞれ、暗号化履歴情報を受信し、記録する(S105a)。
Next, in step S105, the
次に、ステップS106において、データサーバ300a〜300cは、受信した暗号化データである暗号化履歴情報に対して、秘密計算によるハッシュ値計算処理を行い、ハッシュ値(以下、第2ハッシュ値と称する)を算出する。データサーバ300aは、算出した第2ハッシュ値を認証サーバ200aに送信する。
Next, in step S106, the
なお、図12に示す例では、複数のデータサーバ300間(データサーバ300a〜300c)で連携して秘密計算を行い第2ハッシュ値を算出するとして説明するが、一以上のデータサーバ300が秘密計算を行い第2ハッシュ値を算出するとしてもよい。
In the example illustrated in FIG. 12, a description is given assuming that the secret calculation is performed in cooperation with the plurality of data servers 300 (
次に、ステップS107において、認証サーバ200aは、データサーバ300aから送信された第2ハッシュ値を取得する。換言すると、認証サーバ200aは、データサーバ300a等が記録している、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって機器から取得した暗号化履歴情報に対して、データサーバ300a等が暗号化したまま演算処理を実行して得た第2ハッシュ値を、データサーバ300aから取得する。
Next, in step S107, the
次に、ステップS108において、認証サーバ200aは、住宅100から受信したトランザクションデータの検証と、住宅100とデータサーバ300aから取得したハッシュ値とが一致するかを確認する。換言すると、認証サーバ200aは、トランザクションデータを検証し、かつ、第1ハッシュ値と第2ハッシュ値とが一致するか否かを確認する。
Next, in step S108, the
ステップS108において、認証サーバ200aは、トランザクションデータの検証が成功しなかった場合、または、取得した第1ハッシュ値と第2ハッシュ値とが一致しなかった場合(S108でN)、住宅100にその旨の通知を送信し(S109)、処理を終了する。
In step S108, when the verification of the transaction data is not successful, or when the obtained first hash value and the second hash value do not match (N in S108), the
一方、ステップS108において、認証サーバ200aは、トランザクションデータの検証が成功し、かつ、取得した第1ハッシュ値と第2ハッシュ値とが一致した場合(S108でY)、他の認証サーバ200(認証サーバ200b、200c)に、トランザクションデータを転送する(S110)。なお、認証サーバ200b、200cでも、転送されて受信したトランザクションデータを検証する。
On the other hand, in step S108, if the verification of the transaction data is successful and the obtained first hash value matches the second hash value (Y in S108), the
次に、ステップS111おいて、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する。認証サーバ200aと認証サーバ200bと認証サーバ200cとは、受信したトランザクションデータが正当なトランザクションデータであること(つまり正当性)を検証すると、それぞれトランザクションデータを含むブロックを生成する。そして、認証サーバ200a、200b、200cは、トランザクションデータを含むブロックを記憶装置201a、201b、201cの分散台帳に記録する。換言すると、認証サーバ200aは、住宅100から受信したトランザクションデータの正当性を確認し、かつ、第1ハッシュ値と第2ハッシュ値とが一致する場合、認証サーバ200a以外の認証サーバ200b、200cと同期して、トランザクションデータを分散台帳に記録する。
Next, in step S111, the
[1.9.2 データサーバと認証サーバとの間のデータ検証処理]
続いて、データサーバ300と認証サーバ200a、200b、200cとの間でのデータ検証処理について説明する。
[1.9.2 Data verification process between data server and authentication server]
Subsequently, a data verification process between the data server 300 and the
図13は、本実施の形態に係るデータ検証処理のシーケンス図である。図13では、認証サーバ200aがデータ検証の依頼を行い、データ検証処理を行うとして説明しているが、認証サーバ200bまたは認証サーバ200cが行ってもよい。認証サーバ200bまたは認証サーバ200cが行った場合も同様の処理となる。
FIG. 13 is a sequence diagram of the data verification processing according to the present embodiment. Although FIG. 13 illustrates that the
まず、ステップS201aにおいて、認証サーバ200aは、データ検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報(ID)と、当該履歴情報から得られるハッシュ値(以下、第3ハッシュ値と称する)とを、分散台帳に記録されているトランザクションデータから、または機器が送信したトランザクションデータから取得する。
First, in step S201a, the
次に、ステップS201において、認証サーバ200aは、データ検証対象である機器の履歴情報の検証依頼を行う。具体的には、認証サーバ200aは、取得したトランザクションデータに含まれる識別情報などから、検証対象となる履歴情報を選択し、データ検証の依頼を生成する。
Next, in step S201, the
次に、ステップS202において、認証サーバ200aは、検証対象となる履歴情報のデータ検証の依頼を示すトランザクションデータ(以下、第1のトランザクションデータと称する)を生成する。例えば、認証サーバ200aは、トランザクションIDと、検証対象である機器の履歴情報の暗号化履歴情報を識別する識別情報と、署名とを含む第1のトランザクションデータを生成する。
Next, in step S202, the
次に、ステップS203において、認証サーバ200aは、ステップS202で生成したデータ検証の依頼を示す第1のトランザクションデータを、データサーバ300a〜300cに送信する。
Next, in step S203, the
次に、ステップS204において、データサーバ300a〜300cは、認証サーバ200aから受信した第1のトランザクションデータに基づき、データサーバ300b、300cと連携して、データ検証対象である暗号化履歴情報に対して秘密計算によるハッシュ値計算処理を行う。なお、秘密計算によるハッシュ値計算処理は、複数のデータサーバ300の間で連携して行われる場合に限らず、一以上のデータサーバ300により行われるとしてもよい。
Next, in step S204, based on the first transaction data received from the
次に、ステップS205において、データサーバ300aは、データ検証対象である暗号化履歴情報に対して秘密計算によるハッシュ値計算処理を行うことで算出したハッシュ値(以下、第4ハッシュ値と称する)を、認証サーバ200aに送信する。
Next, in step S205, the
次に、ステップS206において、認証サーバ200aは、データサーバ300aから第4ハッシュ値を取得する。換言すると、認証サーバ200aは、データサーバ300a等が記録している暗号化履歴情報のうち、識別情報により特定される暗号化履歴情報に対して、暗号化したまま演算処理を実行して得た第4ハッシュ値を、データサーバ300aから取得する。
Next, in step S206, the
次に、ステップS207において、認証サーバ200aは、ステップS201aで取得した第3ハッシュ値と、ステップS206で取得した第4ハッシュ値とが一致するか検証する。
Next, in step S207, the
ステップS207において、認証サーバ200aは、第3ハッシュ値と第4ハッシュ値とが一致した場合(S207でY)、データ検証が成功したとして、処理を終了する。一方、ステップS207において、認証サーバ200aは、第3ハッシュ値と第4ハッシュ値とが一致しなかった場合(S207でN)、データ検証が成功しなかったとして、データ削除の依頼をするためのトランザクションデータを生成する(S208)。データ削除の依頼をするためのトランザクションデータを以下、第2のトランザクションデータと称する。換言すると、認証サーバ200aは、第3ハッシュ値と第4ハッシュ値とが一致しない場合、識別情報を含み、識別情報により特定される暗号化情報の削除依頼を示す第2のトランザクションデータを生成する。
In step S207, when the third hash value and the fourth hash value match (Y in S207), the
ステップS208aにおいて、認証サーバ200aは、ステップS208で生成した第2のトランザクションデータをエラー通知としてデータサーバ300a〜300cに送信する(S208a)。
In step S208a, the
また、ステップS209において、認証サーバ200aは、ステップS208で生成した第2のトランザクションデータを、他の認証サーバ200(認証サーバ200a、200b)に転送する。
Further, in step S209, the
次に、ステップS210において、認証サーバ200aと認証サーバ200bと認証サーバ200cとは、コンセンサスアルゴリズムを実行する。認証サーバ200aと認証サーバ200bと認証サーバ200cとは、受信したトランザクションデータが正当なトランザクションデータであるあること(つまり正当性)を検証すると、それぞれトランザクションデータを含むブロックを生成する。そして、認証サーバ200a、200b、200cは、トランザクションデータを含むブロックを記憶装置201a、201b、201cの分散台帳に記録する。換言すると、認証サーバ200aは、第3ハッシュ値と第4ハッシュ値とが一致しない場合、認証サーバ200a以外の認証サーバ200b、200cと同期して、第2のトランザクションデータを分散台帳に記録する。
Next, in step S210, the
また、ステップS211において、データサーバ300a〜300cは、認証サーバ200aから受信したデータ削除の依頼に基づき、データ削除処理を行う。
In step S211, the
[1.10 実施の形態1の効果]
実施の形態1では、住宅100、端末110または車両120などの機器から、履歴情報などのパーソナルデータを秘密計算が可能な方式で暗号化した暗号化データをデータサーバに記録するとともに、当該暗号化データのハッシュ値のみを含めたトランザクションデータを分散台帳に記録する。
[1.10 Effects of First Embodiment]
In the first embodiment, encrypted data obtained by encrypting personal data such as history information in a system capable of performing a secret calculation from a device such as the
これにより、暗号化データの改ざんを有効に防止できるだけでなく、ブロックチェーンのブロックに含まれる当該トランザクションデータが公開されたとしても、パーソナルデータが漏えいせずに、プライバシ保護を行うことができる。また、秘密計算を用いることで、データサーバに記録されたパーソナルデータを復号せずに利活用できる。 As a result, not only can falsification of the encrypted data be effectively prevented, but even if the transaction data contained in the block of the block chain is made public, privacy can be protected without leaking personal data. Also, by using the secret calculation, the personal data recorded in the data server can be utilized without being decrypted.
また、必要に応じて、データサーバに記録されたパーソナルデータの検証を、秘密計算により得た暗号化データのハッシュ値と、分散台帳のトランザクションデータに含まれるハッシュ値とを比較して行うことができる。 Further, if necessary, the verification of the personal data recorded in the data server may be performed by comparing the hash value of the encrypted data obtained by the secret calculation with the hash value included in the transaction data of the distributed ledger. it can.
これにより、パーソナルデータを漏えいさせずに、データサーバに記録されたパーソナルデータの検証を行うことができる。 Thereby, the personal data recorded in the data server can be verified without leaking the personal data.
この結果、ユーザは、パーソナルデータを提供してもプライバシ保護されることから、パーソナルデータを提供すなわち、秘密計算が可能な方式で暗号化した暗号化データを含めたトランザクションデータをデータサーバ300に提供しやすくなる。 As a result, the user is provided with personal data even if the personal data is provided, so that the user is provided with personal data. That is, the user provides the data server 300 with transaction data including encrypted data encrypted by a method capable of performing secret calculation. Easier to do.
このように、ブロックチェーン技術を活用して、パーソナルデータの改ざんを有効に防止するだけでなく、パーソナルデータのプライバシ保護を行いつつデータの検証を含むデータの利活用ができる安全なシステムを構築することができる。 In this way, utilizing the blockchain technology, we will not only effectively prevent tampering of personal data, but also build a safe system that can utilize data including data verification while protecting the privacy of personal data. be able to.
[2. その他変形例]
なお、本開示を上記の実施の形態に基づいて説明してきたが、本開示は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
[2. Other modifications]
Although the present disclosure has been described based on the above embodiments, it is needless to say that the present disclosure is not limited to the above embodiments. The following cases are also included in the present disclosure.
(1)上記の実施の形態では、認証サーバ200とデータサーバ300とは別の装置として説明したが、認証サーバ200とデータサーバ300とを同一の装置としてもよい。
(1) In the above embodiment, the
(2)上記の実施の形態では、認証サーバ200は、トランザクションデータの検証を失敗した場合、住宅100、端末110または車両120に通知しているが、データサーバ300にも通知してもよい。このとき、データサーバ300は受信した暗号化データを削除する。
(2) In the above embodiment, when the verification of the transaction data fails, the
(3)上記の実施の形態で説明したように、複数のデータサーバ300が協力して秘密計算処理を行ってもよいし、既存の秘密計算の暗号化方式に基づいて、1つのデータサーバ300で秘密計算処理を行ってもよい。 (3) As described in the above embodiment, a plurality of data servers 300 may cooperate to perform secret calculation processing, or one data server 300 may be based on an existing encryption scheme for secret calculation. May perform a secret calculation process.
(4)上記の実施の形態では、秘密計算による暗号化処理は、複数の暗号方式を用いるとしてもよい。これにより、複数の方式に対応ができる。 (4) In the above embodiment, the encryption processing by the secret calculation may use a plurality of encryption methods. This makes it possible to cope with a plurality of methods.
(5)上記の実施の形態では、住宅100、端末110及び車両120が履歴情報を暗号化して得た暗号化履歴情報をデータサーバ300に送信しているが、複数のサーバが連携して復号が可能な秘密計算による暗号方式を用いるとしてもよい。このとき、認証サーバ200の依頼、住宅100、端末110または車両120のユーザの許可を基に、データサーバ300が記録する暗号化データを復号するとしてもよい。これにより必要な時に履歴情報などを復号することができ、データの利活用が可能となる。
(5) In the above embodiment, the
(6)上記の実施の形態では、住宅100、端末110、車両120が履歴情報を暗号化して得た暗号化履歴情報を、データサーバ300に送信しているが、これに限らない。住宅100、端末110または車両120が、データサーバ300で記録されている暗号化履歴情報を受信し、暗号化履歴情報を復号して改ざんを検証してもよい。検証結果として改ざんを検知した場合、認証サーバ200またはデータサーバ300にその旨を通知としてもよい。これにより、データサーバ300に暗号化データである暗号化履歴情報を記録させることで、住宅100などの機器側で暗号化データを保持する必要がない。また、住宅100、端末110または車両120が、データサーバ300で記録されている暗号化データを受信し、暗号化データを復号して改ざんを検証した場合、検証を行った住宅100、端末110及び車両120にトークンを発行するとしてもよい。このとき、トークンは認証サーバ200で発行されてもよいし、データサーバ300で発行されてもよいし、認証サーバ200またはデータサーバ300が保有するトークンを送信するとしてもよい。
(6) In the above embodiment, the encrypted history information obtained by encrypting the history information by the
(7)上記の実施の形態では、ステップS108で行われるデータ検証が成功しなかった場合、データサーバ300に通知し、データサーバ300が記録している暗号化データを削除するとしてもよい。 (7) In the above embodiment, if the data verification performed in step S108 is not successful, the data server 300 may be notified and the encrypted data recorded in the data server 300 may be deleted.
(8)上記の実施の形態では、認証サーバ200がデータ検証の依頼を生成して、データサーバ300がハッシュ値を計算しているが、これに限らない。データサーバ300は、定期的または非定期にハッシュ値計算処理を行い、ハッシュ値計算処理により得たハッシュ値を認証サーバ200に通知することでデータ検証の依頼をしてもよい。
(8) In the above embodiment, the
(9)上記の実施の形態では、認証サーバ200が記録するブロックチェーンは住宅100、端末110及び車両120に公開されるとしてもよい。
(9) In the above embodiment, the blockchain recorded by the
(10)さらに、本開示には、上記実施の形態のデータ保護システム10においてブロックチェーンとして記録されるブロックに用いられるデータ構造も含まれる。より具体的には、本開示のデータ構造は、ブロックチェーンのブロックに含まれるトランザクションデータを生成した主体を識別する識別子であるブロックチェーンアドレスと、トランザクションデータを識別するトランザクションIDと、トランザクションデータに含まれる第1ハッシュ値であって機器の履歴情報から得られる第1ハッシュ値と、トランザクションデータのユーザの電子署名とを含む。そして、当該トランザクションデータは、暗号化したまま演算が可能な秘密計算方式を用いて機器の履歴情報が暗号化された暗号化履歴情報であって機器から取得した暗号化履歴情報に対して、データサーバ300が暗号化したまま演算処理を実行して得た第2ハッシュ値と第1ハッシュ値とが一致する場合に、ブロックに含められる。
(10) Further, the present disclosure includes a data structure used for a block recorded as a block chain in the
(11)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。 (11) Each device in the above embodiment is, specifically, a computer system including a microprocessor, a ROM, a RAM, a hard disk unit, a display unit, a keyboard, a mouse, and the like. A computer program is recorded on the RAM or the hard disk unit. Each device achieves its function by the microprocessor operating according to the computer program. Here, the computer program is configured by combining a plurality of instruction codes indicating instructions to the computer in order to achieve a predetermined function.
(12)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記録されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。 (12) Each device in the above-described embodiment may be configured such that a part or all of the constituent elements are configured by one system LSI (Large Scale Integration). The system LSI is an ultra-multifunctional LSI manufactured by integrating a plurality of components on one chip, and is specifically a computer system including a microprocessor, a ROM, a RAM, and the like. . The RAM stores a computer program. When the microprocessor operates according to the computer program, the system LSI achieves its function.
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又はすべてを含むように1チップ化されてもよい。 In addition, each unit of the constituent elements constituting each of the above devices may be individually formed into one chip, or may be formed into one chip so as to include a part or all of them.
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。 Although the system LSI is used here, it may be called an IC, an LSI, a super LSI, or an ultra LSI depending on the degree of integration. Further, the method of circuit integration is not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor. After the LSI is manufactured, an FPGA (Field Programmable Gate Array) that can be programmed or a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。 Furthermore, if an integrated circuit technology that replaces the LSI appears due to the progress of the semiconductor technology or another derivative technology, the functional blocks may be naturally integrated using the technology. Application of biotechnology, etc. is possible.
(13)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。 (13) A part or all of the constituent elements constituting each of the above devices may be constituted by an IC card detachable from each device or a single module. The IC card or the module is a computer system including a microprocessor, a ROM, a RAM, and the like. The IC card or the module may include the above super-multifunctional LSI. When the microprocessor operates according to the computer program, the IC card or the module achieves its function. The IC card or the module may have tamper resistance.
(14)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。 (14) The present disclosure may be the methods described above. Further, these methods may be a computer program that is realized by a computer, or may be a digital signal formed by the computer program.
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray(登録商標) Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。 In addition, the present disclosure relates to a computer-readable recording medium that can read the computer program or the digital signal, for example, a flexible disk, a hard disk, a CD-ROM, an MO, a DVD, a DVD-ROM, a DVD-RAM, a BD (Blu-ray ( (Registered trademark) Disc), and may be recorded on a semiconductor memory or the like. Further, the digital signal may be recorded on these recording media.
また、本開示は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。 Further, the present disclosure may be configured to transmit the computer program or the digital signal via an electric communication line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記録しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。 The present disclosure may be a computer system including a microprocessor and a memory, wherein the memory records the computer program, and the microprocessor operates according to the computer program.
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。 Further, the program or the digital signal is recorded on the recording medium and transferred, or the program or the digital signal is transferred via the network or the like, so that it is implemented by another independent computer system. It may be.
(15)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。 (15) The above embodiments and the above modifications may be combined.
本開示は、データ保護システムにおいて、機器の履歴情報を秘密計算の方式で暗号化して送信し、サーバで暗号化したままハッシュ値を演算することで、プライバシを保護しつつ、データの検証ができる。 According to the present disclosure, in a data protection system, data can be verified while protecting privacy by encrypting and transmitting device history information by a secret calculation method and calculating a hash value while encrypting the history information in a server. .
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
REFERENCE SIGNS
Claims (7)
前記機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信するステップと、
前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得するステップと、
前記トランザクションデータを検証し、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するステップと、
前記トランザクションデータの正当性を確認し、かつ、前記第1ハッシュ値と、前記第2ハッシュ値とが一致する場合、前記第1の認証サーバ以外の前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録するステップとを含む、
データ保護方法。 A data protection method executed by a first authentication server among the plurality of authentication servers in a data protection system including a device, a plurality of authentication servers, and a plurality of data servers,
Receiving a transaction data generated by the device, including a first hash value obtained from history information of the device;
The data server records, the history information of the device is encrypted using a secret calculation method that can be operated while being encrypted, the encrypted history information is encrypted history information obtained from the device to the encrypted history information On the other hand, acquiring from the data server a second hash value obtained by executing the arithmetic processing while the data server is still encrypted,
Verifying the transaction data and checking whether the first hash value matches the second hash value;
Verifying the validity of the transaction data, and if the first hash value and the second hash value match, synchronize the transaction data with the plurality of authentication servers other than the first authentication server; Recording the data in a distributed ledger.
Data protection method.
前記識別情報を含みデータ検証の依頼を示す第1のトランザクションデータを生成して、前記データサーバに送信するステップと、
前記データサーバが記録している前記機器から取得した前記暗号化履歴情報のうち、前記識別情報により特定される前記第1暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第4ハッシュ値を、前記データサーバから取得するステップと、
前記第3ハッシュ値と前記第4ハッシュ値とが一致するか否かを確認するステップと、
前記第3ハッシュ値と前記第4ハッシュ値とが一致しない場合、前記識別情報を含み、前記識別情報により特定される前記第1暗号化履歴情報の削除依頼を示す第2のトランザクションデータを生成して、前記データサーバに送信するステップとを含む、
請求項1に記載のデータ保護方法。 Acquiring, from the device, identification information for identifying first encryption history information of the first history information to be verified and a third hash value obtained from the first history information;
Generating first transaction data including the identification information and indicating a data verification request, and transmitting the generated first transaction data to the data server;
Of the encryption history information acquired from the device recorded by the data server, for the first encryption history information specified by the identification information, the arithmetic processing is performed while the data server remains encrypted. Acquiring a fourth hash value obtained by execution from the data server;
Confirming whether the third hash value and the fourth hash value match,
If the third hash value and the fourth hash value do not match, second transaction data including the identification information and indicating a request to delete the first encryption history information specified by the identification information is generated. Transmitting to the data server.
The data protection method according to claim 1.
前記第3ハッシュ値と前記第4ハッシュ値とが一致しない場合、前記複数の認証サーバで同期して、前記第2のトランザクションデータを前記分散台帳に記録するステップを含む、
請求項2に記載のデータ保護方法。 The data protection method further comprises:
Recording the second transaction data in the distributed ledger in synchronization with the plurality of authentication servers when the third hash value does not match the fourth hash value.
The data protection method according to claim 2.
請求項1〜3のいずれか1項に記載のデータ保護方法。 The history information includes personal data of a user of the device,
The data protection method according to claim 1.
前記機器の履歴情報から得られる第1ハッシュ値を含み、前記機器により生成されたトランザクションデータを受信し、前記データサーバが記録している、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値を、前記データサーバから取得する通信部と、
前記トランザクションデータを検証するトランザクションデータ検証部と、
前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するデータ検証部と、
前記トランザクションデータの正当性が確認され、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える、
認証サーバ。 In a data protection system including a device, a plurality of authentication servers, and a plurality of data servers, one of the plurality of authentication servers,
Including a first hash value obtained from the history information of the device, receiving the transaction data generated by the device, using a secret calculation method recorded in the data server and capable of being operated while being encrypted A second hash value obtained by performing arithmetic processing on the encrypted history information obtained from the device while the history information of the device is encrypted and obtained from the device while performing encryption processing on the data. A communication unit that acquires from the data server;
A transaction data verification unit for verifying the transaction data,
A data verification unit that checks whether the first hash value matches the second hash value,
A recording unit that records the transaction data in a distributed ledger in synchronization with the plurality of authentication servers when the validity of the transaction data is confirmed and the first hash value and the second hash value match. Comprising,
Authentication server.
複数の認証サーバと、
複数のデータサーバとを備え、
前記機器は、
前記機器の履歴情報から得た第1ハッシュ値を含むトランザクションデータを生成し、前記複数の認証サーバのうちの一の認証サーバに送信するトランザクションデータ生成部と、
暗号化したまま演算が可能な秘密計算方式を用いて前記履歴情報を暗号化することで、暗号化履歴情報を生成し、前記複数のデータサーバに送信する第1秘密計算部と、
を備え、
前記データサーバのそれぞれは、
前記機器から取得した前記暗号化履歴情報を記録する記録部と、
記録している前記暗号化履歴情報に対し、暗号化したまま演算処理を実行することで、記録している前記暗号化履歴情報の第2ハッシュ値を得て、前記一の認証サーバに送信する第2秘密計算部とを備え、
前記一の認証サーバは、
前記機器から、前記第1ハッシュ値を含む前記トランザクションデータを受信し、前記データサーバから前記第2ハッシュ値を取得する通信部と、
前記トランザクションデータを検証するトランザクションデータ検証部と、
前記第1ハッシュ値と前記第2ハッシュ値とが一致するか否かを確認するデータ検証部と、
前記トランザクションデータの正当性が確認され、かつ、前記第1ハッシュ値と前記第2ハッシュ値とが一致する場合、前記複数の認証サーバと同期して、前記トランザクションデータを分散台帳に記録する記録部とを備える、
データ保護システム。 Equipment and
Multiple authentication servers,
With multiple data servers,
The device comprises:
A transaction data generation unit that generates transaction data including a first hash value obtained from the history information of the device, and transmits the transaction data to one of the plurality of authentication servers;
By encrypting the history information using a secret calculation method that can be operated while being encrypted, a first secret calculation unit that generates encrypted history information and transmits the encrypted history information to the plurality of data servers;
With
Each of said data servers
A recording unit that records the encryption history information obtained from the device,
By performing an arithmetic operation on the recorded encryption history information while being encrypted, a second hash value of the recorded encryption history information is obtained and transmitted to the one authentication server. A second secret calculation unit,
The one authentication server,
A communication unit that receives the transaction data including the first hash value from the device, and acquires the second hash value from the data server;
A transaction data verification unit for verifying the transaction data,
A data verification unit that checks whether the first hash value matches the second hash value,
A recording unit that records the transaction data in a distributed ledger in synchronization with the plurality of authentication servers when the validity of the transaction data is confirmed and the first hash value and the second hash value match. Comprising,
Data protection system.
前記データ構造は、
ブロックチェーンのブロックに含まれる、トランザクションデータを生成した主体を識別する識別子であるブロックチェーンアドレスと、
前記トランザクションデータを識別するトランザクションIDと、
前記トランザクションデータに含まれる第1ハッシュ値であって前記機器の履歴情報から得られる第1ハッシュ値と、
前記トランザクションデータのユーザの電子署名とを含み、
前記トランザクションデータは、暗号化したまま演算が可能な秘密計算方式を用いて前記機器の履歴情報が暗号化された暗号化履歴情報であって前記機器から取得した暗号化履歴情報に対して、前記データサーバが暗号化したまま演算処理を実行して得た第2ハッシュ値と前記第1ハッシュ値とが一致する場合に、前記ブロックに含められる、
データ構造。 A data structure used for a block recorded as a block chain in a data protection system including a device, a plurality of authentication servers, and a plurality of data servers,
The data structure is:
A blockchain address included in a block of the blockchain, which is an identifier for identifying a subject that has generated transaction data;
A transaction ID for identifying the transaction data;
A first hash value included in the transaction data, the first hash value being obtained from history information of the device;
Electronic signature of a user of the transaction data,
The transaction data is encrypted history information obtained by encrypting the history information of the device using a secret calculation method that can be operated while being encrypted, with respect to the encryption history information acquired from the device, When the second hash value obtained by executing the operation processing while the data server is encrypted matches the first hash value, the data server is included in the block.
data structure.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/523,333 US11531768B2 (en) | 2018-08-08 | 2019-07-26 | Data protection method, authentication server, data protection system, and data structure |
EP19189176.1A EP3609124A1 (en) | 2018-08-08 | 2019-07-30 | Data protection method, authentication server, data protection system, and data structure |
CN201910716321.4A CN110826079A (en) | 2018-08-08 | 2019-08-05 | Data protection method, authentication server, data protection system and data structure |
US17/990,152 US11983282B2 (en) | 2018-08-08 | 2022-11-18 | Data protection method, authentication server, data protection system, and data structure |
JP2023188594A JP2024001347A (en) | 2018-08-08 | 2023-11-02 | Data protection method, data protection system and data server |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862715929P | 2018-08-08 | 2018-08-08 | |
US62/715,929 | 2018-08-08 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023188594A Division JP2024001347A (en) | 2018-08-08 | 2023-11-02 | Data protection method, data protection system and data server |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020024376A true JP2020024376A (en) | 2020-02-13 |
Family
ID=69618640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019096863A Pending JP2020024376A (en) | 2018-08-08 | 2019-05-23 | Data protection method, authentication server, data protection system, and data structure |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020024376A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6797450B1 (en) * | 2020-06-04 | 2020-12-09 | みんな電力株式会社 | Electric power trading support system, electric power trading support method and program |
WO2023020428A1 (en) * | 2021-08-20 | 2023-02-23 | 清华大学 | Data verification method and apparatus, and storage medium |
WO2023074072A1 (en) * | 2021-10-26 | 2023-05-04 | 株式会社デンソー | Data storage system, mobile body, and data storage program |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014013680A1 (en) * | 2012-07-18 | 2014-01-23 | 日本電気株式会社 | Universal hash function calculation device, method, and program |
US20170075938A1 (en) * | 2015-09-14 | 2017-03-16 | Medici, Inc. | Data Verification Methods And Systems Using A Hash Tree, Such As A Time-Centric Merkle Hash Tree |
US20170242961A1 (en) * | 2014-01-24 | 2017-08-24 | Indiscine, Llc | Systems and methods for personal omic transactions |
CN107196989A (en) * | 2017-03-21 | 2017-09-22 | 阿里巴巴集团控股有限公司 | A kind of processing method and processing device of service request |
US20180025181A1 (en) * | 2016-07-21 | 2018-01-25 | Acronis International Gmbh | System and method for verifying data integrity using a blockchain network |
US20180157700A1 (en) * | 2016-12-06 | 2018-06-07 | International Business Machines Corporation | Storing and verifying event logs in a blockchain |
JP2018518758A (en) * | 2015-05-21 | 2018-07-12 | マスターカード インターナシヨナル インコーポレーテツド | Method and system for integrating exchange processing and issuer processing for blockchain based transactions |
-
2019
- 2019-05-23 JP JP2019096863A patent/JP2020024376A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014013680A1 (en) * | 2012-07-18 | 2014-01-23 | 日本電気株式会社 | Universal hash function calculation device, method, and program |
US20170242961A1 (en) * | 2014-01-24 | 2017-08-24 | Indiscine, Llc | Systems and methods for personal omic transactions |
JP2018518758A (en) * | 2015-05-21 | 2018-07-12 | マスターカード インターナシヨナル インコーポレーテツド | Method and system for integrating exchange processing and issuer processing for blockchain based transactions |
US20170075938A1 (en) * | 2015-09-14 | 2017-03-16 | Medici, Inc. | Data Verification Methods And Systems Using A Hash Tree, Such As A Time-Centric Merkle Hash Tree |
US20180025181A1 (en) * | 2016-07-21 | 2018-01-25 | Acronis International Gmbh | System and method for verifying data integrity using a blockchain network |
US20180157700A1 (en) * | 2016-12-06 | 2018-06-07 | International Business Machines Corporation | Storing and verifying event logs in a blockchain |
CN107196989A (en) * | 2017-03-21 | 2017-09-22 | 阿里巴巴集团控股有限公司 | A kind of processing method and processing device of service request |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6797450B1 (en) * | 2020-06-04 | 2020-12-09 | みんな電力株式会社 | Electric power trading support system, electric power trading support method and program |
WO2021246417A1 (en) * | 2020-06-04 | 2021-12-09 | みんな電力株式会社 | Power transaction support system, power transaction support method, and program |
JP2021190005A (en) * | 2020-06-04 | 2021-12-13 | みんな電力株式会社 | Power transaction support system, power transaction support method, and program |
WO2023020428A1 (en) * | 2021-08-20 | 2023-02-23 | 清华大学 | Data verification method and apparatus, and storage medium |
WO2023074072A1 (en) * | 2021-10-26 | 2023-05-04 | 株式会社デンソー | Data storage system, mobile body, and data storage program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983282B2 (en) | Data protection method, authentication server, data protection system, and data structure | |
JP7458150B2 (en) | Data distribution method and authentication server | |
US11740979B2 (en) | Methods and apparatus to facilitate distributed data backup | |
EP3794492B1 (en) | Trusted contextual content | |
EP3407534B1 (en) | In-car computer system, vehicle, key generation device, management method, key generation method, and computer program | |
US9959413B2 (en) | Security and data privacy for lighting sensory networks | |
US20230351375A1 (en) | Data distribution method, authentication server, and data structure | |
Abbas et al. | Blockchain-based authentication in internet of vehicles: A survey | |
WO2020023132A1 (en) | System and method to protect data privacy of lightweight devices using blockchain and multi-party computation | |
CN105474573A (en) | Technologies for synchronizing and restoring reference templates | |
CN110800250A (en) | Controlled distribution of encrypted private keys | |
CN110830245B (en) | Anti-quantum-computation distributed Internet of vehicles method and system based on identity secret sharing and implicit certificate | |
JP2020024376A (en) | Data protection method, authentication server, data protection system, and data structure | |
CN104053149A (en) | Method and system for realizing security mechanism of vehicle networking equipment | |
CN112788042A (en) | Method for determining equipment identifier of Internet of things and Internet of things equipment | |
CN112581233B (en) | Method, apparatus, device and computer readable storage medium for order offline operation | |
Liu et al. | Privacy-preserving public cloud audit scheme supporting dynamic data for unmanned aerial vehicles | |
Feng et al. | Autonomous vehicles' forensics in smart cities | |
CN116366289A (en) | Safety supervision method and device for remote sensing data of unmanned aerial vehicle | |
GB2570292A (en) | Data protection | |
JP2013179473A (en) | Account generation management system, account generation management server, account generation management method, account generation management program | |
JP5836534B2 (en) | Common key sharing system and method | |
US20240106638A1 (en) | Method for securely generating and distributing symmetric keys for grouping secure communications | |
Liu et al. | Secure Traffic Data Sharing in UAV-Assisted VANETs | |
CN106157028A (en) | A kind of financial IC card based on credible platform repeatedly card sending system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230117 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230331 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20230704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231102 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20231114 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20231201 |