Aggregation device, information provision system, aggregation method, and recording medium
The system uses homomorphic encryption to securely aggregate and display user location data for efficient ride-hailing dispatch, addressing privacy concerns and ensuring accurate demand data for drivers.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-26
- Publication Date
- 2026-03-05
AI Technical Summary
Existing ride-hailing services face challenges in efficiently dispatching vehicles to high-demand areas while protecting user privacy, as users resist sharing location information and there is a risk of information leakage.
A system that collects encrypted location information from users using homomorphic encryption, aggregates the data to count user numbers in target areas, and decrypts the data for in-vehicle terminals to display demand data, ensuring privacy is maintained through secure computation and different encryption/decryption keys.
Enables the use of concealed user location information for efficient vehicle dispatch, protecting privacy and reducing the risk of data leaks, while providing accurate demand data for drivers.
Smart Images

Figure JP2024030121_05032026_PF_FP_ABST
Abstract
Description
Counting device, information providing system, counting method, and recording medium
[0001] The present disclosure relates to a tallying device, an information providing system, a tallying method, and a recording medium.
[0002] In ride-hailing services such as ride-sharing and taxis, efficient dispatch of vehicles to areas with high demand would enable the provision of appropriate services. For example, if ride-hailing service providers could collect the location information and behavioral history of passengers (users), they could identify areas with high demand. However, many users are resistant to having their privacy-related information, such as user location information and behavioral history, collected by the service provider. Furthermore, depending on how the information collected by the service provider is handled, there is a risk of information leakage. Therefore, a method for safely handling information related to users' privacy is required.
[0003] Patent Document 1 discloses a marketing support device. The device in Patent Document 1 anonymizes customer information acquired from a customer information management device and registers the anonymized data in a first database. The device in Patent Document 1 acquires, from a predetermined business, calculation logic for calculating an evaluation value indicating the degree of potential customer based on the customer information. The device in Patent Document 1 calculates the evaluation value from the anonymized data using the calculation logic. The device in Patent Document 1 outputs output information based on the evaluation value.
[0004] International Publication No. 2022 / 137561
[0005] According to the technique of Patent Document 1, customer information can be safely stored by registering anonymized data obtained by anonymizing customer information in a database. However, the technique of Patent Document 1 cannot be applied to applications in which privacy-related information such as location information acquired in real time is used while remaining anonymous, such as applications in which areas with high demand are identified.
[0006] An object of the present disclosure is to provide a counting device, an information providing system, a counting method, and a recording medium that enable the use of concealed user location information in a vehicle dispatch service.
[0007] A counting device according to one aspect of the present disclosure includes a collection unit that collects encrypted location information from mobile devices carried by users of a ride-hailing service, a counting unit that uses secret computation processing to count the encrypted location information and generate counted information in encrypted form indicating the number of users for each section included in the target area where the ride-hailing service is provided, and an output unit that outputs the counted information.
[0008] In one aspect of the counting method of the present disclosure, encrypted location information is collected from mobile devices carried by users who use the ride-hailing service, the encrypted location information is aggregated using secret computation processing, and aggregated information indicating the number of users for each section included in the target area where the ride-hailing service is provided is generated in encrypted form, and the aggregated information is output.
[0009] A program according to one aspect of the present disclosure causes a computer to perform the following processes: collecting encrypted location information from mobile devices carried by users of a ride-hailing service; aggregating the encrypted location information using a secret computation process to generate aggregated information in encrypted form indicating the number of users for each section included in the target area where the ride-hailing service is provided; and outputting the aggregated information.
[0010] According to the present disclosure, it is possible to provide a counting device, an information providing system, a counting method, and a recording medium that enable the use of concealed user location information in a vehicle dispatch service.
[0011] 1 is a conceptual diagram showing an example of a vehicle dispatch service to which an information providing system according to the present disclosure is applied. FIG. 1 is a block diagram showing an example of a configuration of an information providing system according to the present disclosure. FIG. 2 is a sequence diagram showing an overview of data flow in the information providing system according to the present disclosure. FIG. 3 is a block diagram showing an example of a configuration of an encryption device according to the present disclosure. FIG. 4 is a conceptual diagram showing an example of a user interface displayed on a screen of a mobile terminal in which an encryption device according to the present disclosure is implemented. FIG. 4 is a block diagram showing an example of a configuration of a tallying device according to the present disclosure. FIG. 5 is a block diagram showing an example of a configuration of a decryption device according to the present disclosure. FIG. 6 is a tabulated information table showing an example of tabulated information tabulated by the information providing system according to the present disclosure. FIG. 7 is a block diagram showing an example of a configuration of an in-vehicle terminal according to the present disclosure. FIG. 8 is a conceptual diagram showing an example of a map based on map data stored in an in-vehicle terminal according to the present disclosure. FIG. 9 is a conceptual diagram showing an example of a heat map provided by the information providing system according to the present disclosure. FIG. 10 is a conceptual diagram showing an example of a heat map provided by the information providing system according to the present disclosure. FIG. 11 is a conceptual diagram showing an example of a heat map provided by the information providing system according to the present disclosure. FIG. 12 is a conceptual diagram showing an example of a user interface displayed on a screen of a mobile terminal in which an encryption device according to the present disclosure is implemented. FIG. 13 is a flowchart for explaining an example of encryption processing according to the present disclosure. FIG. 1 is a flowchart for explaining an example of a secure computation process in the present disclosure. FIG. 2 is a flowchart for explaining an example of a decryption process in the present disclosure. FIG. 3 is a flowchart for explaining an example of a display process in the present disclosure. FIG. 4 is a conceptual diagram showing an example of a vehicle dispatch service to which an information provision system in the present disclosure is applied. FIG. 5 is a block diagram showing an example of a configuration of a tallying device in the present disclosure. FIG. 6 is a conceptual diagram showing an example of a vehicle dispatch service to which an information provision system in the present disclosure is applied. FIG. 7 is a block diagram showing an example of a configuration of an information provision system in the present disclosure. FIG. 8 is a sequence diagram showing an overview of the flow of data in the information provision system in the present disclosure. FIG. 9 is a block diagram showing an example of a configuration of an encryption device in the present disclosure.FIG. 1 is a block diagram illustrating an example of a configuration of a tallying device in the present disclosure. FIG. 2 is a block diagram illustrating an example of a configuration of an in-vehicle terminal in the present disclosure. FIG. 3 is a flowchart for explaining an example of encryption processing in the present disclosure. FIG. 4 is a flowchart for explaining an example of secure computation processing in the present disclosure. FIG. 5 is a flowchart for explaining an example of partial decryption processing in the present disclosure. FIG. 6 is a flowchart for explaining an example of display processing in the present disclosure. FIG. 7 is a block diagram illustrating an example of a configuration of a tallying device in the present disclosure. FIG. 8 is a flowchart for explaining an example of an operation of the tallying device in the present disclosure. FIG. 9 is a block diagram illustrating an example of a hardware configuration for executing control and processing in the present disclosure.
[0012] Hereinafter, embodiments for carrying out the present disclosure will be described with reference to the drawings. In this disclosure, drawings used in describing each embodiment relate to one or more embodiments. Furthermore, elements included in each drawing may apply to one or more embodiments. The embodiments described below are limited in a manner that is technically preferable for carrying out the present disclosure, but this does not limit the scope of the disclosure. In all drawings used in describing the following embodiments, similar parts are designated by the same reference numerals unless otherwise specified. In the following embodiments, repeated description of similar configurations and operations may be omitted. The direction of arrows in the drawings indicates an example of the flow of signals, data, etc., and does not limit the flow of signals, data, etc.
[0013] First Embodiment An information provision system according to a first embodiment will be described with reference to the drawings. The information provision system collects location information of passengers (users) who use a ride-hailing service in a target area where the service is provided. The user location information is provided to the information provision system in a state where the user location information is encrypted using a predetermined encryption method. That is, the information provision system collects concealed location information. The information provision system tally up the number of users for each of multiple sections included in the target area, with the location information kept concealed. The information provision system outputs demand data including the tally up information to an in-vehicle terminal used by a crew member (driver) who provides the ride-hailing service. For example, the method of this embodiment can be applied to ride-hailing services such as ride-sharing, taxis, and hire cars.
[0014] In this embodiment, an example will be given in which homomorphic encryption is used as the predetermined encryption method. Homomorphic encryption is an encryption method that allows data operations to be performed on ciphertext as is. Homomorphic encryption is attracting attention from the perspective of protecting privacy and preventing data leaks because it allows data to be communicated and stored as well as processed in an encrypted state. Encryption methods other than homomorphic encryption may be used as long as they allow data operations to be performed on ciphertext as is.
[0015] In this embodiment, an example is given in which a single-key homomorphic encryption method (single-key method) is used. In the single-key method, the user has an encryption key for encrypting data provided by the user (provided data), and the administrator stores a decryption key for decrypting the encrypted data. The decryption key may be managed by a third party other than the administrator. The encryption key held by the user corresponds to a public key. The decryption key stored by the administrator corresponds to a private key. For example, examples of the single-key method include fully homomorphic encryption such as the Brakerski / Fan-Vercauteren (BFV) method and the Brakerski-Gentry-Vaikuntanathan (BGV) method. In this embodiment, an example is given in which pre-generated encryption keys and decryption keys are used. The encryption key and decryption key may be configured to be generated sequentially when a distribution request is received from a user.
[0016] (Configuration) Fig. 1 is a conceptual diagram showing an example of a vehicle dispatch service to which the information provision system of the present disclosure is applied. Fig. 1 shows mobile terminals used by multiple users who use the vehicle dispatch service, a counting server and a decryption server managed by an administrator who operates the vehicle dispatch service, and vehicles in which drivers who provide the vehicle dispatch service are on duty. In an actual vehicle dispatch service, multiple vehicles are used.
[0017] A user carries a mobile terminal 110. The mobile terminal 110 is a terminal device such as a smartphone or a tablet. The mobile terminal 110 may be a device other than a smartphone or a tablet as long as it can transmit location information. An administrator manages the tallying server 120 and the decryption server 130. The tallying server 120 and the decryption server 130 are server devices built in the cloud or a data center. The server devices may be implemented by information processing devices such as personal computers. An in-vehicle terminal, which will be described later, is installed in the vehicle 140. For example, the in-vehicle terminal installed in the vehicle 140 is implemented by a car navigation system having a monitor. The in-vehicle terminal may be implemented by a device such as a smartphone or a tablet.
[0018] The mobile terminal 110, the tallying server 120, the decryption server 130, and the on-board terminal mounted on the vehicle 140 are connected to a network NW such as the Internet via wireless communication or wired communication. The mobile terminal 110, the tallying server 120, the decryption server 130, and the on-board terminal mounted on the vehicle 140 are communicably connected via the network NW.
[0019] 2 is a block diagram showing an example of the configuration of an information provision system according to the present disclosure. The information provision system 1 includes a plurality of encryption devices 11, a counting device 12, a decryption device 13, and an in-vehicle terminal 14. In FIG. 2, a network intervening between the components is omitted.
[0020] 3 is a sequence diagram showing an overview of the data flow in the information providing system of the present disclosure. In FIG. 3, the processing of each component is expressed in a simplified manner, and the data exchanged between the components is clearly shown. The processing of each component will be described in detail later.
[0021] The encryption device 11 is implemented in a mobile terminal 110 carried by a user. For example, the encryption device 11 is implemented in the mobile terminal 110 in the form of an application. The encryption device 11 acquires location information of the mobile terminal 110 via a positioning function implemented in the mobile terminal 110. For example, the positioning function measures the location of the mobile terminal 110 using a satellite positioning system such as a Global Positioning System (GPS) or a Global Navigation Satellite System (GNSS). The positioning function may be configured to measure the location of the mobile terminal 110 using a positioning system other than a satellite positioning system.
[0022] The encryption device 11 executes an encryption process and encrypts the location information using an encryption key (process P11). The encrypted location information is included in the provided data provided to the tallying device 12. The provided data may include unencrypted data. A decryption key (private key) corresponding to the encryption key (public key) used by the encryption device 11 is stored in the decryption device 13. The encryption device 11 transmits the provided data to the tallying device 12 via the communication function of the mobile terminal 110.
[0023] The tallying device 12 is implemented in the tallying server 120. The tallying device 12 collects location information of users who use the ride-hailing service. The tallying device 12 collects encrypted location information. The tallying device 12 performs a secret calculation process and tally the number of users for each of multiple sections included in the target area using the location information that remains encrypted (process P12). The tallying information generated by the tallying device 12 remains encrypted using an encryption key. The tallying device 12 outputs tally data including the encrypted tally information to the decryption device 13.
[0024] In this embodiment, an example is shown in which data encrypted using homomorphic encryption is handled. Using homomorphic encryption, encrypted data can be operated on while it is encrypted. In homomorphic encryption, any function can be operated by combining addition and multiplication.
[0025] There are various types of homomorphic encryption, including additive homomorphic encryption, multiplicative homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. Additive homomorphic encryption is encryption that allows addition to be performed on the ciphertext as is. Examples of additive homomorphic encryption include Goldwasser-Micali encryption, Paillier encryption, and Okamoto-Uchiyama encryption. Multiplicative homomorphic encryption is encryption that allows multiplication to be performed on the ciphertext as is. Examples of multiplicative homomorphic encryption include ElGamal encryption and RSA (Rivest-Shamir-Adleman) encryption. Somewhat homomorphic encryption is encryption that allows addition and multiplication to be performed on the ciphertext as is. Somewhat homomorphic encryption has a limit on the number of multiplication operations that can be performed. Examples of somewhat homomorphic encryption include BGN (Boneh-Goh-Nissim) encryption and some lattice encryption. Fully homomorphic encryption is a type of encryption that allows addition and multiplication to be performed on the ciphertext. An example of fully homomorphic encryption is the lattice-based method proposed by Gentry.
[0026] Plaintext M[k] and ciphertext C[k] are related as shown in the following formula 1 (k is a natural number). (Formula 1) C[k] = Enc(M[k]) (1) If additive homomorphic encryption, somewhat homomorphic encryption, or fully homomorphic encryption is used, it is possible to calculate the addition of plaintext M[1] and plaintext M[2] using ciphertext C[1] and ciphertext C[2] as shown in the following formula 2. (Formula 2) C a = Enc(M[1] + M[2]) (2) If multiplicative homomorphic encryption, somewhat homomorphic encryption, or fully homomorphic encryption is used, the multiplication of plaintext M[1] and plaintext M[2] can be calculated using ciphertext C[1] and ciphertext C[2], as shown in the following equation 3. (Equation 3) C m= Enc(M[1]×M[2]) (3) Note that the above equations 1 to 3 are intended to show an outline of the homomorphic encryption operation, and do not show the homomorphic encryption in detail. A known operation method can be selected for the homomorphic encryption operation.
[0027] The decryption device 13 is implemented in the decryption server 130. The decryption device 13 acquires the encrypted aggregated information from the aggregation device 12. The decryption device 13 executes a decryption process and decrypts the aggregated information using a decryption key (process P13). For example, the aggregated information includes information linking the number of users to each of multiple sections included in the target area. The decryption device 13 outputs demand data including the decrypted aggregated information to an in-vehicle terminal 14 used by a driver of a vehicle that provides the ride-hailing service. As will be described later, the aggregation server 120 and the decryption server 130 can be integrated into the same server. Providing the aggregation server 120 and the decryption server 130 separately increases security against the risk of system attacks and failures.
[0028] The in-vehicle terminal 14 is installed in the vehicle 140 driven by the driver. For example, the in-vehicle terminal 14 is realized by a navigation system installed in the vehicle 140 or a mobile terminal used by the driver. The in-vehicle terminal 14 receives the demand data output from the decoding device 13. The in-vehicle terminal 14 executes a display process and displays the aggregated information included in the demand data on a monitor (process P14). For example, the in-vehicle terminal 14 displays on the monitor an image in which a display according to the number of users for each section included in the target area is superimposed on a map of the target area.
[0029] For example, multiple users who use a ride-hailing service may be divided into groups according to a predetermined rule. In this configuration, different encryption and decryption keys are assigned to each group, making it more difficult for information about users' privacy to be leaked.
[0030] For example, the location information of a driver who provides a ride-hailing service may be collected in an encrypted form. In this configuration, the encryption key and decryption key on the user side and the encryption key and decryption key on the driver side are different, thereby enabling more secure management of information relating to the privacy of the user and the driver.
[0031] For example, the encryption key and the decryption key may be updated over time. The encryption key and the decryption key may be configured to be updated according to a predetermined rule, or may be configured to be updated randomly. If the encryption key and the decryption key are updated over time, it becomes more difficult for information relating to the user's privacy to be leaked.
[0032] Next, the components of the information provision system 1 will be individually described. For example, the components of the information provision system 1 are realized by an information processing device such as a computer having a processor and a memory. For example, the functions of the components of the information provision system 1 are realized by the processor executing a program stored in the memory of the computer.
[0033] [Encryption Device] Fig. 4 is a block diagram showing an example of the configuration of an encryption device according to the present disclosure. The encryption device 11 includes a data acquisition unit 111, a storage unit 112, an encryption unit 113, and a communication unit 115. Fig. 4 shows an encryption key P stored in the encryption device.
[0034] The data acquisition unit 111 acquires the location information of the mobile terminal 110 via a positioning function implemented in the mobile terminal 110. At the stage when the data acquisition unit 111 acquires the location information, the location information is not encrypted.
[0035] The storage unit 112 stores an encryption key P. The encryption key P corresponds to a public key. Data encrypted with the encryption key P is decrypted using a decryption key stored in the decryption device 13.
[0036] The encryption unit 113 executes encryption processing. The encryption unit 113 encrypts the provided data including the location information using an encryption key. The encryption unit 113 may be configured to encrypt only private data such as the location information. The encrypted location information is included in the provided data provided to the tallying device 12. The provided data may also include unencrypted data.
[0037] The communication unit 115 transmits the provided data to the tallying device 12. For example, the function of the communication unit 115 is realized by the communication function of the mobile terminal 110.
[0038] FIG. 5 is a conceptual diagram illustrating an example of a user interface displayed on the screen of a mobile terminal equipped with an encryption device according to the present disclosure. The screen of the mobile terminal 110 displays an application screen for using a ride-hailing service. The screen of the mobile terminal 110 displays a question message, "Do you want a ride?" Below the question message, a button containing the word "Yes" for accepting the ride is displayed. Here, when the button containing the word "Yes" is tapped, the encryption device 11 acquires the location information of the mobile terminal 110 and performs encryption processing. The screen of the mobile terminal 110 also displays a description that reads, "The provided data will be securely processed using homomorphic encryption." The screen of the mobile terminal 110 also displays a schematic diagram of a padlock to indicate that data will be securely processed. Reading the description, a user can recognize that data, including privacy-related data such as location information, will be securely processed using homomorphic encryption. The user interface in FIG. 5 is merely an example and does not limit the user interface for using a ride-hailing service.
[0039] 6 is a block diagram showing an example of the configuration of a tallying device according to the present disclosure. The tallying device 12 includes a collection unit 121, a tallying unit 123, and an output unit 125.
[0040] The collection unit 121 collects provided data including encrypted location information from the mobile terminal 110 used by the user of the vehicle dispatch service. The function of the collection unit 121 is realized by a communication interface of the tallying server 120 in which the tallying device 12 is implemented.
[0041] The counting unit 123 performs a secure computation process and counts the number of users for each of multiple zones included in the target area using the encrypted location information. The counting unit 123 performs the computation using a method such as additive homomorphic encryption, multiplicative homomorphic encryption, somewhat homomorphic encryption, or fully homomorphic encryption. For example, the counting unit 123 generates a count table indicating how many users are located in each zone included in the target area. For example, the counting unit 123 may be configured to generate a count table including count information categorized by additional information such as the user's preference or attributes.
[0042] The output unit 125 outputs the encrypted tally information. The function of the output unit 125 is realized by a communication interface of the tally server 120 in which the tally device 12 is implemented. The encrypted tally information is transmitted to the decryption device 13 via the communication function of the tally server 120.
[0043] 7 is a block diagram showing an example of the configuration of a decoding device according to the present disclosure. The decoding device 13 includes a receiving unit 131, a storage unit 132, a decoding unit 133, and an output unit 135.
[0044] The receiving unit 131 receives the encrypted tally information from the tallying device 12. The function of the receiving unit 131 is realized by a communication interface of the decryption server 130 in which the decryption device 13 is implemented.
[0045] The storage unit 132 stores a decryption key K. The decryption key K corresponds to a private key that unlocks an encryption key P (public key). Data encrypted with the encryption key P is decrypted using the decryption key.
[0046] The decryption unit 133 decrypts the tally information calculated by secure computation using the decryption key K. For example, the tally information includes information linking the number of users to each of multiple sections included in the target area.
[0047] 8 is a table showing an example of aggregated information aggregated by the information providing system of the present disclosure. The aggregated information table records the number of users for each section included in the target area. By superimposing a display according to the number of users for each section on a map of the target area, the demand for ride-hailing services by users can be visualized.
[0048] The output unit 135 outputs the demand data including the decrypted aggregate information to the in-vehicle terminal 14 used by the driver of the vehicle that provides the vehicle dispatch service. The function of the output unit 135 is realized by the communication interface of the decryption server 130 in which the decryption device 13 is implemented.
[0049] 9 is a block diagram showing an example of the configuration of an in-vehicle terminal according to the present disclosure. The in-vehicle terminal 14 includes a communication unit 141, a storage unit 142, a display control unit 145, and a monitor 147. The in-vehicle terminal 14 executes display processing.
[0050] The communication unit 141 receives the demand data output from the decoding device 13. For example, the function of the communication unit 141 is realized by the communication function of the in-vehicle terminal 14.
[0051] The storage unit 142 stores map data for displaying a map M including an area where a vehicle dispatch service is provided. The storage unit 142 may store data other than the map data for displaying the map M.
[0052] 10 is a conceptual diagram showing an example of a map based on map data stored in an in-vehicle terminal according to the present disclosure. The map M may be a general-purpose map or a dedicated map specialized for a vehicle dispatch service.
[0053] The display control unit 145 displays a heat map H on the monitor 147, in which a display according to the aggregate information included in the demand data is superimposed on a map M. The heat map H is a map that visualizes user demand in an area where a ride-hailing service is provided. For example, the heat map H is a map that visualizes a display according to the number of users for each section included in the target area.
[0054] FIG. 11 is a conceptual diagram illustrating an example of a heat map provided by the information providing system of the present disclosure. The heat map H1 is display information in which a map M including an area where a ride-hailing service is provided is superimposed with a display according to the number of users for each of multiple sections included in the area. In the heat map H1, the display form of the sections is differentiated depending on the number of users. For example, the number of users for each section included in the target area is differentiated using a display form such as color, shading, or shape. The number of users for each section may also be differentiated using a display form other than color, shading, or shape. Furthermore, the number of users for each section included in the target area may be displayed with greater precision.
[0055] 12 is a conceptual diagram illustrating an example of a heat map provided by the information providing system of the present disclosure. In the heat map H2, a number indicating the number of users for each section of the heat map H1 (FIG. 11) is superimposed. Using the heat map H2, the number of users for each section included in the target area can be accurately determined. For example, by displaying the heat map H2 on the screen of a management terminal used by a company providing a ride-hailing service, the number of drivers to be sent to that section can be accurately estimated.
[0056] The heat map may include a display according to additional information. For example, the additional information includes user classification and user attributes. User classification is a classification based on criteria such as the level of contract fee or optional fee, a rank assigned according to the usage history of the ride-hailing service, and the quality of the ride-hailing service. For example, user attributes include user characteristics such as gender, age, place of origin, nationality, language, religion, hobbies, and preferences. The additional information may include the urgency of the ride-hailing. For example, the urgency is set according to the user's request or usage fee. Figures 13 to 15 below show examples of heat maps including a display according to additional information.
[0057] FIG. 13 is a conceptual diagram illustrating an example of a heat map provided by the information providing system of the present disclosure. In the example of FIG. 13, the counting device 12 (collection unit 121) collects provided data including encrypted user classifications. The counting device 12 (collection unit 123) counts the number of users for each section included in the target area, classified based on the user classifications, using a secure computation process. The counting device 12 (collection unit 121) may be configured to collect provided data including unencrypted user classifications. In this case, the counting device 12 (collection unit 123) classifies the encrypted location information according to the user classifications and counts the number of users for each section included in the target area. In the heat map H3, a display indicating the user classification is superimposed on each section of the heat map H1 ( FIG. 11 ). The user classifications may be represented by letters or numbers, or may be differentiated by the display format of the sections. The user classifications are provided in an encrypted form together with the location information. Users are classified according to preset criteria. For example, users are classified according to criteria such as the level of contract fees and optional fees, a rank assigned according to their usage record of the ride-hailing service, the quality of the ride-hailing service, etc. By using the heat map H3, users can intuitively grasp which section they should preferentially head to.
[0058] FIG. 14 is a conceptual diagram illustrating an example of a heat map provided by the information providing system of the present disclosure. In the example of FIG. 14, the counting device 12 (collection unit 121) collects provided data including encrypted user attributes. The counting device 12 (collection unit 123) counts the number of users for each section included in the target area, classified based on the user attributes, using a secure computation process. The counting device 12 (collection unit 121) may be configured to collect provided data including unencrypted user attributes. In this case, the counting device 12 (collection unit 123) classifies the encrypted location information according to the user attributes and counts the number of users for each section included in the target area. In the heat map H4, a display indicating user attributes is superimposed on each section of the heat map H1 ( FIG. 11 ). In the heat map H4, the letters M (Man) indicating male and F (Female) indicating female are superimposed on each section. The user attributes may be represented by letters or numbers, or may be differentiated by the display format of the sections. The user attributes are provided in an encrypted form along with the location information. For example, if the user is a woman, being assigned a vehicle 140 with a female driver can lead to a sense of security for the user. For example, if the user and the driver are from the same place of origin or have the same nationality, this can lead to a sense of satisfaction for the user. In other words, using the heat map H4 can provide more appropriate services according to the user attributes.
[0059] FIG. 15 is a conceptual diagram illustrating an example of a heat map provided by the information providing system of the present disclosure. In the example of FIG. 15, the counting device 12 (collection unit 121) collects provided data for which a level of urgency is set. The counting device 12 (counting unit 123) counts the number of users for each section using secure computation processing and flags sections that include providers of provided data for which a level of urgency is set. In the heat map H5, a display indicating the level of urgency is superimposed on the heat map H1 ( FIG. 11 ). For example, the level of urgency may be set by an administrator providing a vehicle dispatch service. Using the heat map H5, the driver can intuitively grasp the section to which he or she should head.
[0060] FIG. 16 is a conceptual diagram illustrating an example of a user interface displayed on the screen of a mobile terminal equipped with an encryption device according to the present disclosure. For example, the user interface of FIG. 16 is displayed after the button containing the word "Yes" in the user interface of FIG. 5 is tapped. The screen of the mobile terminal 110 displays a question message asking, "Do you want to use the emergency option?" Below the question message, a radio button for checking whether or not to use the emergency option is displayed. In the example of FIG. 16 , if an option is selected, a charge of 5,000 units is made. On the other hand, if an option is not selected, no charge is made. When the button containing the word "Next" is tapped after the presence or absence of an option is selected, the encryption device 11 acquires the location information of the mobile terminal 110 and performs encryption processing. The flag indicating the presence or absence of an option may or may not be encrypted. The screen of the mobile terminal 110 also displays a description that reads, "The provided data will be securely processed using homomorphic encryption." The screen of the mobile terminal 110 also displays a schematic diagram of a padlock to indicate that the data will be securely processed. By reading the explanation, the user can understand that data, including privacy-related data such as location information, will be securely processed using homomorphic encryption. Note that the user interface in Figure 16 is an example and is not intended to limit the user interface for using a ride-hailing service.
[0061] 10 to 16 show examples in which a heat map showing demand for a ride-hailing service is output to an on-board terminal 14 mounted on a vehicle 140 providing the ride-hailing service. For example, aggregated data including aggregated information on the locations of vehicles 140 providing the ride-hailing service, aggregated for each section of a target area, may be provided to a mobile terminal 110 carried by a user using the ride-hailing service. With such a configuration, the user can consider whether to arrange for a vehicle 140 by viewing a screen displaying information corresponding to the provided aggregated data. For example, the on-board terminal 14 mounted on a vehicle 140 providing the ride-hailing service may be configured to provide a notification corresponding to demand for the ride-hailing service. In this case, configuring the on-board terminal 14 to display information indicating the notification on a monitor or to notify the driver by sound or vibration makes it easier to provide an appropriate ride-hailing service according to user demand.
[0062] (Operation) Next, an example of the operation of the information providing system in this embodiment will be described with reference to the drawings. Below, each process executed in the information providing system will be described using an individual flowchart. The following processes will be described individually for each process summarized in FIG. 3.
[0063] [Encryption Process] Fig. 17 is a flowchart for describing an example of encryption process in the present disclosure. In the description of the process according to the flowchart of Fig. 17, the components of the encryption device 11 are the subject of operations. The encryption device 11 may be the subject of operations of the process according to the flowchart of Fig. 17. For example, the process according to the flowchart of Fig. 17 is realized by a processor executing a program stored in a memory installed in a mobile terminal 110 in which the encryption device 11 is implemented.
[0064] 17, first, the data acquisition unit 111 acquires the provided data (step S111). For example, the data acquisition unit 111 acquires the provided data in response to an operation via a user interface displayed on the screen of the mobile terminal 110.
[0065] Next, the encryption unit 113 encrypts the location information using the encryption key stored in the storage unit 112 (step S112). The encryption unit 113 may be configured to encrypt information other than the location information.
[0066] Next, the communication unit 115 transmits the provided data including the encrypted location information (step S113). The provided data is transmitted to the tallying server 120, which includes the tallying device 12, via the communication function of the mobile terminal 110, which includes the encryption device 11.
[0067] [Secure Computation Processing] Fig. 18 is a flowchart for explaining an example of the secure computation processing in the present disclosure. In the explanation of the processing according to the flowchart of Fig. 18, the components of the tallying device 12 are the subject of operations. The subject of operations of the processing according to the flowchart of Fig. 18 may be the tallying device 12. For example, the processing according to the flowchart of Fig. 18 is realized by a processor executing a program stored in a memory constituting the tallying server 120 in which the tallying device 12 is implemented.
[0068] 18, first, the collection unit 121 collects provided data including encrypted location information transmitted from the mobile terminal 110 carried by a user who uses the vehicle dispatch service (step S121). The provided data is acquired via the communication function of the tallying server 120 in which the tallying device 12 is implemented.
[0069] Next, the counting unit 123 counts the number of people in each section included in the target area using the encrypted location information through secure computation (step S122). For example, the counting unit 123 counts the number of people in each section included in the target area using a homomorphic encryption technique.
[0070] Next, the output unit 125 outputs the tally information in encrypted form (step S123). The tally information is transmitted to the decryption device 13 via the communication function of the tally server 120 in which the tally device 12 is implemented.
[0071] [Decoding Process] Fig. 19 is a flowchart for describing an example of the decoding process according to the present disclosure. In the description of the process according to the flowchart of Fig. 19, the components of the decoding device 13 are the subject of operations. The decoding device 13 may be the subject of operations of the process according to the flowchart of Fig. 19. For example, the process according to the flowchart of Fig. 19 is realized by a processor executing a program stored in a memory constituting the decryption server 130 in which the decoding device 13 is implemented.
[0072] 19, first, the receiving unit 131 acquires the tally information in an encrypted format (step S131). The tally information is acquired via the communication function of the decryption server 130 in which the decryption device 13 is implemented.
[0073] Next, the decryption unit 133 decrypts the tally information using the decryption key stored in the storage unit 132 (step S132). The decryption unit 133 may be configured not to decrypt information other than the tally information.
[0074] Next, the output unit 135 outputs the demand data including the decrypted aggregate information (step S133). The demand data is output to an in-vehicle terminal installed in a vehicle that provides a vehicle-dispatch service via a communication function of the decryption server 130 in which the decryption device 13 is implemented.
[0075] [Display Processing] Figure 20 is a flowchart for explaining an example of display processing in the present disclosure. In the description of the processing according to the flowchart of Figure 20, the components of the in-vehicle terminal 14 are the main actors performing the operations. The main actor performing the processing according to the flowchart of Figure 20 may be the in-vehicle terminal 14. For example, the processing according to the flowchart of Figure 20 is realized by a processor executing a program stored in a memory constituting the in-vehicle terminal 14.
[0076] 20, first, the communication unit 141 acquires the demand data output from the decoding device 13 (step S141). The communication unit 141 receives the demand data via the communication function of the in-vehicle terminal 14.
[0077] Next, the display control unit 145 generates a heat map using the aggregate information included in the demand data (step S142). For example, the display control unit 145 generates a heat map in which a display according to the number of users for each section included in the target area is superimposed on a map M of the target area stored in the storage unit 142.
[0078] Next, the display control unit 145 displays the generated heat map on the monitor 147 (step S143). The heat map displayed on the monitor 147 is checked by a driver providing a ride-hailing service. After checking the heat map displayed on the monitor 147, the driver moves the vehicle 140 toward a section close to the driver or a section with a large number of users. The information provision system may be configured so that the driver is notified of the user's exact location by another function (not shown).
[0079] (Modification) Next, an information providing system according to a modification of the present embodiment will be described with reference to the drawings. In the following, a modification in which the tallying server and the decryption server are integrated will be described.
[0080] Fig. 21 is a conceptual diagram showing an example of a vehicle dispatch service to which the information provision system of the present disclosure is applied. Fig. 21 shows an example of a system configuration of a modified example. The system of this modified example differs from the configuration of Fig. 1 etc. in that the tallying device and the decryption server are integrated. In the following, explanations of the same configuration as Fig. 1 etc. will be omitted or simplified.
[0081] 21 shows mobile terminals used by multiple users of the vehicle dispatch service, a collection server managed by an administrator who operates the vehicle dispatch service, and vehicles in which drivers who provide the vehicle dispatch service are on duty. In an actual vehicle dispatch service, the information provision system 1 may include multiple vehicles.
[0082] A user carries a mobile terminal 110. The mobile terminal 110 is a mobile terminal device such as a smartphone or tablet. An administrator manages the tallying server 120-1. The tallying server 120-1 is a server device built in the cloud or a data center. An in-vehicle terminal 14 is installed in the vehicle 140. The mobile terminal 110, the tallying server 120-1, and the in-vehicle terminal 14 are connected to a network NW such as the Internet via wireless communication or wired communication. The mobile terminal 110, the tallying server 120-1, and the in-vehicle terminal 14 installed in the vehicle 140 are connected to each other so as to be able to communicate with each other via the network NW.
[0083] Fig. 22 is a block diagram showing an example of the configuration of a tallying device according to the present disclosure. The tallying device 12-1 includes a collection unit 121, a tallying unit 123, a storage unit 132, a decryption unit 133, and an output unit 135. The collection unit 121 and the tallying unit 123 have the same configuration as that shown in Fig. 6. The storage unit 132, the decryption unit 133, and the output unit 135 have the same configuration as that shown in Fig. 7.
[0084] The collection unit 121 collects provided data including encrypted location information from the mobile terminal 110 used by a user who uses the vehicle dispatch service. The function of the collection unit 121 is realized by a communication interface of the tallying server 120-1 in which the tallying device 12-1 is implemented.
[0085] The counting unit 123 performs a secure computation process and counts the number of users for each of multiple zones included in the target area using the encrypted location information. The counting unit 123 performs the computation using a method such as additive homomorphic encryption, multiplicative homomorphic encryption, somewhat homomorphic encryption, or fully homomorphic encryption. For example, the counting unit 123 generates a count table indicating how many users are located in each zone included in the target area. For example, the counting unit 123 may be configured to generate a count table including count information categorized by additional information such as the user's preference or attributes.
[0086] The storage unit 132 stores a decryption key K. The decryption key K corresponds to a private key that unlocks an encryption key P (public key). Data encrypted with the encryption key P is decrypted using the decryption key.
[0087] The decryption unit 133 decrypts the tally information calculated by secure computation using the decryption key K. For example, the tally information includes information linking the number of users to each of multiple sections included in the target area.
[0088] The output unit 135 outputs the demand data including the decrypted aggregation information to the in-vehicle terminal 14 used by the driver of the vehicle that provides the vehicle dispatch service. The function of the output unit 135 is realized by the communication interface of the aggregation server 120-1 in which the aggregation device 12-1 is implemented.
[0089] According to this modification, the tallying server 120 and the decryption server 130 can be integrated into the same server. That is, according to this modification, the secure computation process and the decryption process can be executed by a single device. Therefore, according to this modification, the hardware resources can be reduced. Note that providing the tallying server 120 and the decryption server 130 separately provides higher security against the risk of attacks on the system and the occurrence of failures. Therefore, whether or not to integrate the tallying server 120 and the decryption server 130 can be selected depending on the purpose.
[0090] As described above, the information provision system of this embodiment includes an encryption device, a counting device, a decryption device, and an in-vehicle terminal. The encryption device is implemented in a mobile terminal carried by a user who uses the ride-hailing service. The encryption device stores a public encryption key. The encryption device encrypts location information of the mobile terminal using the encryption key. The encryption device outputs provided data including the encrypted location information. The counting device collects provided data including the encrypted location information from the mobile terminal carried by the user who uses the ride-hailing service. The counting device counts the encrypted location information using a secure computation process to generate encrypted summary information indicating the number of users for each section included in a target area where the ride-hailing service is provided. For example, the counting device performs a computation using a homomorphic encryption scheme as the secure computation process. The counting device outputs the decrypted summary information as the number of users for each section included in the target area. The decryption device stores a private decryption key that is paired with the encryption key. The decryption device uses the decryption key to decrypt the summary information included in the summary data output from the counting device. The decryption device outputs the decrypted summary information. For example, the decoding device outputs demand data to an on-board terminal installed in a vehicle that provides a ride-hailing service. The on-board terminal is mounted on the vehicle that provides the ride-hailing service. The on-board terminal receives the aggregated data output from the decoding device. The on-board terminal uses the aggregated information included in the aggregated data to display on a monitor display information in which a display according to the number of users for each section included in the target area is superimposed on a map of the target area. For example, the on-board terminal displays on the monitor display information including a heat map showing demand for each section included in the target area.
[0091] In this embodiment, location information of users who use ride-hailing services such as ride-sharing and taxis is collected in a confidential state. Therefore, according to the method of this embodiment, demand information used to generate information such as a demand heat map that allows users to intuitively grasp their demand can be provided to drivers who provide ride-hailing services while keeping the user's location information confidential. In other words, according to this embodiment, encrypted location information is calculated using secure computation processing, so that the demand of users who use ride-hailing services can be identified while keeping the user's location information confidential.
[0092] In one aspect of the present embodiment, the counting unit generates, in encrypted form, count information that is decrypted as a count table that records the number of users for each section included in the target area. According to this aspect, by referring to the count table, it is easy to identify the demand of users who use the ride-hailing service.
[0093] In one aspect of the present embodiment, the collection unit collects provided data including location information to which incidental information is assigned. The aggregation unit performs processing according to the incidental information. For example, the collection unit collects provided data including location information to which a user classification is assigned as incidental information. Then, the aggregation unit aggregates the number of users for each section included in the target area, classified based on the user classification. For example, the collection unit collects provided data including location information to which a user attribute is assigned as incidental information. Then, the aggregation unit aggregates the number of users for each section included in the target area, classified based on the user attribute. For example, the collection unit collects provided data including location information to which a user attribute is assigned as incidental information. Then, the aggregation unit flags the section including the provider of the provided data to which the urgency level is assigned. For example, the in-vehicle terminal displays display information including a heat map reflecting processing according to the incidental information on a monitor. According to this aspect, a ride-hailing service according to the user's incidental information can be provided by referring to the heat map reflecting processing according to the incidental information.
[0094] In one aspect of this embodiment, the tallying device includes a decryption unit that decrypts the tally information using a decryption key. The output unit outputs demand data including the decrypted tally information. According to this aspect, the tallying information can be decrypted by the tallying server, so the decryption server can be omitted.
[0095] In one aspect of this embodiment, the output unit outputs demand data to a mobile terminal carried by a user who uses a ride-hailing service. The method of this aspect can be applied to applications in which location information of vehicles providing the ride-hailing service is compiled while being kept confidential. For example, in applications in which ride-sharing is provided as a ride-hailing service, there is a need to keep vehicle location information confidential because the vehicle may be owned by an individual. In response to such needs, a service can be provided that matches users with vehicles by calculating the distance between the user and the vehicle using secure computation while the user and vehicle locations are kept confidential. Furthermore, according to this aspect, a service can be provided that provides users with a heat map based on the number of vehicles providing the ride-hailing service. For example, if a vehicle heat map and estimated arrival times can be presented to a user considering using a ride-hailing service in front of a station, a service can be provided that accepts ride-hailing requests from users.
[0096] In providing a vehicle dispatch service using the technique of this embodiment, a different pair of encryption key and decryption key may be provided for each user. For example, the vehicle dispatch service may be configured so that a different pair of encryption key and decryption key is provided for each group including multiple users formed according to a predetermined rule depending on the location or time of day. For example, the vehicle dispatch service may be configured so that a different pair of encryption key and decryption key is provided depending on the location or time of day. This configuration improves the confidentiality of information related to the user's privacy.
[0097] Second Embodiment Next, an information providing system according to a second embodiment will be described with reference to the drawings. This embodiment differs from the first embodiment in that the encryption key and the decryption key are held by the user.
[0098] In this embodiment, an example is given in which a multi-key homomorphic encryption scheme (multiple key scheme) is used. For example, the method of this embodiment can be applied to the method described in Non-Patent Document 1 (H. Chen et al. "Efficient Multi-Key Homomorphic Encryption with Packed Ciphertexts with Application to Oblivious Neural Network Inference," Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, 2019). In the multi-key scheme, the user side stores an encryption key for encrypting data provided by the user (provided data) and a decryption key for decrypting the encrypted data. In this disclosure, the encryption key and decryption key correspond to private keys. The encryption key and decryption key are different for each user. The administrator side does not store the encryption key or the decryption key, but instead stores public parameters. The public parameters correspond to a computation key generated using the private key when the entire system is set up. The computation key is stored by the administrator providing the ride-hailing service. The computation key is used in secret computation of the encrypted data. In this embodiment, an example is given in which an encryption key and a decryption key provided to a user in advance are used. The encryption key and the decryption key may be configured to be generated sequentially for each user when a delivery request is received from the user.
[0099] (Configuration) Fig. 23 is a conceptual diagram showing an example of a vehicle dispatch service to which the information provision system of the present disclosure is applied. Fig. 23 shows mobile terminals used by multiple users who use the vehicle dispatch service, a compilation server managed by an administrator who operates the vehicle dispatch service, and vehicles in which drivers who provide the vehicle dispatch service are on duty. In an actual vehicle dispatch service, multiple vehicles are used.
[0100] A user carries a mobile terminal 210. The mobile terminal 210 is a terminal device such as a smartphone or a tablet. An administrator manages the tallying server 220. The tallying server 220 is a server device built in the cloud or a data center. An in-vehicle terminal, which will be described later, is installed in the vehicle 240. For example, the in-vehicle terminal installed in the vehicle is realized by a car navigation system having a display device. The in-vehicle terminal may also be realized by a smartphone, a tablet, or the like.
[0101] The mobile terminal 210, the tallying server 220, and the in-vehicle terminal mounted on the vehicle 240 are connected to a network NW such as the Internet via wireless communication or wired communication. The mobile terminal 210, the tallying server 220, and the in-vehicle terminal mounted on the vehicle 240 are communicably connected via the network NW.
[0102] Fig. 24 is a block diagram showing an example of the configuration of an information provision system according to the present disclosure. The information provision system 2 includes a plurality of encryption devices 21, a counting device 22, and an in-vehicle terminal 24. Networks intervening between the components are omitted from Fig. 24. In this embodiment, demand data including counted information partially decrypted by a mobile terminal 210 carried by a user is output to the in-vehicle terminal 24 installed in a vehicle 240 in which a driver is on duty.
[0103] 25 is a sequence diagram showing an overview of the data flow in the information providing system of the present disclosure. In FIG. 25, the processing of each component is expressed in a simplified manner, and the data exchanged between the components is clearly shown. The processing of each component will be described in detail later.
[0104] The encryption device 21 is implemented in a mobile terminal 210 carried by a user. For example, the encryption device 21 is implemented in the mobile terminal 210 in the form of an application. The encryption device 21 acquires location information of the mobile terminal 210 via a positioning function implemented in the mobile terminal 210. For example, the positioning function measures the location of the mobile terminal 210 using a satellite positioning system such as a Global Positioning System (GPS) or a Global Navigation Satellite System (GNSS). The positioning function may be configured to measure the location of the mobile terminal 210 using a positioning system other than a satellite positioning system.
[0105] The encryption device 21 executes an encryption process and encrypts the location information using an encryption key (process P21). The encrypted location information is included in the provided data provided to the tallying device 22. The provided data may include unencrypted data. A decryption key (private key) corresponding to the encryption key (public key) used by the encryption device 21 is stored in the encryption device 21. The encryption device 21 transmits the provided data to the tallying device 22 via the communication function of the mobile terminal 210.
[0106] The tallying device 22 is implemented in the tallying server 220. The tallying device 22 collects location information of users who use the ride-hailing service. The tallying device 22 collects encrypted location information. The tallying device 22 performs a secure computation process and counts the number of users for each of multiple sections included in the target area using the location information that remains encrypted (process P22). The aggregated information by the tallying device 22 remains encrypted using an encryption key. For example, the aggregated information includes information linking the number of users to each of multiple sections included in the target area. The tallying device 22 transmits aggregated data including the encrypted aggregated information to a mobile terminal 210 in which the encryption device 21 is implemented. The encrypted aggregated information is the result of aggregating location information encrypted with a different encryption key for each of multiple users using secure computation. Therefore, the encrypted aggregated information is partially decrypted using a decryption key stored by each of the multiple users.
[0107] In this embodiment, an example of handling data encrypted using homomorphic encryption will be shown. Using homomorphic encryption allows encrypted data to be operated on while still encrypted. In homomorphic encryption, any function can be operated by combining addition and multiplication. A specific example of homomorphic encryption is the same as in the first embodiment.
[0108] The encryption device 21 acquires aggregated data including the encrypted aggregated information from the aggregation device 22. The encryption device 21 executes a partial decryption process to partially decrypt the aggregated information using a decryption key (process P23). In the partial decryption process, information that differs for each user is partially decrypted. The encryption device 21 outputs demand data including the partially decrypted aggregated information (partial information) to an in-vehicle terminal 24 used by a driver who drives a vehicle that provides a ride-hailing service. The partial information output from the mobile terminals 210 used by each of the multiple users is integrated in the in-vehicle terminal 24 used by the driver and reconstructed as aggregated information indicating the number of users for each section included in the target area.
[0109] The on-board terminal 24 is installed in the vehicle 240 driven by the driver. For example, the on-board terminal 24 is realized by a navigation system installed in the vehicle 240 or a mobile terminal used by the driver. The on-board terminal 24 receives the partial information output from each of the multiple encryption devices 21. The on-board terminal 24 executes a display process and displays the received aggregated information on a monitor (process P24). For example, the on-board terminal 24 displays on the monitor an image in which a display according to the number of users for each section included in the target area is superimposed on a map of the target area.
[0110] Next, the components of the information provision system 2 will be individually described. For example, the components of the information provision system 2 are realized by an information processing device such as a computer having a processor and memory. For example, the functions of the components of the information provision system 2 are realized by the processor executing a program stored in the memory of the computer.
[0111] [Encryption Device] Fig. 26 is a block diagram showing an example of the configuration of an encryption device according to the present disclosure. The encryption device 21 includes a data acquisition unit 211, a storage unit 212, an encryption unit 213, a decryption unit 214, and a communication unit 215. Fig. 26 shows an encryption key P and a decryption key K stored in the encryption device.
[0112] The data acquisition unit 211 acquires the location information of the mobile terminal 210 via a positioning function implemented in the mobile terminal 210. At the stage when the data acquisition unit 211 acquires the location information, the location information is not encrypted.
[0113] The storage unit 212 stores an encryption key P and a decryption key K. The encryption key P and the decryption key K correspond to private keys. Data encrypted with the encryption key P is decrypted using the decryption key K.
[0114] The encryption unit 213 executes encryption processing. The encryption unit 213 encrypts the provided data including the location information using an encryption key P. The encryption unit 213 may be configured to encrypt only private data such as the location information. The encrypted location information is included in the provided data provided to the counting device 22. The provided data may include unencrypted data.
[0115] The decryption unit 214 partially decrypts the aggregate information calculated by the secret calculation using the decryption key K. The decryption unit 214 partially decrypts information that can be decrypted using the decryption key K stored in the storage unit 212 of the device itself. Information that cannot be decrypted using the decryption key K stored in the storage unit 212 of the device itself remains encrypted.
[0116] The communication unit 215 transmits the provided data to the tallying device 22. The communication unit 215 also receives tally data including tally information in encrypted format from the tallying device 22. The communication unit 215 further outputs the demand data including the partially decrypted tally information to the in-vehicle terminal 24 used by the driver of the vehicle that provides the ride-hailing service. For example, the function of the communication unit 215 is realized by the communication function of the mobile terminal 210.
[0117] 27 is a block diagram showing an example of the configuration of a tallying device according to the present disclosure. The tallying device 22 includes a collection unit 221, a tallying unit 223, and an output unit 225.
[0118] The collection unit 221 collects provided data including encrypted location information from the mobile terminal 210 used by the user of the vehicle dispatch service. The function of the collection unit 221 is realized by a communication interface of the tallying server 220 in which the tallying device 22 is implemented.
[0119] The tallying unit 223 performs a secure computation process and tally the number of users for each of a plurality of sections included in the target area using the location information that remains encrypted. The tallying unit 223 performs the computation using a homomorphic encryption method. For example, the tallying unit 223 generates a summary table indicating how many users are located in each of the sections included in the target area. For example, the tallying unit 223 may be configured to generate a summary table including summary information categorized by supplementary information such as the user's preference or attributes.
[0120] The output unit 225 outputs the tally data including the encrypted tally information. The function of the output unit 225 is realized by a communication interface of the tally server 220 in which the tally device 22 is implemented. The tally data is transmitted to the mobile terminal 210 used by the user via the communication function of the tally server 220.
[0121] 28 is a block diagram showing an example of the configuration of an in-vehicle terminal according to the present disclosure. The in-vehicle terminal 24 includes a communication unit 241, a storage unit 242, an integration unit 243, a display control unit 245, and a monitor 247. The in-vehicle terminal 24 executes display processing.
[0122] The communication unit 241 receives demand data output from the encryption device 21 implemented in the mobile terminal 210 used by each of the multiple users. For example, the function of the communication unit 241 is realized by the communication function of the in-vehicle terminal 24.
[0123] The storage unit 242 stores map data for displaying a map M including an area where the vehicle dispatch service is provided. The map M may be a general-purpose map or a dedicated map specialized for the vehicle dispatch service.
[0124] The integrating unit 243 integrates the decrypted demand data output from the encryption device 21 implemented in the mobile terminal 210 used by each of the multiple users, and reconstructs the aggregated data. The reconstructed aggregated data includes the number of users for each of the multiple sections included in the target area.
[0125] The display control unit 245 displays a heat map H on the monitor 247, in which information indicating the reconstructed aggregated information is superimposed on a map M. The heat map H is a map that visualizes user demand in an area where a ride-hailing service is provided. For example, the heat map H is a map that visualizes a display according to the number of users for each section included in the target area.
[0126] (Operation) Next, an example of the operation of the information providing system in this embodiment will be described with reference to the drawings. Below, each process executed in the information providing system will be described using an individual flowchart. The following processes will be described individually for each process summarized in FIG. 25.
[0127] [Encryption Process] Fig. 29 is a flowchart for describing an example of encryption process in the present disclosure. In the description of the process according to the flowchart of Fig. 29, the components of the encryption device 21 are the subject of operations. The encryption device 21 may be the subject of operations of the process according to the flowchart of Fig. 29. For example, the process according to the flowchart of Fig. 29 is realized by a processor executing a program stored in a memory installed in a mobile terminal 210 in which the encryption device 21 is implemented.
[0128] 29, first, the data acquisition unit 211 acquires the provided data (step S211). For example, the data acquisition unit 211 acquires the provided data in response to an operation via a user interface displayed on the screen of the mobile terminal 210.
[0129] Next, the encryption unit 213 encrypts the location information using the encryption key stored in the storage unit 212 (step S212). The encryption unit 213 may be configured to encrypt information other than the location information.
[0130] Next, the communication unit 215 transmits the provided data including the encrypted location information (step S213). The provided data is transmitted to the tallying server 220, which includes the tallying device 22, via the communication function of the mobile terminal 210, which includes the encryption device 21.
[0131] [Secure Computation Processing] Fig. 30 is a flowchart for explaining an example of the secure computation processing in the present disclosure. In the explanation of the processing according to the flowchart of Fig. 30, the components of the tallying device 22 are the subject of operations. The subject of operations of the processing according to the flowchart of Fig. 30 may be the tallying device 22. For example, the processing according to the flowchart of Fig. 30 is realized by a processor executing a program stored in a memory constituting the tallying server 220 in which the tallying device 22 is implemented.
[0132] 30 , first, the collection unit 221 collects provided data including encrypted location information transmitted from the mobile terminal 210 carried by a user who uses the vehicle dispatch service (step S221). The provided data is acquired via the communication function of the tallying server 220 in which the tallying device 22 is implemented.
[0133] Next, the counting unit 223 counts the number of people in each section included in the target area using the encrypted location information through secret computation (step S222). For example, the counting unit 223 counts the number of people in each section included in the target area using a homomorphic encryption technique.
[0134] Next, the output unit 225 outputs the tally data including the tally information in encrypted form (step S223). The tally data is transmitted to the mobile terminal 210 via the communication function of the tally server 220 in which the tally device 22 is implemented.
[0135] [Partial Decryption Process] Fig. 31 is a flowchart for describing an example of partial decryption process according to the present disclosure. In the description of the process according to the flowchart of Fig. 31, the components of the encryption device 21 are the subject of operations. The encryption device 21 may be the subject of operations of the process according to the flowchart of Fig. 31. For example, the process according to the flowchart of Fig. 31 is performed by a processor executing a program stored in a memory constituting a mobile terminal 210 in which the encryption device 21 is implemented.
[0136] 31, first, the communication unit 215 acquires the tally data including the tally information in an encrypted format (step S231). The tally data is acquired via the communication function of the mobile terminal 210 in which the encryption device 21 is implemented.
[0137] Next, the decryption unit 214 partially decrypts the tally information including the tally data using the decryption key stored in the storage unit 212 (step S232). The decryption unit 214 decrypts data that can be decrypted using the decryption key stored in the storage unit 212. The decryption unit 214 may be configured not to decrypt information other than the tally information.
[0138] Next, the communication unit 215 outputs the demand data including the partially decrypted aggregate information (step S233). The demand data including the partially decrypted aggregate information is output to an in-vehicle terminal installed in a vehicle that provides a vehicle dispatch service via the communication function of the mobile terminal 210 in which the encryption device 21 is implemented.
[0139] [Display Processing] Figure 32 is a flowchart for explaining an example of display processing in the present disclosure. In the explanation of the processing according to the flowchart of Figure 32, the components of the in-vehicle terminal 24 are the main actors performing the operations. The main actor performing the processing according to the flowchart of Figure 32 may be the in-vehicle terminal 24. For example, the processing according to the flowchart of Figure 32 is realized by a processor executing a program stored in a memory constituting the in-vehicle terminal 24.
[0140] 32, first, the communication unit 241 acquires demand data including the partially decrypted aggregate information from the encryption device 21 included in the mobile terminal 210 carried by the user (step S241). The communication unit 241 receives the partially decrypted aggregate information via the communication function of the in-vehicle terminal 24.
[0141] Next, the integration unit 243 integrates the partially decoded tally information (step S242). The integration unit 243 integrates the partially decoded tally information transmitted from the mobile terminals 210 carried by the multiple users.
[0142] Next, the display control unit 245 generates a heat map using the integrated aggregated information (step S243). For example, the display control unit 245 generates a heat map in which a display according to the number of users in each section included in the target area is superimposed on the map M of the target area stored in the storage unit 242.
[0143] Next, the display control unit 245 displays the generated heat map on the monitor 247 (step S244). The heat map displayed on the monitor 247 is checked by a driver providing a ride-hailing service. After checking the heat map displayed on the monitor 247, the driver moves the vehicle 240 toward a section close to the driver or a section with a large number of users. The information provision system may be configured so that the driver is notified of the user's exact location by another function (not shown).
[0144] As described above, the information provision system of this embodiment includes an encryption device, a tallying device, and an on-board terminal. The encryption device is implemented in a mobile terminal carried by a user who uses the ride-hailing service. The encryption device stores a private encryption key and a decryption key. The encryption device encrypts location information of the mobile terminal using the encryption key. The encryption device outputs provided data including the encrypted location information. The tallying device collects provided data from mobile terminals carried by users who use the ride-hailing service. The tallying device tally the encrypted location information using a secret computation process. The tallying device outputs tally information indicating the number of users for each section included in a target area where the ride-hailing service is provided. The encryption device partially decrypts the tally information included in the tally data output from the tallying device using the decryption key. The encryption device outputs the partially decrypted tally information. The on-board terminal is installed in a vehicle that provides the ride-hailing service. The on-board terminal collects the tally data output from the encryption device. The on-board terminal integrates the partially decrypted tally information included in the collected tally data. The in-vehicle terminal uses the integrated aggregated information to display on a monitor display information according to the number of users in each section included in the target area superimposed on a map of the target area.
[0145] In this embodiment, location information of users using ride-hailing services such as ride-sharing and taxis is compiled in a confidential state. In this embodiment, secure computation can be performed even on ciphertexts encrypted with different encryption keys, so that partially decrypted aggregate information for each mobile device carried by multiple users can be integrated in an in-vehicle device. Therefore, according to the method of this embodiment, demand information used to generate information such as a demand heat map that allows users to intuitively grasp their demand can be provided to drivers providing ride-hailing services while keeping user location information confidential. In other words, according to this embodiment, by computing encrypted location information using secure computation, the demand of users using ride-hailing services can be identified while keeping user location information confidential.
[0146] When providing a vehicle dispatch service using the technique of the present disclosure, the techniques of the first embodiment and the second embodiment may be combined. For example, the vehicle dispatch service may be configured so that the technique of the first embodiment or the second embodiment is selected for each user. For example, the vehicle dispatch service may be configured so that the technique of the first embodiment or the second embodiment is switched depending on the location or time of day. Such a configuration improves the confidentiality of information related to the user's privacy.
[0147] Third Embodiment Next, a tallying device according to a third embodiment will be described with reference to the drawings. The tallying device according to this embodiment has a simplified configuration of the tallying device included in the information provision systems according to the first and second embodiments. For example, the functions of the components included in the tallying device according to this embodiment are realized by the functions of the components included in the tallying devices according to the first and second embodiments.
[0148] 33 is a block diagram showing an example of the configuration of a tallying device according to the present disclosure. The tallying device 32 includes a collection unit 321, a tallying unit 323, and an output unit 325.
[0149] The collection unit 321 collects encrypted location information from mobile devices carried by users who use the ride-hailing service. The counting unit 323 counts the encrypted location information using a secure computation process and generates counted information in encrypted form that indicates the number of users for each section included in the target area where the ride-hailing service is provided. The output unit 325 outputs the counted information.
[0150] (Operation) Fig. 34 is a flowchart for explaining an example of the operation of the tallying device according to the present disclosure. In explaining the process according to the flowchart of Fig. 34, the components of the tallying device 32 will be described as the subject of the operations. The subject of the operations according to the flowchart of Fig. 34 may be the tallying device 32.
[0151] First, the collection unit 321 collects encrypted location information from a mobile terminal carried by a user who uses the vehicle dispatch service (step S31).
[0152] Next, the aggregation unit 323 aggregates the encrypted location information using secret computation processing to generate aggregated information in encrypted form indicating the number of users for each section included in the target area where the ride-hailing service is provided (step S32).
[0153] Next, the output unit 325 outputs the tally information (step S33).
[0154] In this embodiment, the number of users for each section included in the target area is tallied by secure computation using user location information collected in an encrypted state. Because the number of users for each section included in the target area is tallied by secure computation, it is impossible to identify the location of each user. The tallied information tallied by secure computation is decrypted and then output to an in-vehicle terminal installed in a vehicle providing a ride-hailing service. Information corresponding to the received tallied information is displayed on the monitor of the in-vehicle terminal. A driver who checks the information displayed on the monitor of the in-vehicle terminal can identify demand for each section included in the target area. Therefore, according to this embodiment, it is possible to identify demand for ride-hailing services while keeping the location information of users using the ride-hailing service confidential.
[0155] (Hardware) Next, a hardware configuration for executing the control and processing in the present disclosure will be described with reference to the drawings. Fig. 35 is a block diagram showing an example of a hardware configuration for executing the control and processing in the present disclosure. Here, an information processing device 90 (computer) is shown as an example of the hardware configuration. The information processing device in Fig. 35 is an example configuration for executing the control and processing in the present disclosure and does not limit the scope of the present disclosure.
[0156] As shown in FIG. 35 , an information processing device 90 includes a processor 91, a memory 92, an auxiliary storage device 93, an input / output interface 95, and a communication interface 96. In FIG. 35 , interface is abbreviated as I / F (Interface). The information processing device 90 may include a plurality of at least any of the processor 91, memory 92, auxiliary storage device 93, input / output interface 95, and communication interface 96. The processor 91, memory 92, auxiliary storage device 93, input / output interface 95, and communication interface 96 are connected to each other via a bus 98 so as to be able to communicate data with each other. The processor 91, memory 92, auxiliary storage device 93, and input / output interface 95 are also connected to a network such as the Internet or an intranet via the communication interface 96.
[0157] The processor 91 loads a program (instructions) stored in an auxiliary storage device 93 or the like into the memory 92. For example, the program is a software program for executing the control and processing in the present disclosure. The processor 91 executes the program loaded into the memory 92. The processor 91 executes the program to execute the control and processing in the present disclosure. The processor 91 may be configured by a single piece of hardware or by multiple pieces of hardware.
[0158] The memory 92 is a storage device having an area in which a program is loaded. The processor 91 loads a program stored in an auxiliary storage device 93 or the like into the memory 92. The memory 92 is realized by a volatile memory such as a dynamic random access memory (DRAM). Alternatively, a non-volatile memory such as a magnetoresistive random access memory (MRAM) may be used as the memory 92. The memory 92 may be configured by a single piece of hardware or by multiple pieces of hardware.
[0159] The auxiliary storage device 93 stores various data such as programs. For example, the auxiliary storage device 93 is realized by a local disk such as a hard disk or flash memory. The auxiliary storage device 93 may be configured by a single piece of hardware or by multiple pieces of hardware. The auxiliary storage device 93 may also be configured as external hardware. It is also possible to omit the auxiliary storage device 93 by configuring the various data to be stored in the memory 92.
[0160] The input / output interface 95 is an interface for connecting the information processing device 90 to peripheral devices based on standards and specifications. The communication interface 96 is an interface for connecting to external systems and devices via a network such as the Internet or an intranet based on standards and specifications. The input / output interface 95 may be configured by a single piece of hardware, or may be configured by multiple pieces of hardware. The input / output interface 95 and the communication interface 96 may be a common interface for connecting to external devices.
[0161] Input devices such as a keyboard, mouse, and touch panel may be connected to the information processing device 90 as needed. These input devices are used to input information and settings. When a touch panel is used as the input device, a screen having the function of the touch panel serves as the interface. The processor 91 and the input devices are connected via an input / output interface 95.
[0162] The information processing device 90 may be equipped with a display device for displaying information. When the display device is equipped, the information processing device 90 is equipped with a display control device (not shown) for controlling the display of the display device. The information processing device 90 and the display device are connected via an input / output interface 95.
[0163] The information processing device 90 may be equipped with a drive device. The drive device acts as an intermediary between the processor 91 and a recording medium (program recording medium) to read data and programs stored on the recording medium and to write processing results of the information processing device 90 to the recording medium. The information processing device 90 and the drive device are connected via an input / output interface 95.
[0164] The above is an example of a hardware configuration for enabling the control and processing of the present disclosure. The hardware configuration of Figure 35 is an example of a hardware configuration for executing the control and processing of the present disclosure and does not limit the scope of the present disclosure. A program that causes a computer to execute the control and processing of the present disclosure is also included in the scope of the present disclosure.
[0165] A program recording medium on which a program for executing the processing of this embodiment is recorded is also included within the scope of the present invention. For example, the program recording medium is a computer-readable, non-transitory recording medium. The recording medium can be, for example, an optical recording medium such as a CD (Compact Disc) or a DVD (Digital Versatile Disc). The recording medium may also be a semiconductor recording medium such as a USB (Universal Serial Bus) memory or an SD (Secure Digital) card. The recording medium may also be a magnetic recording medium such as a flexible disk, or other recording medium.
[0166] The components in the present disclosure may be combined in any manner. The components in the present disclosure may be realized by software. The components in the present disclosure may be realized by circuits.
[0167] Although the present disclosure has been described above with reference to the embodiments, the present disclosure is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present disclosure within the scope of the present disclosure. Furthermore, each embodiment can be combined with other embodiments as appropriate.
[0168] Some or all of the above embodiments may be described as, but are not limited to, the following supplementary notes. In the supplementary notes below, dependent claims in each category may also be made dependent on other categories. The descriptions in the supplementary notes below serve as grounds for amendment. (Supplementary Note 1) A tallying device comprising: a collection unit that collects encrypted location information from mobile terminals carried by users who use a ride-hailing service; a counting unit that counts the encrypted location information through a secure computation process and generates, in encrypted form, aggregated information indicating the number of users for each section included in a target area where the ride-hailing service is provided; and an output unit that outputs the aggregated information. (Supplementary Note 2) The tallying device according to Supplementary Note 1, wherein the tallying unit performs a computation using a homomorphic encryption scheme as the secure computation process. (Supplementary Note 3) The tallying device according to Supplementary Note 1, wherein the tallying unit generates, in encrypted form, the aggregated information that is decrypted as an aggregation table in which the number of users for each section is recorded. (Supplementary Note 4) The tallying device according to Supplementary Note 1, wherein the collection unit collects provided data including the location information to which incidental information is assigned, and the counting unit executes processing in accordance with the incidental information. (Supplementary Note 5) The tallying device according to Supplementary Note 4, wherein the collection unit collects the provided data including the location information to which a user classification is assigned as the incidental information, and the counting unit counts the number of users for each section classified based on the user classification. (Supplementary Note 6) The tallying device according to Supplementary Note 4, wherein the collection unit collects the provided data including the location information to which a user attribute is assigned as the incidental information, and the counting unit counts the number of users for each section classified based on the user attribute. (Supplementary Note 7) The tallying device according to Supplementary Note 4, wherein the collection unit collects the provided data including the location information to which a level of urgency is set as the incidental information, and the counting unit generates counted information in which a flag is attached to the section including a provider of the provided data to which the level of urgency is set. (Appendix 8) The collection unit collects the location information encrypted using a public encryption key, and the output unit outputs the aggregation information decrypted using a private decryption key that is paired with the encryption key.(Supplementary Note 9) The tallying device according to Supplementary Note 8, comprising a decryption unit that decrypts the tally information using the decryption key, and the output unit outputs the decrypted tally information. (Supplementary Note 10) The tallying device according to Supplementary Note 9, wherein the output unit outputs the tally information to an in-vehicle terminal installed in a vehicle that provides the ride-hailing service. (Supplementary Note 11) The tallying device according to Supplementary Note 9, wherein the output unit outputs the tally information to the mobile terminal carried by a user who uses the ride-hailing service. (Supplementary Note 12) The tallying device according to Supplementary Note 1, wherein the collection unit collects, from the mobile terminal of the user who uses the ride-hailing service, the location information encrypted in the mobile terminal using a private encryption key, and the output unit outputs the tally information decrypted by a private decryption key that forms a pair with the encryption key. (Supplementary Note 13) The tallying device according to Supplementary Note 12, wherein the output unit outputs the tally information to the mobile terminal that holds the decryption key that forms a pair with the encryption key. (Appendix 14) The aggregation device described in Appendix 13, in which the aggregated information output to the mobile terminal is partially decrypted in the mobile terminal, and the partially decrypted aggregated information demand data is output to an in-vehicle terminal installed in a vehicle that provides the vehicle dispatch service.an encryption device implemented in a mobile terminal carried by a user who uses a ride-hailing service and storing a public encryption key; a decryption device storing a private decryption key that forms a pair with the encryption key; and an in-vehicle terminal mounted on a vehicle that provides the ride-hailing service, wherein the encryption device encrypts location information of the mobile terminal using the encryption key and outputs the encrypted location information; the tallying device collects the encrypted location information from the mobile terminal carried by the user who uses the ride-hailing service and tally the encrypted location information by secret computation processing and outputs the tally information indicating the number of users for each section included in a target area where the ride-hailing service is provided; the decryption device decrypts the tally information output from the tallying device using the decryption key and outputs the decrypted tally information; and the in-vehicle terminal receives the tally information output from the decryption device and uses the tally information to superimpose on a monitor a display according to the number of users for each section included in the target area on a map of the target area.an encryption device implemented in a mobile terminal carried by a user who uses a ride-hailing service and storing a private encryption key and a decryption key corresponding to the encryption key; and an in-vehicle terminal mounted on a vehicle that provides the ride-hailing service, wherein the encryption device encrypts location information of the mobile terminal using the encryption key and outputs the encrypted location information; the tallying device collects the encrypted location information output by the mobile terminal carried by the user who uses the ride-hailing service and tally the encrypted location information using a secret computation process and output tally information indicating the number of users for each section included in a target area where the ride-hailing service is provided; the encryption device partially decrypts the tally information output from the tallying device using the decryption key and outputs the partially decrypted tally information; the in-vehicle terminal collects the tally information output from the encryption device and integrates the collected partially decrypted tally information; and uses the integrated tally information to superimpose a display according to the number of users for each section included in the target area on a map of the target area and display it on a monitor. (Supplementary Note 17) The information provision system according to Supplementary Note 15 or 16, wherein the in-vehicle terminal causes a heat map showing demand for each section included in the target area to be superimposed on the map and displayed on the monitor. (Supplementary Note 18) The information provision system according to Supplementary Note 17, wherein the in-vehicle terminal causes the heat map, which reflects processing according to accompanying information, to be superimposed on the map and displayed on the monitor. (Supplementary Note 19) A counting method in which a computer collects encrypted location information from mobile terminals carried by users who use a ride-hailing service, aggregates the encrypted location information by secret computation processing, generates aggregated information in encrypted form showing the number of users for each section included in the target area where the ride-hailing service is provided, and outputs the aggregated information.(Supplementary Note 20) A program causing a computer to execute the following processes: collecting encrypted location information from mobile terminals carried by users who use a ride-hailing service; aggregating the encrypted location information through a secure computation process to generate, in encrypted form, aggregated information indicating the number of users for each section included in a target area where the ride-hailing service is provided; and outputting the aggregated information. Furthermore, some or all of the configurations described in Supplements 2 to 18 that are subordinate to Supplementary Note 1 above may also be subordinate to Supplementary Note 19 and Supplementary Note 20 in the same manner as Supplementary Note 2 to Supplementary Note 18. Furthermore, without departing from the scope of each of the above-described embodiments, not limited to Supplementary Note 1, Supplementary Note 19, and Supplementary Note 20, some or all of the configurations described as Supplements may also be subordinate to various hardware, software, various recording means for recording software, or systems.
[0169] 1, 2 Information provision system 11, 21 Encryption device 12, 22, 32 Counting device 13 Decryption device 14, 24 In-vehicle terminal 110, 210 Portable terminal 111, 211 Data acquisition unit 112, 212 Storage unit 113, 213 Encryption unit 115, 215 Communication unit 120, 220 Counting server 121, 221, 321 Collection unit 123, 223, 323 Counting unit 125, 225, 325 Output unit 130 Decryption server 131 Receiving unit 132 Storage unit 133 Decryption unit 135 Output unit 140, 240 Vehicle 141, 241 Communication unit 142, 242 Storage unit 145, 245 Display control unit 147, 247 Monitor 243 Integration Department
Claims
a collection unit that collects encrypted location information from a mobile terminal carried by a user who uses the ride-hailing service; a counting unit that counts the encrypted location information by a secret computation process and generates, in encrypted form, counted information indicating the number of users for each section included in the target area where the ride-hailing service is provided; an output unit that outputs the tabulated information. The aggregation unit The counting device according to claim 1 , wherein the secure computation process is performed using a homomorphic encryption method. The aggregation unit The tallying device according to claim 1 , wherein the tallying information, which is decrypted as a tally table recording the number of users for each section, is generated in an encrypted format. The collecting unit Collect provided data including the location information to which additional information has been added; The aggregation unit The tallying device according to claim 1 , wherein the tallying device executes processing in accordance with the supplementary information. The collecting unit collecting the provided data including the location information to which a user classification is assigned as the supplementary information; The aggregation unit The counting device according to claim 4 , wherein the number of users classified based on the user classification is counted for each of the sections. The collecting unit collecting the provided data including the location information to which a user attribute is assigned as the additional information; The aggregation unit The counting device according to claim 4 , wherein the number of users for each of the sections is counted based on the user attributes. The collecting unit collecting the provided data including the location information set with an urgency level as the additional information; The aggregation unit The tallying device according to claim 4 , wherein the tallying information is generated by attaching a flag to the section including the provider of the provided data for which the urgency level is set. The collecting unit collecting said location information encrypted with a public encryption key; The output unit 2. The tallying device according to claim 1, wherein the tallying device outputs the tally information decrypted by a private decryption key that forms a pair with the encryption key. a decryption unit that decrypts the tally information using the decryption key; The output unit The tallying device according to claim 8, wherein the tallying information is output after being decrypted. The output unit The tallying device according to claim 9, wherein the tallying information is output to an in-vehicle terminal installed in a vehicle that provides the vehicle dispatch service. The output unit The tallying device according to claim 9 , wherein the tallying information is output to the mobile terminal carried by a user who uses the vehicle dispatch service. The collecting unit collecting, from the mobile terminal of a user who uses the vehicle dispatch service, the location information encrypted in the mobile terminal using a private encryption key; The output unit 2. The tallying device according to claim 1, wherein the tallying device outputs the tally information decrypted by a private decryption key that is paired with the encryption key. The output unit The tallying device according to claim 12 , wherein the tallying information is output to the mobile terminal that holds the decryption key that forms a pair with the encryption key. The aggregation device described in claim 13, wherein the aggregated information output to the mobile terminal is partially decoded in the mobile terminal, and the partially decoded aggregated information demand data is output to an in-vehicle terminal installed in a vehicle providing the vehicle dispatch service. The tabulation device according to claim 1; an encryption device that is implemented in a mobile terminal carried by a user who uses the ride-hailing service and that stores the public encryption key; a decryption device that stores a private decryption key that is paired with the encryption key; an in-vehicle terminal mounted on a vehicle that provides the vehicle dispatch service, The encryption device encrypting the location information of the mobile terminal using the encryption key; outputting the encrypted location information; The counting device is collecting the encrypted location information from the mobile terminal carried by the user who uses the vehicle dispatch service; aggregating the encrypted location information through a secure computation process; outputting the aggregate information indicating the number of users for each section included in the target area where the vehicle dispatch service is provided; The decoding device decrypting the tally information output from the tallying device using the decryption key; outputting the decrypted aggregate information; The in-vehicle terminal receiving the aggregate information output from the decoding device; An information provision system that uses the aggregated information to superimpose a display according to the number of users in each section included in the target area onto a map of the target area and displays it on a monitor. The tabulation device according to claim 1; an encryption device that is implemented in a mobile terminal carried by a user who uses the ride-hailing service and that stores a private encryption key and a decryption key corresponding to the encryption key; an in-vehicle terminal mounted on a vehicle that provides the vehicle dispatch service, The encryption device encrypting the location information of the mobile terminal using the encryption key; outputting the encrypted location information; The counting device is Collecting the encrypted location information output by the mobile terminal carried by the user who uses the vehicle dispatch service; aggregating the encrypted location information through a secure computation process; outputting aggregate information indicating the number of users for each section included in the target area where the vehicle dispatch service is provided; The encryption device partially decrypting the tally information output from the tallying device using the decryption key; outputting the partially decrypted aggregate information; The in-vehicle terminal Collecting the aggregated information output from the encryption device; aggregating the collected partially decoded aggregate information; An information provision system that uses the integrated aggregated information to superimpose a display according to the number of users in each section included in the target area onto a map of the target area and displays it on a monitor. The in-vehicle terminal The information providing system according to claim 15 or 16, wherein a heat map showing demand for each section included in the target area is superimposed on the map and displayed on the monitor. The in-vehicle terminal 18. The information providing system according to claim 17, wherein the heat map, in which processing according to the supplementary information is reflected, is displayed on the monitor in a state superimposed on the map. The computer Encrypted location information is collected from the mobile devices carried by users of the ride-hailing service, aggregating the encrypted location information through a secure computation process to generate, in encrypted form, aggregate information indicating the number of users for each block included in the target area where the vehicle dispatch service is provided; A tabulation method for outputting the tabulated information. A process of collecting encrypted location information from a mobile terminal carried by a user who uses a ride-hailing service; a process of aggregating the encrypted location information by a secure computation process to generate, in encrypted form, aggregated information indicating the number of users for each block included in the target area where the ride-hailing service is provided; and a computer-readable non-transitory recording medium having recorded thereon a program for causing a computer to execute the process of outputting the aggregated information.
Citation Information
Patent Citations
Method and system for allocating taxi
JP2003091796A
Peripheral information providing system, server and peripheral information providing method
JP2009043006A
Terminal device and program
JP2016075972A
Electronic commerce system, service providing server, third party organization server, electronic commerce method, and program
JP2019125883A
Standby suitable area determination system of service vehicle, standby suitable area determination device, and standby suitable area determination method
JP2020194448A