Data distribution method, data distribution system and program
The data distribution method encrypts and records transaction data in a distributed ledger, addressing privacy concerns and enabling secure computation, thus facilitating data utilization and incentivizing data sharing.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-12-04
- Publication Date
- 2026-03-05
AI Technical Summary
Existing data collection and distribution systems face challenges in utilizing encrypted data while protecting privacy, leading to data underutilization due to encryption, and risks of data leakage when data is distributed in plain text.
A data distribution method using a secret computation method to encrypt history information, recording transaction data in a distributed ledger, and generating tokens for devices that generate the data, allowing secure computation and data utilization while maintaining privacy.
Enables data utilization while protecting privacy, providing incentives for data sharing and enabling secure computation on encrypted data, such as image recognition and statistical analysis.
Smart Images

Figure 0007824921000001 
Figure 0007824921000002 
Figure 0007824921000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a data distribution method, a data distribution system, and a program. [Background technology]
[0002] In recent years, systems that collect, analyze, and distribute data such as user data and device data have been under consideration. As the Internet of Things (IoT) advances and AI and other technologies become more widespread, it will become possible to collect more data than ever before, and it is expected that the collected data will be put to good use.
[0003] However, in order to utilize the collected data, it is important to protect the privacy information contained in the data, i.e., to protect the privacy of the data.
[0004] For example, Non-Patent Document 1 describes security in industrial control systems (ICS) 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 healthcare and wearables. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] Cyber Physical Security for Industrial Control Systems and IoT, IEICE TRANS. INF. & SYST., VOL.E99-D, NO.4 APRIL 2016 [Non-patent document 2] ABY - A Framework for Efficient Mixed-Protocol Secure Two-Party Computation, NDSS Symposium 2015 [Non-patent document 3] SecureML: A System for Scalable Privacy-Preserving Machine Learning, https: / / eprint.iacr.org / 2017 / 396.pdf (Retrieved July 13, 2018) Summary of the Invention [Problem to be solved by the invention]
[0006] However, if a data collection and distribution system encrypts and distributes the collected data to protect the privacy of the data, it is difficult for companies that want to provide services to utilize the data because the data they obtain is encrypted.On the other hand, if the system distributes the collected data in plain text, users will not provide the data itself due to the risk of data leakage, and the system will not be able to collect enough data to be able to utilize it.
[0007] The present disclosure has been made in consideration of the above circumstances, and aims to provide a data distribution method and the like that allows data to be utilized while protecting the privacy of the data. [Means for solving the problem]
[0008] In order to achieve the above-mentioned object, the data distribution method disclosed herein is a data distribution method in a data distribution system, which includes the steps of receiving generated transaction data from a device, the transaction data including encrypted history information in which the history information of the device is encrypted using a secret computation method that allows calculations to be performed while the information is encrypted; if the legitimacy of the transaction data received from the device is confirmed, recording the transaction data in a distributed ledger; and generating second transaction data indicating that a token will be issued to the device that generated the transaction data, and recording the generated second transaction data in the distributed ledger.
[0009] These comprehensive or specific aspects may be realized as a system, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized as any combination of a system, a method, an integrated circuit, a computer program, and a recording medium. [Effects of the Invention]
[0010] According to the present disclosure, it is possible to realize a data distribution method and the like that allows data to be utilized while protecting the privacy of the data. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram illustrating an example of the overall configuration of a data distribution system according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of the overall configuration of a house according to the embodiment. [Figure 3] FIG. 3 is a block diagram illustrating an example of a functional configuration of the controller illustrated in FIG. [Figure 4] FIG. 4 is a diagram illustrating an example of a data structure of transaction data according to the embodiment. [Figure 5] FIG. 5 is a block diagram illustrating an example of a functional configuration of a terminal according to the embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of the overall configuration of an in-vehicle network system included in a vehicle according to an embodiment. [Figure 7] FIG. 7 is a block diagram illustrating an example of a functional configuration of the gateway illustrated in FIG. [Figure 8] FIG. 8 is a block diagram illustrating an example of a functional configuration of the authentication server according to the embodiment. [Figure 9] FIG. 9 is an explanatory diagram showing the data structure of a blockchain. [Figure 10] FIG. 10 is a block diagram illustrating an example of a functional configuration of the service server according to the embodiment. [Figure 11] FIG. 11 is a diagram showing an overall sequence of data distribution according to the embodiment. [Figure 12] FIG. 12 is a sequence diagram of a transaction data registration process according to the embodiment. [Figure 13] FIG. 13 is a sequence diagram of the data providing process according to the embodiment. [Figure 14] FIG. 14 is a sequence diagram of a token issuing process according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0012] A data distribution method according to one embodiment of the present disclosure is a data distribution method in a data distribution system, the data distribution method including encrypted history information in which the history information of the device is encrypted using a secret computation method that allows calculations to be performed while the information is encrypted, and includes the steps of receiving generated transaction data from the device, recording the transaction data in a distributed ledger if the validity of the transaction data received from the device is confirmed, and generating second transaction data indicating that a token will be issued to the device that generated the transaction data, and recording the generated second transaction data in the distributed ledger.
[0013] A data distribution system according to one embodiment of the present disclosure is a data distribution system comprising a device and an authentication server, wherein the device generates transaction data including encrypted history information in which the device's history information is encrypted using a secret computation method that allows calculations to be performed while the information remains encrypted, and the authentication server receives the generated transaction data, and upon confirming the legitimacy of the transaction data received from the device, records the transaction data in a distributed ledger, generates second transaction data indicating that a token will be issued to the device that generated the transaction data, and records the generated second transaction data in the distributed ledger.
[0014] A data distribution method according to one embodiment of the present disclosure is a data distribution method in a data distribution system including a device and a plurality of authentication servers, the method including a step of receiving, by a first authentication server among the plurality of authentication servers, transaction data generated by encrypting the device's history information using a secret computation method that allows calculations to be performed while the information remains encrypted; a step of, when the first authentication server confirms the legitimacy of the transaction data received from the device, recording the transaction data in a distributed ledger in synchronization with the plurality of authentication servers other than the first authentication server; and a step of, by the first authentication server, performing secret computation on the encrypted history information included in the transaction data while it remains encrypted.
[0015] This makes it possible to realize a data distribution method that allows data to be utilized while protecting data privacy.
[0016] Furthermore, the method may further include a step in which the first authentication server generates second transaction data including a blockchain address of first transaction data for which the secret calculation was performed among the transaction data recorded in the distributed ledger, and indicating that a token has been generated for the blockchain address, and transmits the second transaction data to the plurality of authentication servers other than the first authentication server; and a step in which the first authentication server records the second transaction data in the distributed ledger in synchronization with the plurality of authentication servers other than the first authentication server.
[0017] This makes it possible to provide an incentive for providing historical information about devices.
[0018] The data distribution system may further include a service server, and the data distribution method may further include the steps of: the service server generating third transaction data indicating a request for data analysis and transmitting the third transaction data to the first authentication server; if the first authentication server confirms the legitimacy of the third transaction data received from the service server, each of the plurality of authentication servers recording the third transaction data in a distributed ledger; and the first authentication server, in the step of performing secret computation, performing the secret computation on the encrypted history information included in first transaction data that is the target of the computation based on the data analysis request, among the transaction data recorded in the distributed ledger, transmitting the result of the secret computation to the service server, and the service server receiving the result of the secret computation from the first authentication server.
[0019] This allows the device's history information to be utilized while protecting its privacy.
[0020] The data distribution system may further include a service server, and the data distribution method may further include the steps of: the service server generating third transaction data indicating a request for data analysis and transmitting the third transaction data to the first authentication server; if the first authentication server confirms the legitimacy of the third transaction data received from the service server, each of the plurality of authentication servers recording the third transaction data in a distributed ledger; and the first authentication server, in the step of performing secret computation, performing the secret computation on the encrypted history information included in first transaction data that is the target of the computation based on the data analysis request, among the transaction data recorded in the distributed ledger, transmitting the result of the secret computation to the service server, and the service server receiving the result of the secret computation from the first authentication server.
[0021] Furthermore, for example, the history information may include personal data of the user of the device.
[0022] Furthermore, for example, the arithmetic processing may include image recognition processing.
[0023] In addition, an authentication server according to one embodiment of the present disclosure is one of the authentication servers in a data distribution system including a device and a plurality of authentication servers, and includes encrypted history information in which device history information is encrypted using a secret calculation method that allows calculations to be performed while the information is encrypted, and includes a communication unit that receives generated transaction data, a recording unit that records the transaction data in a distributed ledger when the validity of the transaction data received from the device is confirmed, and a secret calculation unit that performs secret calculations to execute calculations on the encrypted history information included in the transaction data while the information is encrypted.
[0024] Furthermore, a data structure according to one embodiment of the present disclosure is a data structure used for blocks recorded as a blockchain in a data distribution system having a device and a plurality of authentication servers, the data structure including a blockchain address, which is an identifier identifying the entity that generated the transaction data included in the block of the blockchain, a transaction ID that identifies the transaction data, encrypted history information included in the transaction data, which is encrypted history information of the device using a secret computation method that allows calculations to be performed while the data is encrypted, and an electronic signature of a user of the transaction data, and the encrypted history information is used in a secret computation process in which a first authentication server among the plurality of authentication servers performs calculations including data analysis while the data is encrypted.
[0025] Hereinafter, embodiments will be described with reference to the drawings. Note that each of the embodiments described below represents a specific example of the present disclosure. Therefore, the numerical values, shapes, materials, components, arrangements and connection forms of the components, etc. shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, among the components in the following embodiments, components that are not described in the independent claims that represent realizations of one embodiment of the present disclosure will be described as optional components. Realizations of the present disclosure are not limited to the current independent claims, but may also be expressed by other independent claims.
[0026] (Embodiment) First, the system configuration of the present disclosure will be described.
[0027] [1. System Configuration] The data distribution system disclosed herein encrypts data such as device history information using a method that enables secure computation, and records the encrypted data in a distributed ledger, including it in transaction data. This enables the data distribution system disclosed herein to collect and utilize data while protecting data privacy by utilizing blockchain technology.
[0028] The data distribution system and the like according to the embodiment will be described below with reference to the drawings.
[0029] [1.1 Overall configuration of the data distribution system 10] FIG. 1 is a diagram showing an example of the overall configuration of a data distribution system 10 according to this embodiment.
[0030] 1, the data distribution system 10 includes a house 100, a terminal 110, a vehicle 120, authentication servers 200a, 200b, and 200c, and a service server 300. These are connected via a communication network 400.
[0031] Furthermore, authentication servers 200a, 200b, and 200c (hereinafter also referred to as authentication servers 200) are connected to storage devices 201a, 201b, and 201c (hereinafter also referred to as storage devices 201). Authentication server 200 may be connected to storage device 201 via a communication network 400, or may include storage device 201 internally. Storage device 201 has a distributed ledger in which transaction data and blocks of the blockchain are electronically recorded.
[0032] 1 shows an example in which the data distribution system 10 includes three authentication servers, but the present invention is not limited to this. That is, the data distribution system 10 may include four or more authentication servers.
[0033] [1.2 Structure of the House 100] FIG. 2 is a diagram showing an example of the overall configuration of a house 100 according to this embodiment.
[0034] As shown in FIG. 2 , the house 100 includes a controller 101, a solar power generation unit 102, a storage battery 103, and a power meter 104. The controller 101, the solar power generation unit 102, the storage battery 103, and the power meter 104 are connected via a communication network 105. The solar power generation unit 102, the storage battery 103, and the power meter 104 are also connected via a power network 106. The house 100 is, for example, a house such as a residential building, but is not limited to this. The house 100 may also be a building such as a factory or a building. In other words, the house 100 may be in any form as long as it is a building used by a user. In the following, devices inside the house 100 will be referred to as in-home devices. The in-home devices are an example of devices in the present disclosure. The in-home devices may or may not include the solar power generation unit 102, the storage battery 103, and the power meter 104. The house 100 may also be an example of devices in the present disclosure.
[0035] <Controller 101> The controller 101 is, for example, a controller of an energy management system. In this embodiment, the controller 101 controls the solar power generation system 102, displays the power generation status of the solar power generation system 102 and the power storage status of the storage battery 103, and inputs applications for selling or purchasing power. The controller 101 also manages the amount of power transmitted to an external power network (not shown) via the power meter 104 and notifies the authentication server 200 of the amount. In this way, the controller 101 operates the devices in the home, displays the status of the devices in the home, performs input to the devices in the home, and manages the operation history and status changes of the devices in the home.
[0036] <Solar Power Generation 102> The solar power generation system 102 is a device equipped with a power generation method that uses solar cells to directly convert sunlight into electricity. The solar power generation system 102 generates electricity that can be used within the home 100, stored in a storage battery 103, or transmitted to a power network.
[0037] <Storage Battery 103> The storage battery 103 stores the power generated by the solar power generation system 102. The storage battery 103 transmits the stored power to the power network, for example, in response to a power transmission instruction from the controller 101. The storage battery 103 may also store power received from the power network, for example, in response to a power reception instruction from the controller 101. The storage battery 103 is not an essential component, and may not be provided in the house 100.
[0038] <Power meter 104> The power meter 104 measures the amount of power transmitted to or received from an external power network. When the photovoltaic power generation unit 102 or the storage battery 103 transmits power to the power network in response to a power transmission instruction from the controller, the power meter 104 measures the time and amount of power transmitted by the photovoltaic power generation unit 102 or the storage battery 103, and notifies the controller 101. In addition, in response to a power usage instruction from the controller 101, the power meter 104 measures the amount of power received from the power network and used.
[0039] An example of the configuration of the controller 101 will be described below.
[0040] [1.3 Controller 101 Configuration] FIG. 3 is a block diagram showing an example of the functional configuration of the controller 101 shown in FIG.
[0041] The controller 101 includes a processor and a memory storing a program that causes the processor to execute a predetermined process. That is, the controller 101 is realized by the processor executing the predetermined program using the memory. In this embodiment, the controller 101 includes a transaction data generation unit 1011, a secure computation unit 1012, a recording unit 1013, and a communication unit 1014, as shown in FIG. 3 .
[0042] <Transaction Data Generation Unit 1011> When a user operates a device in the home and receives an operation history from the device, or when the state of the device in the home changes and a state history is received from the device, the transaction data generation unit 1011 generates transaction data in the blockchain based on the device's history information, such as the operation history and state history. Here, the device's history information is an example of personal data, and includes personal data of the device's user.
[0043] In this embodiment, the transaction data generation unit 1011 transmits device history information received from the device to the secure computation unit 1012, and receives encrypted history information encrypted using a secure computation method that allows computation to be performed while the information remains encrypted, from the secure computation unit 1012. The transaction data generation unit 1011 generates transaction data that includes the received encrypted history information.
[0044] An example of the structure (data structure) of transaction data generated by transaction data generating unit 1011 will now be described with reference to Fig. 4. Fig. 4 is a diagram showing an example of the data structure of transaction data according to this embodiment.
[0045] As shown in FIG. 4, the data structure of the transaction data generated by the transaction data generation unit 1011 includes a transaction ID, a blockchain address, encryption history information, and a signature. The transaction ID is an identifier that identifies the transaction data. The blockchain address is an identifier that identifies the entity that generated the transaction data, and is represented as a BC address in FIG. 4. In this embodiment, the blockchain address can be used to identify the user or controller of the encryption history information. The encryption history information is data in which device history information is encrypted using a secret calculation method that allows calculations to be performed while the information remains encrypted, and is included in the transaction data. As shown in FIG. 4, the encryption history information is included in the payload portion, which is the data body of the transaction data. The signature is the user's electronic signature. In this embodiment, the signature is generated using a signature generation key individual to the user.
[0046] 4, the transaction data generation unit 1011 may generate transaction data to which type information indicating the type of encrypted history information is further added. The type information indicates the type of history information (data) that constitutes the encrypted history information, such as the operation history or status history of devices in the home, or the amount of power generated by the solar power generation system 102.
[0047] The transaction data generation unit 1011 also records the generated transaction data in the recording unit 1013. The transaction data generation unit 1011 also transmits the generated transaction data to at least one of the authentication servers 200a, 200b, and 200c via the communication unit 1014.
[0048] <Secret Computing Department 1012> The secure computation unit 1012 generates encrypted history information by encrypting the device history information using a secure computation method that allows computation to be performed on the encrypted information. In this embodiment, the secure computation unit 1012 performs encryption processing using the secure computation method on the device history information received from the transaction data generation unit 1011.
[0049] Data encrypted using a secure computation method can be subjected to computational processing, including image recognition, while remaining in the encrypted state. Encryption processing using a secure computation method can be performed using, for example, the method disclosed in Non-Patent Document 2 or Non-Patent Document 3. When data is encrypted using the method disclosed in Non-Patent Document 2, arithmetic operations can be performed while the data is encrypted. In this case, statistical data, for example, can be calculated while the data is encrypted. Furthermore, when data is encrypted using the method disclosed in Non-Patent Document 3, predictive calculations using a neural network can be performed. The method used for encryption processing may be determined in advance, or the method to be used during encryption may be obtained from authentication data, etc. Furthermore, multiple methods may be used for encryption processing.
[0050] <Recording Unit 1013> Recording unit 1013 records the transaction data generated by transaction data generation unit 1011. In this embodiment, recording unit 1013 records the transaction data generated by transaction data generation unit 1011, including encrypted history information that allows for secure computation.
[0051] <Communications Department 1014> The communication unit 1014 communicates with the service server 300 and the authentication server 200 via the communication network 400. This communication may be performed using TLS (Transport Layer Security). In this case, the communication unit 1014 may hold an encryption key for the TLS communication.
[0052] Next, the terminal 110 will be described.
[0053] [1.4 Configuration of Terminal 110] FIG. 5 is a block diagram showing an example of the functional configuration of the terminal 110 according to this embodiment.
[0054] The terminal 110 is an example of a 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 that acquires sensor information of a user, such as a wearable device.
[0055] In this embodiment, the terminal 110 includes a transaction data generation unit 1101, a secure computation unit 1102, a recording unit 1103, and a communication unit 1104, as shown in FIG.
[0056] <Transaction Data Generation Unit 1101> The transaction data generation unit 1101 generates transaction data in the blockchain based on history information including the operation history of the terminal 110 by the user, the history of information input by the user to the terminal 110, and the history of information about the user collected by the terminal 110. The history of information input by the user to the terminal 110 is, for example, a plurality of past photographs taken by the user using the terminal 110. The history of information about the user collected by the terminal 110 is, for example, a history of sensor information such as information indicating the user's body temperature.
[0057] In this embodiment, the transaction data generation unit 1101 transmits history information acquired from the terminal 110 to the secure computation unit 1102, and receives encrypted history information encrypted using a secure computation method that allows computation to be performed while the information remains encrypted, from the secure computation unit 1102. The transaction data generation unit 1101 generates transaction data that includes the received encrypted history information.
[0058] Here, the structure (data structure) of the transaction data generated by the transaction data generation unit 1101 is as shown in Figure 4. That is, the data structure of the transaction data generated by the transaction data generation unit 1101 includes a transaction ID, a blockchain address, encryption history information, and a signature.
[0059] As described above, this blockchain address is an identifier that identifies the entity that generated the transaction data, and can identify the user or the terminal 110. As described above, the transaction data generation unit 1101 may generate transaction data to which type information indicating the type of encrypted history information is further added. This type information indicates the type of history information (data) that constitutes the encrypted history information, such as the operation history of the terminal 110, multiple past photos held by the terminal 110, or the history of sensor information.
[0060] The transaction data generation unit 1101 also records the generated transaction data in the recording unit 1103. The transaction data generation unit 1101 also transmits the generated transaction data to at least one of the authentication servers 200a, 200b, and 200c via the communication unit 1104.
[0061] <Secret calculation section 1102> The secure computation unit 1102 generates encrypted history information by encrypting the history information of the terminal 110 using a secure computation method that allows computation while the information remains encrypted. In this embodiment, the secure computation unit 1102 performs encryption processing using the secure computation method on the history information of the terminal 110 received from the transaction data generation unit 1101 or history information such as a plurality of past photos and a history of sensor information held by the terminal 110. The encryption processing using the secure computation method is as described above and will not be described in detail here; however, for example, the method disclosed in Non-Patent Document 2 and / or Non-Patent Document 3 may be used.
[0062] As described above, the method to be used for the encryption process may be determined in advance, or the method to be used may be acquired from data, etc. Also, multiple methods may be used for the encryption process.
[0063] <Recording Unit 1103> Recording unit 1103 records the transaction data generated by transaction data generation unit 1101. In this embodiment, recording unit 1103 records the transaction data generated by transaction data generation unit 1101, including encrypted history information that allows for secure computation.
[0064] <Communication Unit 1104> The communication unit 1104 communicates with the service server 300 and the authentication server 200 via the communication network 400. This communication may be performed using TLS. In this case, the communication unit 1104 may hold an encryption key for the TLS communication.
[0065] Next, the vehicle 120 will be described.
[0066] 1.5 Vehicle 120 Configuration The vehicle 120 is, for example, an automobile, but is not limited to this. The vehicle 120 may also be a motorcycle, a ship, etc. In other words, the vehicle 120 or the like may have a plurality of ECUs connected to a network within the vehicle 120.
[0067] FIG. 6 is a diagram showing an example of the overall configuration of an in-vehicle network system included in a vehicle 120 according to this embodiment.
[0068] A plurality of electronic control units, ECU 1211a, ECU 1221, ECU 1231, ECU 1241, ECU 1251, and gateway 121, are connected to an in-vehicle network. Here, the in-vehicle network may be CAN, Ethernet (registered trademark), or a combination of CAN and Ethernet (registered trademark). Note that even when the in-vehicle network includes Ethernet (registered trademark), messages may be transmitted by broadcast.
[0069] The in-vehicle network is connected to, for example, an engine 1210, a battery 1230, a motor (not shown), and drive system ECUs related to fuel control. In the example shown in Fig. 6, an ECU 1211a for the engine 1210 and an ECU 1231 for the battery 1230 are connected to the in-vehicle network.
[0070] Also connected to the in-vehicle network are a driving assistance unit 1220 and safety and comfort function ECUs (not shown) such as automatic braking, lane keeping, distance control, collision prevention, and airbags. In the example shown in Fig. 6, an ECU 1221 for the driving assistance unit 1220 is connected to the in-vehicle network.
[0071] 6, an infotainment ECU such as a head unit 1240 is connected to the in-vehicle network. In the example shown in Fig. 6, an ECU 1241 for the head unit 1240 is connected to the in-vehicle network. Note that the ECU 1241 for the head unit 1240 may not be provided, and the head unit 1240 may be directly connected to the in-vehicle network without the ECU 1241. The head unit has a display unit and an input unit, and has the function of displaying a screen and accepting information input for a user inside the vehicle 120, i.e., a user inside the vehicle.
[0072] In addition, a communication ECU such as a communication unit 1250 having a communication function for communicating with the authentication server 200 is connected to the in-vehicle network. In the example shown in Fig. 6, an ECU 1251 for the communication unit 1250 is connected to the in-vehicle network.
[0073] The above-described ECUs 1211a to 1251 may be integrated with the parts they are connected to, i.e., configured as a single part. For example, engine 1210 and ECU 1211a for engine 1210 connected thereto may be configured as a single part. The same applies to other ECUs such as ECU 1221.
[0074] Such a plurality of electronic control units, namely, ECU 1211a to ECU 1251, transmit messages periodically or irregularly. For example, ECU 1211a for engine 1210 acquires the rotation speed of engine 1210 and periodically transmits a message indicating the acquired rotation speed of engine 1210. Also, for example, ECU 1221 for driving assist unit 1220 transmits a message indicating that a driving assist function has been turned on. Also, when an ECU newly connects to an in-vehicle network, a message indicating that may be transmitted.
[0075] Next, the gateway 121 connected to the in-vehicle network will be described.
[0076] [1.6 Configuring Gateway 121] FIG. 7 is a block diagram showing an example of the functional configuration of the gateway 121 shown in FIG.
[0077] The gateway 121 is realized by a processor executing a predetermined program using a memory. In this embodiment, the gateway 121 includes a transaction data generation unit 1211, a secure computation unit 1212, a recording unit 1213, and a communication unit 1214, as shown in FIG.
[0078] <Transaction Data Generation Unit 1211> The transaction data generation unit 1211 generates transaction data in the blockchain based on historical information of the vehicle 120, including the manual driving history or automatic driving history of the vehicle 120, and the history of sensor information of the vehicle 120.
[0079] In this embodiment, the transaction data generation unit 1211 transmits the history information acquired from the vehicle 120 to the secure calculation unit 1212, and receives encrypted history information encrypted using a secure calculation method that allows calculations to be performed while the information remains encrypted, from the secure calculation unit 1212. The transaction data generation unit 1211 generates transaction data that includes the received encrypted history information.
[0080] Here, the structure (data structure) of the transaction data generated by the transaction data generation unit 1211 is as shown in Figure 4. That is, the data structure of the transaction data generated by the transaction data generation unit 1211 includes a transaction ID, a blockchain address, encryption history information, and a signature.
[0081] Note that this blockchain address is an identifier that identifies the entity that generated the transaction data, and can identify the user of the vehicle 120, the gateway 121, or the vehicle 120. As described above, the transaction data generation unit 1211 may generate transaction data to which type information indicating the type of encrypted historical information is further added. This type information indicates the type of historical information (data) that constitutes the encrypted historical information, such as a driving history such as driving data of the vehicle 120, or a history of sensor information.
[0082] The transaction data generation unit 1211 also records the generated transaction data in the recording unit 1213. The transaction data generation unit 1211 also transmits the generated transaction data to at least one of the authentication servers 200a, 200b, and 200c via the communication unit 1214.
[0083] <Secret calculation section 1212> The secure computation unit 1212 generates encrypted history information by encrypting the history information of the vehicle 120 using a secure computation method that allows computation to be performed while the information remains encrypted. In this embodiment, the secure computation unit 1212 performs encryption processing using the secure computation method on history information such as the driving history and sensor information history of the vehicle 120 received from the transaction data generation unit 1211. The encryption processing using the secure computation method is as described above and will not be described in detail here, but for example, the method disclosed in Non-Patent Document 2 and / or Non-Patent Document 3 may be used.
[0084] <Recording Unit 1213> Recording unit 1213 records the transaction data generated by transaction data generation unit 1211. In this embodiment, recording unit 1213 records the transaction data generated by transaction data generation unit 1211, including encrypted history information that allows for secure computation.
[0085] <Communications Department 1214> The communication unit 1214 communicates with the service server 300 and the authentication server 200 via the communication network 400. This communication may be performed using TLS. In this case, the encryption key for TLS communication may be held in the communication unit 1214.
[0086] Next, the authentication server 200a and the like will be described.
[0087] [1.7 Configuration of Authentication Server 200a] 8 is a block diagram showing an example of the functional configuration of authentication server 200a according to this embodiment. Since authentication servers 200b and 200c have the same configuration, the following description will be given taking authentication server 200a as an example.
[0088] As shown in Fig. 8, the authentication server 200a includes a transaction data verification unit 211, a block generation unit 212, a synchronization unit 213, a secure computation unit 214, a token generation unit 215, a recording unit 216, and a communication unit 217. The authentication server 200a can be realized by a processor executing a predetermined program using a memory. Each component will be described below.
[0089] <Transaction Data Verification Unit 211> The transaction data verification unit 211 verifies the received transaction data. Specifically, when transaction data is received from a device such as the house 100, the terminal 110, or the vehicle 120, it verifies whether the format of the transaction data is correct and whether the signature is valid. In this way, the transaction data verification unit 211 verifies the transaction data by confirming the validity of the received transaction data.
[0090] If the transaction data verification unit 211 confirms the validity of the transaction data as a result of the verification, it records the transaction data in the recording unit 216 and notifies the synchronization unit 213 of this.
[0091] <Block Generation Unit 212> If the transaction data verification unit 211 successfully verifies the transaction data, the block generation unit 212 executes a consensus algorithm for the transaction data among multiple authentication servers. Here, the consensus algorithm may be a consensus algorithm called PBFT (Practical Byzantine Fault Tolerance) or any other known consensus algorithm.
[0092] As described above, in this embodiment, the block generation unit 212 executes a consensus algorithm among the authentication servers 200a, 200b, and 200c. That is, the block generation unit 212 first generates a block of a blockchain including one or more transaction data. Next, the block generation unit 212 executes the consensus algorithm. Then, when consensus is reached by executing the consensus algorithm, the block generation unit 212 records the generated block in the recording unit 216. The block generated by the block generation unit 212 is connected to the blockchain by the recording unit 216 and recorded.
[0093] Here, we will explain the data structure of the blockchain and the data structure of part of the transaction data included in the blockchain.
[0094] FIG. 9 is an explanatory diagram showing the data structure of a blockchain.
[0095] A blockchain is a chain of blocks, which are the units of record. Each block contains multiple transaction data and the hash value of the previous block. Specifically, block B2 contains the hash value of the previous block B1. A hash value calculated from the multiple transaction data contained in block B2 and the hash value of block B1 is included in block B3 as the hash value of block B2. In this way, by connecting blocks in a chain while including the contents of the previous block as a hash value, tampering with the connected transaction data is effectively prevented.
[0096] If past transaction data were to be changed, the hash value of the block would be different from before the change, and in order to make the altered block appear correct, all subsequent blocks would have to be recreated, which is a very difficult task in reality.
[0097] <Synchronization unit 213> The synchronization unit 213 synchronizes the blocks of the blockchain or the transaction data among the authentication servers (authentication servers 200a to 200c).
[0098] The synchronization units 213 of the multiple authentication servers 200a to 200c synchronize the transaction data of the blockchain on a peer-to-peer basis. Then, the synchronization units 213 record the synchronized transaction data of the blockchain in the recording unit 216.
[0099] For example, when the transaction data verification unit 211 verifies the validity of the transaction data, the synchronization unit 213 transfers the verified transaction data to authentication servers 200b and 200c, which are other authentication servers 200. Furthermore, when the synchronization unit 213 receives verified transaction data from another authentication server 200, it records the received verified transaction data in the recording unit 216.
[0100] <Secret calculation section 214> The secure computation unit 214 performs secure computation on the encrypted history information included in the transaction data while it remains encrypted. More specifically, when the secure computation unit 214 receives a data analysis request from the service server 300, it performs secure computation on the encrypted history information included in the first transaction data that is the target of computation based on the data analysis request, among the transaction data recorded in the distributed ledger of the storage device 201a in the blockchain. The computation processing in the secure computation performed by the secure computation unit 214 includes data analysis processing such as statistical processing and image recognition processing.
[0101] Then, the secure computation unit 214 transmits the result of the secure computation to the service server 300.
[0102] For example, when the secure computation unit 214 receives a request to acquire statistical data from the service server 300, it calculates the statistical data using the transaction data recorded in the distributed ledger of the storage device 201a based on the received request. More specifically, the secure computation unit 214 performs statistical processing using secure computation on the statistical data of the encrypted history information included in the transaction data. Then, the secure computation unit 214 transmits the statistical data obtained by performing the statistical processing using secure computation to the service server 300. Note that this secure computation may be performed using the method disclosed in Non-Patent Document 2 and / or Non-Patent Document 3.
[0103] This makes it possible to, for example, calculate the maximum or average amount of electricity, analyze photo data held by terminal 110, or calculate the average vehicle speed in a certain area from the speed of vehicle 120 to predict traffic congestion.
[0104] In addition, the secure computation unit 214 transmits to the token generation unit 215 the block chain address of the encrypted history information used in the secure computation.
[0105] <Token Generation Unit 215> The token generation unit 215 grants an incentive to the user of the encrypted history information used in the secure computation. In this embodiment, when the token generation unit 215 receives a blockchain address from the secure computation unit 214, it generates transaction data for issuing a token for the received blockchain address. The token generation unit 215 transmits the generated transaction data to the block generation unit 212 and the synchronization unit 213, thereby causing the synchronization unit 213 to synchronize with other authentication servers 200 and causing the block generation unit 212 to generate blocks. Then, the token generation unit 215 notifies the house 100, terminal 110, or vehicle 120 indicated by the received blockchain address via the communication unit 217 that a token has been issued.
[0106] <Recording Unit 216> The recording unit 216 includes the transaction data in a block and records it in the blockchain in the distributed ledger of the storage device 201a. The storage device 201a may be configured inside the recording unit 216, or may be configured outside the authentication server 200a as shown in FIG.
[0107] This transaction data includes transaction data received from the home 100, the terminal 110 or the vehicle 120, and transaction data of the token generated by the token generator 215.
[0108] In this embodiment, if the recording unit 216 confirms the validity of the transaction data received from the device, it records the transaction data in the distributed ledger.
[0109] <Communications Department 217> The communication unit 217 communicates with the house 100, the terminal 110, the vehicle 120, the authentication servers 200b and 200c, and the service server 300. This communication may be performed using TLS. In this case, an encryption key for TLS communication may be held in the communication unit 217. In this embodiment, the communication unit 217 receives transaction data that includes encrypted history information obtained by encrypting device history information using a secure computation method that allows calculations to be performed while the information remains encrypted.
[0110] Next, the service server 300 will be described.
[0111] [1.8 Configuration of the service server 300] FIG. 10 is a block diagram showing an example of the functional configuration of service server 300 according to this embodiment.
[0112] As shown in FIG. 10, the service server 300 includes a service management unit 311 and a communication unit 312.
[0113] <Service Management Department 311> The service management unit 311 generates transaction data indicating a request for data analysis and transmits it to the authentication server 200. For example, when utilizing information about devices such as the house 100, the terminal 110, or the vehicle 120, the service management unit 311 transmits a request for statistical data to the authentication server 200. Examples of the statistical data include statistical data on the maximum or average amount of electricity used in the house 100, and statistical data in which photos taken by the terminal 110 are classified into people or landscapes. Note that requests for data analysis are not limited to requests for statistical data, but also include requests for image recognition data.
[0114] In this embodiment, the service management unit 311 generates transaction data including a transaction ID, information indicating the requested content of data analysis, and a signature.
[0115] <Communication Unit 312> The communication unit 312 communicates with the authentication server 200. This communication may be performed using TLS. In this case, the communication unit 312 may hold an encryption key for the TLS communication.
[0116] [1.9 Overall sequence of data exchange between the home, authentication server, and service server] Next, a data distribution sequence between the house 100, the authentication servers 200a to 200c, and the service server will be described.
[0117] 11 is an overall sequence diagram of data distribution according to this embodiment. Each process will be described later. Note that the house 100 shown in FIG. 11 may be a terminal 110 or a vehicle 120, both of which are examples of devices of the present disclosure.
[0118] First, in step S100, transaction data registration processing is performed between the house 100 and the authentication servers 200a, 200b, and 200c. Next, in step S200, data provision processing is performed between the authentication servers 200a, 200b, and 200c and the service server 300. Next, in step S300, token issuance processing is performed between the house 100 and the authentication servers 200a, 200b, and 200c.
[0119] Step S300, that is, the token issuing process, may be executed every time the data providing process is performed, or may be executed periodically.
[0120] [1.9.1 Transaction data registration process between the home and the authentication server] Next, a transaction data registration process between the house 100 and the authentication servers 200a, 200b, and 200c will be described.
[0121] Fig. 12 is a sequence diagram of a transaction data registration process according to the present embodiment. In Fig. 12, the transaction data is registered by a house 100 as an example of a device of the present disclosure, but this is not limiting. The transaction data may be registered by a terminal 110 or a vehicle 120, and the same sequence is followed.
[0122] First, in step S101, the controller 101 of the house 100 acquires historical information about devices in the house and generates data that will be the basis for transaction data. For example, the house 100 acquires historical information such as the operation history of home appliances in the house, the amount of power generated by the solar power generation system 102, or the amount of power output from the storage battery 103, and generates the data that will be the basis for transaction data.
[0123] Next, in step S102, the controller 101 of the house 100 performs a secure computation process, i.e., an encryption process using a secure computation method, on the data such as the history information acquired in step S101. The secure computation method may be shared in advance between the authentication servers 200a, 200b, 200c and the controller 101 of the house 100, or may be determined in the data distribution system 10.
[0124] Next, in step S103, the controller 101 of the house 100 generates transaction data using the data encrypted using the secure computation method in step S102. More specifically, the transaction data includes encrypted history information in which the device history information is encrypted using a secure computation method that allows calculations to be performed while the data remains encrypted. Here, the transaction data includes, in addition to the encrypted history information, a transaction ID, a blockchain address, and a signature, as described above.
[0125] Next, in step S104, the controller 101 of the house 100 transmits the transaction data generated in step S103 to the authentication server 200a. Note that, in the example shown in Fig. 12, the controller 101 of the house 100 transmits the generated transaction data to the authentication server 200a, but it may also transmit the data to the authentication server 200b or the authentication server 200c. This is because the same processing is performed when the data is transmitted to the authentication server 200b or the authentication server 200c.
[0126] Next, in step S105, upon receiving the transaction data from the house 100, the authentication server 200a verifies the received transaction data.
[0127] In step S105, if the authentication server 200a does not successfully verify the transaction data (N in S105), it sends a notification to that effect to the house 100 (S106), and ends the process.
[0128] On the other hand, if the authentication server 200a successfully verifies the transaction data in step S105 (Y in S105), it transfers the transaction data to other authentication servers 200 (authentication servers 200b and 200c) (S107). Note that the authentication servers 200b and 200c also verify the transferred and received transaction data.
[0129] Next, in step S108, authentication server 200a, authentication server 200b, and authentication server 200c execute a consensus algorithm. If authentication server 200a, authentication server 200b, and authentication server 200c verify that the received transaction data is legitimate (i.e., validity), they each generate a block containing the transaction data. Then, authentication servers 200a, 200b, and 200c record the block containing the transaction data in the distributed ledger of storage devices 201a, 201b, and 201c. In other words, if authentication server 200a confirms the validity of the transaction data received from house 100, it records the transaction data in the distributed ledger in synchronization with authentication servers 200b and 200c other than authentication server 200a.
[0130] [1.9.2 Data provision process between service server and authentication server] Next, a data providing process between the service server 300 and the authentication servers 200a, 200b, and 200c will be described.
[0131] FIG. 13 is a sequence diagram of the data providing process according to this embodiment.
[0132] First, in step S201, service server 300 generates a request for data analysis. Specifically, service server 300 generates a request for data analysis such as statistical data such as calculation of the average or maximum value of power consumption in house 100, or classification information of photos of terminal 110.
[0133] Next, in step S202, the service server 300 generates transaction data (hereinafter referred to as third transaction data) indicating the data analysis request generated in step S201. For example, the service server 300 generates the third transaction data indicating the service server 300 and including a transaction ID for identifying the transaction data, information indicating the content of the data analysis request, and a signature.
[0134] Next, in step S203, the service server 300 transmits the third transaction data indicating the request for data analysis generated in step S202 to the authentication server 200c. Note that, in the description of Fig. 13, the service server 300 transmits the third transaction data to the authentication server 200c, but this is not limited to this. The service server 300 may transmit the third transaction data to another authentication server 200 (authentication servers 200b, 200a), and the same sequence will be followed.
[0135] Next, in step S204, upon receiving the third transaction data from the service server, authentication server 200c verifies the received third transaction data.
[0136] In step S204, if the authentication server 200c does not successfully verify the third transaction data (N in S204), it sends a notification to that effect to the service server 300 (S205), and ends the process.
[0137] On the other hand, in step S204, if the authentication server 200c has successfully verified the transaction data (Y in S204), it transfers the third transaction data to the other authentication servers 200 (authentication servers 200a and 200b).The other authentication servers 200 also verify the transferred and received third transaction data.
[0138] Next, in step S207, authentication server 200a, authentication server 200b, and authentication server 200c execute a consensus algorithm. If authentication server 200a, authentication server 200b, and authentication server 200c verify that the received transaction data is legitimate (i.e., validity), they each generate a block containing the transaction data. Then, authentication servers 200a, 200b, and 200c record the block containing the transaction data in the distributed ledger of storage devices 201a, 201b, and 201c. In other words, if authentication server 200c confirms the validity of the third transaction data received from service server 300, it records the third transaction data in the distributed ledger in synchronization with authentication servers 200a and 200b other than authentication server 200c.
[0139] Next, in step S208, authentication server 200a, authentication server 200b, and authentication server 200c perform secure computation to obtain computation results such as statistical data based on the data analysis request included in the third transaction data received from service server 300. Specifically, authentication server 200a, authentication server 200b, and authentication server 200c perform secure computation on encrypted history information included in first transaction data that is the target of the computation among the transaction data recorded in the distributed ledger. The first transaction data that is the target of the computation may be selected based on the data type. At this time, the blockchain address of the first transaction data used in the secure computation is recorded.
[0140] In step S208, the secure computation processing is distributed among authentication server 200a, authentication server 200b, and authentication server 200c, but this is not limiting. For example, the secure computation processing may be performed only by authentication server 200c.
[0141] Next, in step S209, authentication server 200c transmits to service server 300 the calculation results such as statistical data obtained by executing the secure calculation process between authentication servers 200.
[0142] Next, in step S210, authentication server 200c generates a transaction (hereinafter referred to as fourth transaction data) based on the transaction ID of the first transaction data used in the secure computation process in step S208. In other words, authentication server 200c generates fourth transaction data that includes the transaction ID of the first transaction data on which the secure computation process was performed and indicates that the calculation result of the secure computation process has been transmitted to service server 300. The generated fourth transaction data includes the transaction ID of the first transaction data used in the secure computation process and a signature of authentication server 200c. Note that the signature may be the signature of authentication server 200c only, or may include signatures of all authentication servers 200 (authentication servers 200a, 200b, 200c) that performed the secure computation process.
[0143] Next, in step S211, authentication server 200c transfers the generated fourth transaction data to the other authentication servers 200 (authentication servers 200a and 200b). The other authentication servers 200 verify the transferred and received fourth transaction data.
[0144] Next, in step S212, authentication server 200a, authentication server 200b, and authentication server 200c execute a consensus algorithm. When authentication server 200a, authentication server 200b, and authentication server 200c verify that the received fourth transaction data is legitimate transaction data (i.e., legitimacy), they each generate a block including the fourth transaction data. Then, authentication servers 200a, 200b, and 200c record the block including the fourth transaction data in the distributed ledger of storage devices 201a, 201b, and 201c. In other words, authentication server 200c records the fourth transaction data in the distributed ledger in synchronization with multiple authentication servers other than authentication server 200c (authentication servers 200a and 200b).
[0145] [1.9.3 Token issuance process between the home and the authentication server] Next, the token issuing process between the home and the authentication server will be described.
[0146] Fig. 14 is a sequence diagram of the token issuing process according to this embodiment. In the example shown in Fig. 14, the token is issued by authentication server 200c, but the process may be performed by authentication server 200b or authentication server 200a. This is because the process is the same whether authentication server 200b or authentication server 200a issues the token.
[0147] First, in step S301, the authentication server 200c refers to a block including the blockchain address used in the secure computation process and extracts the blockchain address. Then, the authentication server 200c generates transaction data (hereinafter referred to as second transaction data) for issuing a token for the extracted blockchain address. In other words, the authentication server 200c generates second transaction data that includes the blockchain address of the first transaction data that was subjected to the secure computation process among the transaction data recorded in the distributed ledger and indicates that a token has been generated for the blockchain address.
[0148] Next, in step S302, authentication server 200c transfers the second transaction data to authentication servers 200a and 200b. That is, authentication server 200c transmits the refined second transaction data to multiple authentication servers 200 other than authentication server 200c. The multiple authentication servers 200 other than authentication server 200c, i.e., authentication servers 200a and 200b, verify the received second transaction data.
[0149] Next, in step S303, authentication server 200a, authentication server 200b, and authentication server 200c execute a consensus algorithm. When authentication server 200a, authentication server 200b, and authentication server 200c verify that the received second transaction data is legitimate transaction data (i.e., validity), they each generate a block including the second transaction data. Then, authentication servers 200a, 200b, and 200c record the block including the second transaction data in the distributed ledger of storage devices 201a, 201b, and 201c. In other words, authentication server 200c records the second transaction data in the distributed ledger in synchronization with multiple authentication servers 200 other than authentication server 200c (authentication servers 200a and 200b).
[0150] Next, in step S304, the authentication server 200c notifies the block chain address that issued the token that the token has been issued. In the example shown in Fig. 14, the notification is sent to the house 100.
[0151] [1.10 Effect of the embodiment] In this embodiment, personal data such as historical information is encrypted using a method that enables secure computation from devices such as the house 100, the terminal 110, or the vehicle 120, and the encrypted data is included in transaction data and recorded in the distributed ledger. This not only effectively prevents tampering with the encrypted data, but also protects privacy by preventing personal data from being leaked even if the transaction data included in the block of the blockchain is made public. Furthermore, by using secure computation, the personal data included in the transaction data can be utilized without decryption.
[0152] As a result, since the privacy of users is protected even when they provide personal data, it becomes easier for users to provide personal data, i.e., transaction data including encrypted data encrypted using a method that allows for secure computation, to the authentication server 200. Furthermore, since a token is issued when the transmitted transaction data is utilized, providing personal data is also beneficial for users. In other words, it is possible to provide an incentive for users to provide personal data.
[0153] In this way, even if the authentication server 200 makes the distributed ledger public, it is possible to protect the privacy of personal data and still utilize the personal data. In other words, by utilizing blockchain technology, it is possible to build a safe system that not only effectively prevents tampering with personal data but also allows the utilization of personal data while protecting its privacy.
[0154] [2. Other variations] Although the present disclosure has been described based on the above-described embodiments, it goes without saying that the present disclosure is not limited to the above-described embodiments. The following cases are also included in the present disclosure.
[0155] (1) In the above embodiment, the authentication server 200 and the service server 300 are described as separate devices, but the authentication server 200 and the service server 300 may be the same device.
[0156] (2) In the above embodiment, when the authentication server 200 fails to verify the transaction data, the authentication server 200 notifies the house 100, the terminal 110, or the vehicle 120. However, the authentication server 200 may also notify the service server 300.
[0157] (3) In the above embodiment, the authentication server 200 issues a token to the blockchain address used in the secure computation process, but the service server 300 may transmit a token held by the service server 300 to the blockchain address. Alternatively, the service server 300 may request the authentication server 200 to issue a token and transmit the issued token to the blockchain address.
[0158] (4) In the above embodiment, the authentication server 200 issues tokens, but tokens or virtual currency issued outside the distribution system 10 may be stored in advance in the storage device 201 of the authentication server 200, etc., and sent to the blockchain address.
[0159] (5) As explained in the above embodiment, multiple authentication servers 200 may cooperate to perform the secure computation process, or one authentication server 200 may perform the secure computation process based on an existing secure computation encryption method. In this case, the authentication server 200 that performed the secure computation process may generate a token, or another authentication server 200 that did not perform the secure computation process may generate a token.
[0160] (6) In the above embodiment, the authentication server 200 issues a token to the blockchain address used in the secure computation process. However, the token may be issued to a device such as the house 100, the terminal 110, or the vehicle 120 that registered transaction data in the transaction data registration process. This may result in more transaction data being registered.
[0161] (7) In the above embodiment, the encryption process using secure computation may use multiple encryption methods, which allows for support of multiple methods such as statistical data or machine learning prediction processes.
[0162] (8) In the above embodiment, a token is issued for the blockchain address used in the secure computation process. However, the token issuing unit may be set to one token for each use in the secure computation process. Furthermore, when the address is used multiple times in the secure computation process, one token may be issued each time, or multiple tokens may be issued collectively when the address is used frequently. This can increase the incentive for the user when a large amount of personal data is provided to the service server 300.
[0163] (9) In the above embodiment, the transaction data for the house 100, the terminal 110, and the vehicle 120 includes encrypted history information encrypted by secret computation when the data is generated. However, this is not limited to this. The transaction data may include only history identification information that identifies the encrypted history information, without including the encrypted history information itself. In this case, the encrypted history information may be recorded in the recording unit of the authentication server 200, and the encrypted history information may be held in one or more of the multiple authentication servers 200.
[0164] (10) Furthermore, the present disclosure also includes a data structure used for blocks recorded as a blockchain in the data distribution system 10 of the above-described embodiment. More specifically, the data structure of the present disclosure includes a blockchain address, which is an identifier identifying an entity that generated transaction data included in a block of the blockchain, a transaction ID that identifies the transaction data, encryption history information included in the transaction data, which is encryption history information of a device encrypted using a secure computation method that allows computation while the data is encrypted, and a digital signature of a user of the transaction data. The encryption history information included in the data structure of the present disclosure is used in a secure computation process in which a first authentication server among the multiple authentication servers 200 performs computation including data analysis while the data is encrypted.
[0165] (11) Each device in the above embodiments is specifically a computer system comprising a microprocessor, ROM, RAM, hard disk unit, display unit, keyboard, mouse, etc. A computer program is recorded in the RAM or hard disk unit. Each device achieves its function by the microprocessor operating in accordance with the computer program. Here, the computer program is composed of a combination of multiple instruction codes that indicate commands to a computer to achieve a predetermined function.
[0166] (12) In each of the above embodiments, some or all of the constituent elements may be configured from a single system LSI (Large Scale Integration). A system LSI is an ultra-multifunctional LSI manufactured by integrating multiple components on a single chip, and specifically, is a computer system configured to include a microprocessor, ROM, RAM, etc. A computer program is recorded in the RAM. The system LSI achieves its functions when the microprocessor operates in accordance with the computer program.
[0167] Furthermore, each of the components constituting each of the above devices may be individually integrated into a single chip, or some or all of them may be integrated into a single chip.
[0168] Although we refer to it as a system LSI here, it may also be called an IC, LSI, super LSI, or ultra LSI depending on the level of integration. Furthermore, the method of integration is not limited to LSI, but may be realized using dedicated circuits or general-purpose processors. It is also possible to use FPGAs (Field Programmable Gate Arrays), which can be programmed after LSI manufacturing, or reconfigurable processors, which allow the connections and settings of circuit cells within LSI to be reconfigured.
[0169] Furthermore, if an integrated circuit technology that can replace LSI emerges due to advances in semiconductor technology or other derivative technologies, it is natural that such technology may be used to integrate functional blocks. The application of biotechnology, etc. is also a possibility.
[0170] (13) Some or all of the components constituting each of the above devices may be configured as an IC card or a standalone module that can be attached to each device. The IC card or module is a computer system composed of a microprocessor, ROM, RAM, etc. The IC card or module may include the above-mentioned ultra-multifunctional LSI. The IC card or module achieves its functions when the microprocessor operates according to a computer program. The IC card or module may be tamper-resistant.
[0171] (14) The present disclosure may be embodied as the methods described above, a computer program for implementing these methods on a computer, or a digital signal comprising the computer program.
[0172] The present disclosure may also be a computer program or a digital signal recorded on a computer-readable recording medium, such as 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), a semiconductor memory, etc. Alternatively, the present disclosure may be a digital signal recorded on such a recording medium.
[0173] Furthermore, the present disclosure may also be applied to transmitting the computer program or the digital signal via a telecommunications line, a wireless or wired communication line, a network such as the Internet, data broadcasting, or the like.
[0174] The present disclosure may also be directed to a computer system having a microprocessor and a memory, the memory storing the computer program, and the microprocessor operating in accordance with the computer program.
[0175] The program or the digital signal may also be implemented by another independent computer system by recording it on the recording medium and transferring it, or by transferring it via the network or the like.
[0176] (15) The above-described embodiments and modifications may be combined with each other. [Industrial Applicability]
[0177] In a data distribution system, the present disclosure enables data to be utilized while protecting privacy by encrypting device history information using a secret computation method and transmitting it, and then calculating the data while it remains encrypted at the authentication server. [Explanation of symbols]
[0178] 100 Housing 101 Controller 102 Solar power generation 103 Storage battery 104 Power Meter 105, 400 Communication Network 106 Power Network 110 Terminal 120 vehicles 121 Gateway 200a, 200b, 200c authentication servers 211 Transaction Data Verification Department 212 Block Generation Unit 213 Synchronization Unit 214, 1012, 1102, 1212 Secure calculation section 215 Token Generation Unit 216, 1013, 1103, 1213 Recording section 217, 312, 1014, 1104, 1214 Communications Department 300 Service Server 311 Service Management Department 1011, 1101, 1211 Transaction data generation unit 1210 Engine 1220 Driving Assistance Department 1230 battery 1240 head unit 1250 Communications Department 1211a, 1221, 1231, 1241, 1251 ECU
Claims
1. A data distribution method in a data distribution system, comprising: receiving, from the device, transaction data generated by the device, the transaction data including encrypted history information obtained by encrypting the history information of the device using a secure computation method that allows computation while the information is encrypted; If the authenticity of the transaction data received from the device is confirmed, recording the transaction data in a distributed ledger; generating second transaction data indicating that a token will be issued to the device that generated the transaction data, and recording the generated second transaction data in the distributed ledger; performing a secure computation on the encrypted history information included in the transaction data while the information remains encrypted; When generating the second transaction data, generating second transaction data indicating that the tokens are to be issued in an amount corresponding to a predetermined issuance unit each time the encrypted history information included in the transaction data is used in the secure computation; Data distribution methods.
2. In the calculation process, image recognition data or statistical data of the history information of the device is calculated by performing image recognition processing or statistical processing on the history information of the device. The data distribution method according to claim 1 .
3. moreover, generating third transaction data including a blockchain address of first transaction data, which is transaction data that has been subjected to secure computation among the transaction data recorded in the distributed ledger, and indicating that a token has been generated for the blockchain address; and recording the third transaction data in the distributed ledger. The data distribution method according to any one of claims 1 to 2.
4. the data distribution system further comprises a service server; The data distribution method further includes: the service server generating fourth transaction data indicating a request for data analysis and sending the fourth transaction data to the first authentication server; When the first authentication server confirms the legitimacy of the fourth transaction data received from the service server, each of the plurality of authentication servers records the fourth transaction data in a distributed ledger; In the step of performing a secure computation, the first authentication server performs the secure computation on the encryption history information included in the first transaction data that is the target of computation processing based on the request for data analysis, among the transaction data recorded in the distributed ledger, and transmits the computation result of the secure computation to the service server; the service server receiving a result of the secure computation from the first authentication server; The data distribution method according to any one of claims 1 to 3.
5. The data distribution method includes: generating fifth transaction data by the first authentication server, the fifth transaction data including the transaction ID of the first transaction data for which the secure computation was performed and indicating that the result of the secure computation has been transmitted to the service server, and transmitting the fifth transaction data to the plurality of authentication servers other than the first authentication server; and recording the fifth transaction data in a distributed ledger by the first authentication server in synchronization with the plurality of authentication servers other than the first authentication server. The data distribution method according to claim 4.
6. the historical information includes personal data of the user of the device; The data distribution method according to any one of claims 1 to 3.
7. A data distribution system including a device and an authentication server, the device generates transaction data including encrypted history information in which the device's history information is encrypted using a secure calculation method that allows calculation while keeping the information encrypted; the authentication server receives the generated transaction data; If the authenticity of the transaction data received from the device is confirmed, the transaction data is recorded in a distributed ledger; generating second transaction data indicating that a token will be issued to the device that generated the transaction data, and recording the generated second transaction data in the distributed ledger; performing a secure computation on the encrypted history information included in the transaction data while it is still encrypted; When generating the second transaction data, generating second transaction data indicating that the tokens are to be issued in an amount corresponding to a predetermined issuance unit each time the encrypted history information included in the transaction data is used in the secure computation; Data distribution system.
8. A program that causes a computer to execute the data distribution method according to any one of claims 1 to 6.
9. the history information includes personal data of the user of the device; the token is issued to the device and not to the user; The data distribution method according to claim 1 .
Citation Information
Patent Citations
Terminal apparatus, server, data processing system, data processing method and program
JP2012049679A
Smart grids and how smart grids work
JP2013543357A
Individual information distribution method, individual information distribution system and individual information distribution provider device
JP2016091067A
Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
US20160261404A1
Data usage method, system, and program thereof employing blockchain network (BCN)
WO2018124297A1