Information processing device, information processing method, and information processing program

By using secret sharing technology and multi-party computing technology in the information processing equipment to process the encrypted user distribution data, the problem of processing user personal information without identifying the user's identity is solved in the prior art, and safe and efficient user information sharing and statistical analysis are achieved.

JP7654700B2Active Publication Date: 2025-04-01LY CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023024691
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-02-20
Publication Date
2025-04-01
Estimated Expiration
2043-02-20

AI Technical Summary

Technical Problem

In the prior art, in the user ID link system, it is difficult to process and count the user's personal information without identifying the user or the user's personal information.

Method used

By using secret sharing technology and multi-party computing (MPC) technology in the information processing equipment, the encrypted target distribution data and comparative dispersed data are generated and processed, and the data is compared and statistically analyzed to ensure that the data is compared and processed in the undecrypted state.

Benefits of technology

It realizes the sharing and use of user personal information securely without using user ID, avoiding the risk of user identity identification, and improving the privacy and security of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007654700000001
    Figure 0007654700000001
  • Figure 0007654700000002
    Figure 0007654700000002
  • Figure 0007654700000003
    Figure 0007654700000003
Patent Text Reader

Abstract

To share and use personal information of a user safely without ID integration.SOLUTION: An information processing apparatus includes: a first acquisition unit which acquires, from a first business operator, comparison distribution data generated by adding random noise to user information on a user who satisfies a predetermined condition and dividing the information; a second acquisition unit which acquires, from a second business operator, target distribution data generated by adding random noise to user information on users selected by the second business operator and dividing the information; a comparison unit which compares the target distribution information with the comparison distribution information which are not decoded; an estimation unit which estimates, on the basis of a result of comparing the target distribution data with the comparison distribution data, a ratio of the users selected by the second business operator, the users satisfying the predetermined condition; and a provision unit which provides information on the estimated ratio of the users to the second business operator.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an information processing device, an information processing method, and an information processing program. [Background technology]

[0002] A technology related to an ID linking system that links user IDs has been disclosed (see Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2021-144385 A Summary of the Invention [Problem to be solved by the invention]

[0004] However, in the above conventional technology, since the user's ID is used, there is a possibility that the user or the user's personal information may be identified depending on the conditions and circumstances. Therefore, there is a demand for a means to plan measures based on the user's personal information and to calculate and obtain statistical information, etc., without using the user's ID or identifying the user or the user's personal information.

[0005] This application has been made in consideration of the above, and aims to enable users' personal information to be shared and used safely without ID federation. [Means for solving the problem]

[0006] The information processing device according to the present application comprises: An information processing device that provides API services and various data to an application of a terminal device that generates secret sharing data by adding random noise and using a secret sharing technique, comprising: a first terminal device; a first acquisition unit that acquires target shared data, which is secret shared data generated by adding random noise to a message and dividing the message by secret sharing; From the second terminal device,The device is characterized by comprising a second acquisition unit that acquires comparison shared data, which is secret shared data generated by adding random noise to a detection target and dividing it using secret sharing; a comparison unit that removes random noise from the target shared data and the comparison shared data and compares the target shared data and the comparison shared data in a confidentiality-preserving state without decrypting them by performing a comparison operation using MPC calculations; an estimation unit that estimates the proportion of users who satisfy the specified conditions among users selected by the second operator based on the comparison result between the target shared data and the comparison shared data; and a provision unit that provides information regarding the estimated proportion of users to the second operator. Effect of the Invention

[0007] According to one aspect of the embodiment, personal information of users can be shared and used safely without ID federation. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is an explanatory diagram showing an overview of an information processing method according to an embodiment. [Diagram 2] FIG. 2 is an explanatory diagram showing an overview of detection of an unauthorized message in a confidentiality state. [Diagram 3] FIG. 3 is an explanatory diagram showing an overview of secret sharing of know-how. [Figure 4] FIG. 4 is an explanatory diagram showing an overview of comparison for coupon acquisition in a confidentiality state. [Diagram 5] FIG. 5 is a diagram illustrating an example of the configuration of an information processing system according to the embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of the configuration of a terminal device according to the embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of the configuration of a server device according to the embodiment. [Figure 8] FIG. 8 is a diagram illustrating an example of the user information database. [Figure 9] FIG. 9 is a diagram illustrating an example of the history information database. [Figure 10]FIG. 10 is a diagram illustrating an example of the comparison information database. [Figure 11] FIG. 11 is a flowchart showing a processing procedure according to the embodiment. [Figure 12] FIG. 12 is a diagram illustrating an example of a hardware configuration. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, the information processing device, the information processing method, and the information processing program according to the present application will be described in detail with reference to the drawings. Note that the information processing device, the information processing method, and the information processing program according to the present application are not limited to the embodiments. In addition, the same components in the following embodiments are denoted by the same reference numerals, and duplicated descriptions are omitted.

[0010] [1. Overview of information processing method] First, an overview of an information processing method performed by an information processing device according to an embodiment will be described with reference to Fig. 1. Fig. 1 is an explanatory diagram showing an overview of an information processing method according to an embodiment. Note that Fig. 1 describes an example in which personal information of a user is shared and used securely without ID federation.

[0011] 1, the information processing system 1 includes a terminal device 10 and a server device 100. The terminal device 10 and the server device 100 are connected to each other via a network N (see FIG. 5) in a wired or wireless manner so as to be able to communicate with each other. In this embodiment, the terminal device 10 cooperates with the server device 100.

[0012] The terminal device 10 is a smart device such as a smartphone or tablet terminal used by a user U, and is a mobile terminal device capable of communicating with any server device via a wireless communication network such as 4G (Generation) or LTE (Long Term Evolution). The terminal device 10 has a screen such as a liquid crystal display having a touch panel function, and accepts various operations on display data such as content, such as tapping, sliding, scrolling, etc., performed by the user U using a finger or a stylus. An operation performed on an area of ​​the screen where the content is displayed may be regarded as an operation on the content. The terminal device 10 may be not only a smart device, but also an information processing device such as a desktop PC (Personal Computer) or a notebook PC.

[0013] The server device 100 is an information processing device that cooperates with the terminal device 10 of each user U and provides each user U's terminal device 10 with API (Application Programming Interface) services for various applications (hereinafter, apps), etc., as well as various data, and is realized by a computer, a cloud system, etc.

[0014] The server device 100 may also be an information processing device that provides some kind of online Web service to the terminal device 10 of each user U. For example, the server device 100 may provide services such as Internet connection, search service, SNS (Social Networking Service), electronic commerce (EC), electronic payment, online games, online banking, online trading, hotel and ticket reservations, video and music distribution, news, maps, route search, route guidance, line information, operation information, and weather forecasts as Web services. In practice, the server device 100 may cooperate with various servers that provide the above-mentioned Web services, and may mediate the Web services or be responsible for processing the Web services.

[0015] The server device 100 can acquire user information about the user U. For example, the server device 100 acquires information about the attributes of the user U, such as the gender, age, and residential area of ​​the user U. The server device 100 then stores and manages the information about the attributes of the user U together with identification information (such as a user ID) indicating the user U.

[0016] The server device 100 also acquires various types of history information (log data) indicating the actions of the user U from the terminal device 10 of the user U or from various servers based on the user ID or the like. For example, the server device 100 acquires a location history, which is a history of the location and date and time of the user U, from the terminal device 10. The server device 100 also acquires a search history, which is a history of search queries input by the user U, from a search server (search engine). The server device 100 also acquires a browsing history, which is a history of content browsed by the user U, from a content server. The server device 100 also acquires a purchase history (payment history), which is a history of product purchases and payment processing by the user U, from an electronic commerce server or a payment processing server. The server device 100 may also acquire a listing history, which is a history of listings on the marketplace by the user U, and a sales history, from the electronic commerce server or the payment processing server. The server device 100 also acquires a posting history, which is a history of posts by the user U, from a posting server that provides a word-of-mouth posting service or an SNS server. The above-mentioned various servers and the like may be the server device 100 itself. That is, the server device 100 may function as the above-mentioned various servers and the like.

[0017] [1-1. Determine if the value is the same as encrypted] In this embodiment, the server device 100 functions as a comparison server that performs identity determination without restoring the original data, but in an encrypted state (secrecy state).

[0018] For example, as shown in Fig. 1, each terminal device 10 of the first business operator and the second business operator (or users U1 and U2) adds random noise to data to be compared (its own data or its own customer's data) and generates secret shared data using a secret sharing technique (step S1). Then, each terminal device 10 provides the secret shared data to a server device 100 (comparison server) via a network N (see Fig. 5) (step S2).

[0019] The server device 100 removes noise (random noise) from the provided secret sharing data and performs a comparison operation (step S3). Here, this is realized using MPC (Multi-Party Computation) technology. MPC is a cryptography technique in which many people who do not trust each other do not share their input values, but derive the calculation results of encrypted input values. In other words, it is possible to share only the results while protecting each person's secrets. Then, the server device 100 provides information based on the comparison results to the terminal devices 10 of the first and second operators (users U1 and U2) via the network N (see FIG. 5) (step S4).

[0020] [1-2. Detecting fraudulent messages under confidentiality conditions] In this embodiment, the server device 100 detects an unauthorized message in a confidentiality keeping state by using the same value judgment. Fig. 2 is an explanatory diagram showing an overview of the detection of an unauthorized message in a confidentiality keeping state.

[0021] Specifically, the server device 100 acquires "target shared data" generated by adding random noise to the "message" and dividing it by secret sharing. The server device 100 also acquires "comparison shared data" generated by adding random noise to the "detection target" and dividing it by secret sharing. Then, the server device 100 determines whether the detection target is included in the message according to a comparison result between the target shared data and the comparison shared data.

[0022] At this time, the terminal device 10 of the user U generates target shared data by adding random noise to the message (plain text) and dividing it by secret sharing. Also, the server device 100 generates comparison shared data by adding random noise to the detection target and dividing it by secret sharing.

[0023] In practice, the server device 100 may obtain comparison distribution data generated by a server device or terminal device (which may be a terminal device 10 of another user) other than the server device 100. For example, if a server device or terminal device other than the server device 100 holds information on the detection target, the other server device or terminal device may generate comparison distribution data and provide it to the server device 100.

[0024] The message can be anything, such as the body of an email or a chat message. The detection target can be a message that has been determined to be malicious in the past, or a specific wording or sentence. For example, the detection target can be a list of malicious message sentences, such as malicious keywords, key phrases, and standard phrases.

[0025] For example, as shown in FIG. 2, the terminal device 10 of user U adds random noise to the message body (which can be an email body or a chat message) to keep the contents concealed, divides the data using secret sharing (sMPC), and generates secret sharing data (target shared data) (step S11).

[0026] Then, the terminal device 10 of the user U provides the secret shared data (target shared data) to the server device 100 (comparison server) via the network N (see FIG. 5) (step S12).

[0027] The server device 100 acquires the secret shared data (target shared data) via the network N (see FIG. 5) (step S13).

[0028] Next, when the server device 100 acquires the secret shared data (target shared data), it adds random noise to the detection target, divides the data by secret sharing (sMPC), and generates and acquires comparison shared data (step S14). This is a process when the server device 100 holds information on the detection target. Note that, in practice, the server device 100 may acquire the comparison shared data via the network N (see FIG. 5) in the same manner as in step S13.

[0029] Next, the server device 100 shares the secret shared data chunks (target shared data and comparison shared data), removes noise without decrypting the secret shared data, and performs an identity determination by performing a comparison operation using a series of protocols, and determines whether the message contains the detection target based on the result of the identity determination (step S15).

[0030] Then, the server device 100 provides information based on the determination result as to whether or not the message contains a detection target to the terminal device 10 of the user U via the network N (see FIG. 5) (step S16). Note that, if the message contains a detection target, the server device 100 may perform processing such as removing or changing the detection target contained in the message, and provide the result to the terminal device 10 of the user U.

[0031] In this way, by carrying out the above-mentioned identical value determination on a list of malicious message bodies or chat texts, the server device 100 can determine whether the content is malicious without decrypting the text.

[0032] (1) Detecting malicious messages in the message body of end-to-end (e2e) encrypted chat apps In recent years, e2e encryption of chat text has become mainstream. In addition, malicious solicitations from malicious accounts have become a social issue. Although there are functions to report accounts, it is difficult to uncover malicious content from chat text. Malicious chats with similar text are being deployed on various chat apps, and each chat app is trying to deal with the issue on its own, resulting in high social costs for solving the issue.

[0033] According to this embodiment, malicious content can be determined without decrypting the text in one or more chat applications. In addition, when multiple chat applications are deployed, it is not necessary to share the malicious text, let alone the message text, between applications / services, and it is possible to prevent trend analysis of a specific service.

[0034] (2) Detecting malicious emails in end-to-end (e2e) encrypted email text Due to the recent trend of privacy awareness, it is expected that the body of emails will also be e2e encrypted. Therefore, in addition to the signals used to determine whether an email is spam (IP, domain, bulk sending, user input patterns leading up to sending), analyzing the body of the email will become more difficult. Manual action against malicious email content that cannot be caught by the above signals will also become an issue.

[0035] According to this embodiment, the user can recognize malicious content from the contents of the message body as well as the sender information. In addition, the user can use this judgment mechanism without revealing the entire contents of the message body. Other personal information not used for the judgment remains encrypted from start to finish.

[0036] (3) Detection of fraudulent keywords in the content of messages sent via e2e encryption in C2C / personal transactions (communications after winning an auction or purchasing at a flea market) in commerce services Although the interactions between sellers and buyers, exhibitors and bidders, etc. are one-to-one communications (and may include the exchange of PI / PII such as addresses), e2e encryption has not yet become mainstream like chat apps at present. In addition, due to the recent trend toward privacy protection, a trend toward e2e encryption is expected. As a result, it will be difficult for the PF side to monitor transaction-related interactions.

[0037] According to this embodiment, the movement towards encryption for privacy protection progresses, and checking of the contents of communication can be ensured at the same time.

[0038] [1-3. Secret Sharing of Know-How] In this embodiment, the server device 100 realizes secret sharing of know-how between businesses in a confidential state without disclosing the know-how of each business by using the same value judgment, and selects users of a specific business by using the know-how of other companies. Figure 3 is an explanatory diagram showing an overview of secret sharing of know-how.

[0039] Specifically, the server device 100 acquires comparison shared data from the first business operator (company A) that is generated by adding random noise to user information of a user who satisfies a predetermined condition and dividing the user information by secret sharing.

[0040] In addition, the server device 100 acquires target shared data from a second operator (Company B) that is generated by adding random noise to user information of a user selected by the second operator and dividing the user information by secret sharing.

[0041] Then, the server device 100 shares the secret shared data chunks (target shared data and comparison shared data), removes noise without decrypting the secret shared data, and performs a comparison operation using a series of protocols to perform an identity determination, and based on the result of the identity determination, estimates the proportion of users who satisfy the above-mentioned specified conditions among the users selected by the second operator (Company B) based on.

[0042] For example, as shown in FIG. 3, a terminal device 10 (10A) of a first business operator (Company A) adds random noise to user information of users who are customers of the products or services provided by the company and who meet certain conditions (e.g., users who have converted, users who have opted in to email, etc.) to keep the contents concealed, divides the data using secret sharing (sMPC), generates secret shared data (comparison shared data), and provides it to the server device 100 (step S21).

[0043] In addition, the terminal device 10 (10B) of the second operator (Company B) selects users (or all users) who are customers of the products or services provided by the company and who are assumed to be likely to meet / have the potential to meet / have a high probability of meeting certain conditions, adds random noise to the user information of the users (selected users) selected by the second operator to keep the contents concealed, divides the data using secret sharing (sMPC), generates secret shared data (target shared data), and provides it to the server device 100 (step S22).

[0044] The server device 100 removes noise from the secret shared data (comparison shared data and target shared data) without decrypting them, and performs a comparison operation using a series of protocols to determine whether the data are identical. Depending on the results of the same value determination, the server device 100 estimates the percentage of users who satisfy (or are estimated to satisfy) a specified condition (step S23).

[0045] That is, the server device 100 compares the user information of the users of the first business operator (company A) with the user information of the users of the second business operator (company B) and estimates the proportion of the users of the two companies that match (or are similar). As a result, the server device 100 estimates the proportion of users of the second business operator (company B) who meet (are estimated to meet) the same conditions as the users of the first business operator (company A).

[0046] Then, the server device 100 provides information based on the estimation result to the terminal device 10 (10B) of the second operator (company B) via the network N (see FIG. 5) (step S24).

[0047] The second business operator repeats the above steps S22 to S24 many times, and when the ratio increases to a certain extent (when the ratio exceeds a threshold, reaches a standard, etc.), approaches the target users (selected users in this case) by delivering advertisements, etc. (step S25). The second business operator may determine the values ​​of the threshold and standard.

[0048] According to this embodiment, it is possible to select users of a second business operator based on the know-how of a first business operator without disclosing the know-how of the first business operator. Also, it is possible to estimate the degree of know-how match between the first business operator and the second business operator by comparing users who satisfy conditions based on the know-how of the first business operator and users who satisfy conditions based on the know-how of the second business operator.

[0049] In addition, by the first business operator (and the second business operator) providing a list of users who satisfy certain conditions and who satisfy conditions based on know-how, the degree of know-how match between the first business operator and the second business operator can be estimated.

[0050] For example, the server device 100 estimates the degree of know-how match between the first and second operators by performing an identity determination on secret sharing data related to users of the second operator against secret sharing data related to a list of users who satisfy conditions based on the know-how of the first operator.

[0051] Alternatively, the server device 100 obtains secret sharing data from the first and second businesses, which is generated by adding random noise to a list of users who satisfy conditions based on the know-how of each business and dividing the data by secret sharing.Then, the server device 100 compares and collates the secret sharing data from each business and performs a matching judgment to estimate the degree of know-how match between the first and second businesses.

[0052] In addition, the first business may expand the scope of "users satisfying specified conditions" to include not only users who match the conditions but also users similar to the matched users (similar users) and provide data of all users (extended users) within the expanded scope.

[0053] [1-4. Comparison of secret coupon acquisition] In this embodiment, the server device 100 utilizes the same value judgment to provide information that leads to the planning of a coupon provision strategy for users of the service of the second business (company B) from the information of users who have acquired coupons for the service of the first business (company A) while keeping the information of the users who have acquired coupons for the service of the first business (company A) encrypted (in a confidentiality state). Figure 4 is an explanatory diagram showing an overview of comparison of coupon acquisition in a confidentiality state.

[0054] For example, as shown in FIG. 4, a terminal device 10 (10A) of a first operator (Company A) generates comparison shared data by adding random noise to the user information of a user who has acquired a specified coupon and dividing it using secret sharing, and provides the comparison shared data to a server device 100 via a network N (see FIG. 5) (step S31).

[0055] The server device 100 acquires comparison shared data from the first business operator (company A) that is generated by adding random noise to the user information of a user who has acquired a predetermined coupon and dividing the user information by secret sharing (step S32).

[0056] Furthermore, the terminal device 10 (10B) of the second operator (company B) generates target shared data by adding random noise to the user information of a user (selected user) selected by the second operator and dividing the data by secret sharing, and provides the comparison shared data to the server device 100 via the network N (see FIG. 5) (step S33). The selected user is a user who may be eligible to receive a coupon from the second operator (company B). It may be all users of the second operator (company B).

[0057] The server device 100 acquires, from the second business operator (company B), target shared data generated by adding random noise to the user information of the selected user and dividing the user information by secret sharing (step S34).

[0058] The server device 100 shares the secret shared data chunks (target shared data and comparison shared data), removes noise without decrypting the secret shared data, and performs an identity determination by performing comparison operations using a series of protocols.Based on the results of the identity determination, the server device 100 estimates the proportion of users selected by the second operator (Company B) who are the same as or similar to the user who obtained the coupon (step S35).

[0059] The server device 100 determines whether or not to provide the selected users with a coupon different from the above-mentioned predetermined coupon (the already-acquired coupon) according to the estimated ratio of users (step S36).

[0060] At this time, when the server device 100 is acting as an agent for providing (distributing) coupons for a first business (company A) or a second business (company B), the server device 100 may provide a coupon different from the above-mentioned predetermined coupon to the selected users according to the estimated ratio of users. A different coupon is a coupon whose contents (type, target, discount rate, etc.) do not overlap with those of the above-mentioned predetermined coupon.

[0061] Then, the server device 100 provides information based on the determination result to the terminal device 10 (10B) of the second operator (company B) via the network N (see FIG. 5) (step S37).

[0062] For example, the server device 100 may notify the terminal device 10 (10B) of the second business operator (company B) that a coupon different from the above-mentioned specified coupon has been provided to the selected users in accordance with the estimated proportion of users.

[0063] Alternatively, the server device 100 may notify the terminal device 10 (10B) of the second business (company B) of the determination result as to whether or not to provide a coupon different from the above-mentioned predetermined coupon. In this case, the terminal device 10 (10B) of the second business (company B) may provide a coupon different from the above-mentioned predetermined coupon to the selected user, depending on the determination result as to whether or not to provide a coupon different from the above-mentioned predetermined coupon. In other words, the provider (transmitter) of the coupon may be the server device 100 or the terminal device 10 (10B) of the second business (company B).

[0064] In this embodiment, the user information of users of a first business operator who have already been provided with a coupon and the user information of users of a second business operator who are planning to distribute coupons in the future are determined to be identical as secret shared data, and a different coupon is provided to users of the second business operator depending on the proportion of users of the second business operator whose user information matches (or is similar to) that of users who have already acquired a coupon provided by the first business operator.

[0065] In reality, the other coupon may be a coupon (similar coupon) similar to a predetermined coupon (acquired coupon) provided by the first business. For example, it may be a coupon with a similar discount rate, or a coupon with a similar target. Considering that a user to whom a coupon has been provided is a user who has converted (acquired) a predetermined coupon, it can be said that a coupon that is the same as or similar to the above-mentioned predetermined coupon is more likely to be converted. In this case, it is preferable that the other coupon is the same as or similar to the above-mentioned predetermined coupon.

[0066] For example, when the estimated percentage of users is equal to or greater than a threshold, the server device 100 determines to provide the selected users with a coupon that is the same as or similar to the predetermined coupon because the selected users are likely to acquire the same coupon. Also, when the estimated percentage of users is smaller than a threshold, the server device 100 determines to provide the selected users with a coupon different from the predetermined coupon.

[0067] Alternatively, if the estimated percentage of users is equal to or greater than a threshold value, the server device 100 determines to provide the selected user with a coupon other than the specified coupon, since the content of a coupon that is the same as the specified coupon is expected to overlap.

[0068] [2. Example of information processing system configuration] Next, a configuration of an information processing system 1 including a server device 100 according to an embodiment will be described with reference to Fig. 5. Fig. 5 is a diagram showing an example of a configuration of the information processing system 1 according to an embodiment. As shown in Fig. 5, the information processing system 1 according to an embodiment includes a terminal device 10 and a server device 100. These various devices are connected to each other via a network N so as to be able to communicate with each other by wire or wirelessly. The network N is, for example, a LAN (Local Area Network) or a WAN (Wide Area Network) such as the Internet.

[0069] Furthermore, the number of devices included in the information processing system 1 shown in Fig. 5 is not limited to that shown in the figure. For example, in Fig. 5, for the sake of simplicity, only one terminal device 10 is shown, but this is merely an example and is not limiting, and two or more devices may be included.

[0070] The terminal device 10 is an information processing device used by a user U. For example, the terminal device 10 is a smart device such as a smartphone or a tablet terminal, a mobile phone such as a feature phone, a personal computer (PC), a personal digital assistant (PDA), a game machine or AV device equipped with a communication function, an information appliance or digital appliance, a car navigation system, a wearable device such as a smart watch or a head-mounted display, smart glasses, etc. The terminal device 10 may also be a house or building, a car, a home appliance, an electronic device, etc. that is compatible with the Internet of Things (IOT).

[0071] In addition, the terminal device 10 can connect to the network N via a wireless communication network such as LTE (Long Term Evolution), 4G (4th Generation), or 5G (5th Generation: 5th generation mobile communication system), or via short-range wireless communication such as Bluetooth (registered trademark) or wireless LAN (Local Area Network), and communicate with the server device 100.

[0072] The server device 100 is, for example, a computer such as a PC or a blade server, or a mainframe or a workstation, etc. The server device 100 may be realized by cloud computing.

[0073] [3. Example of terminal device configuration] Next, the configuration of the terminal device 10 will be described with reference to Fig. 6. Fig. 6 is a diagram showing an example of the configuration of the terminal device 10. As shown in Fig. 6, the terminal device 10 includes a communication unit 11, a display unit 12, an input unit 13, a positioning unit 14, a sensor unit 20, a control unit 30 (controller), and a storage unit 40.

[0074] (Communications Department 11) The communication unit 11 is connected to a network N (see FIG. 5) by wire or wirelessly, and transmits and receives information to and from the server device 100 via the network N. For example, the communication unit 11 is realized by a NIC (Network Interface Card), an antenna, etc.

[0075] (Display section 12) The display unit 12 is a display device that displays various information such as position information. For example, the display unit 12 is a liquid crystal display (LCD) or an organic electro-luminescent display (OLED). The display unit 12 is a touch panel display, but is not limited to this.

[0076] (Input section 13) The input unit 13 is an input device that accepts various operations from the user U. For example, the input unit 13 has buttons for inputting characters, numbers, and the like. The input unit 13 may be an input / output port (I / O port), a USB (Universal Serial Bus) port, or the like. In addition, when the display unit 12 is a touch panel display, a part of the display unit 12 functions as the input unit 13. In addition, the input unit 13 may be a microphone that accepts voice input from the user U, or the like. The microphone may be wireless.

[0077] (Positioning unit 14) The positioning unit 14 receives a signal (radio wave) transmitted from a satellite of a GPS (Global Positioning System), and acquires position information (e.g., latitude and longitude) indicating the current position of the terminal device 10, which is the device itself, based on the received signal. That is, the positioning unit 14 measures the position of the terminal device 10. Note that the GPS is merely an example of a GNSS (Global Navigation Satellite System).

[0078] The positioning unit 14 can measure the position by various methods other than GPS. For example, the positioning unit 14 may measure the position by using various communication functions of the terminal device 10 as described below as an auxiliary positioning means for position correction or the like.

[0079] (Wi-Fi positioning) For example, the positioning unit 14 uses a Wi-Fi (registered trademark) communication function of the terminal device 10 or a communication network provided by each communication company to measure the position of the terminal device 10. Specifically, the positioning unit 14 performs Wi-Fi communication or the like and measures the distance to a nearby base station or access point to measure the position of the terminal device 10.

[0080] (Beacon positioning) The positioning unit 14 may measure the position by using a Bluetooth (registered trademark) function of the terminal device 10. For example, the positioning unit 14 measures the position of the terminal device 10 by connecting to a beacon transmitter connected by the Bluetooth (registered trademark) function.

[0081] (geomagnetic positioning) The positioning unit 14 also measures the position of the terminal device 10 based on a geomagnetic pattern of a structure measured in advance and a geomagnetic sensor included in the terminal device 10.

[0082] (RFID positioning) Furthermore, for example, if the terminal device 10 has a function of an RFID (Radio Frequency Identification) tag equivalent to a contactless IC card used at station ticket gates, stores, etc., or has a function of reading an RFID tag, the location of use is recorded together with information on a payment or the like made by the terminal device 10. The positioning unit 14 may obtain such information to measure the location of the terminal device 10. Furthermore, the location may be measured by an optical sensor, an infrared sensor, or the like provided in the terminal device 10.

[0083] The positioning unit 14 may, if necessary, measure the position of the terminal device 10 using one or a combination of the above-mentioned positioning means.

[0084] (Sensor unit 20) The sensor unit 20 includes various sensors mounted on or connected to the terminal device 10. The connection may be wired or wireless. For example, the sensors may be detection devices other than the terminal device 10, such as wearable devices and wireless devices. In the example shown in FIG. 6, the sensor unit 20 includes an acceleration sensor 21, a gyro sensor 22, an air pressure sensor 23, a temperature sensor 24, a sound sensor 25, a light sensor 26, a magnetic sensor 27, and an image sensor (camera) 28.

[0085] The above-mentioned sensors 21 to 28 are merely examples and are not intended to be limiting. That is, the sensor unit 20 may be configured to include some of the sensors 21 to 28, or may include other sensors such as a humidity sensor in addition to or instead of the sensors 21 to 28.

[0086] The acceleration sensor 21 is, for example, a three-axis acceleration sensor, and detects physical movements of the terminal device 10, such as the moving direction, speed, and acceleration of the terminal device 10. The gyro sensor 22 detects physical movements of the terminal device 10, such as tilts in three axial directions, based on the angular velocity, etc. of the terminal device 10. The air pressure sensor 23 detects, for example, the air pressure around the terminal device 10.

[0087] Since the terminal device 10 includes the above-mentioned acceleration sensor 21, gyro sensor 22, and air pressure sensor 23, it is possible to measure the position of the terminal device 10 using a technique such as Pedestrian Dead-Reckoning (PDR) that uses these sensors 21 to 23. This makes it possible to obtain indoor position information that is difficult to obtain using a positioning system such as GPS.

[0088] For example, the number of steps, walking speed, and distance walked can be calculated by a pedometer using the acceleration sensor 21. In addition, the moving direction, line of sight direction, and body inclination of the user U can be known by using the gyro sensor 22. In addition, the altitude and floor number on which the terminal device 10 of the user U is located can be known from the air pressure detected by the air pressure sensor 23.

[0089] The air temperature sensor 24 detects, for example, the air temperature around the terminal device 10. The sound sensor 25 detects, for example, the sound around the terminal device 10. The light sensor 26 detects the illuminance around the terminal device 10. The magnetic sensor 27 detects, for example, the geomagnetism around the terminal device 10. The image sensor 28 captures an image around the terminal device 10.

[0090] The above-mentioned air pressure sensor 23, temperature sensor 24, sound sensor 25, light sensor 26, and image sensor 28 can detect the air pressure, temperature, sound, and illuminance, and capture images of the surroundings, thereby detecting the environment and situation around the terminal device 10. In addition, the accuracy of the location information of the terminal device 10 can be improved based on the environment and situation around the terminal device 10.

[0091] (Control unit 30) The control unit 30 includes, for example, a microcomputer having a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM, an input / output port, and various other circuits. The control unit 30 may also be configured with hardware such as an integrated circuit, for example, an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array). The control unit 30 includes a transmitting unit 31, a receiving unit 32, and a processing unit 33.

[0092] (Transmitter 31) The transmission unit 31 can transmit, for example, various information input by the user U using the input unit 13, various information detected by each sensor 21-28 mounted on or connected to the terminal device 10, and location information of the terminal device 10 measured by the positioning unit 14 to the server device 100 via the communication unit 11.

[0093] (Receiving unit 32) The receiving unit 32 can receive various types of information provided by the server device 100 and requests for various types of information from the server device 100 via the communication unit 11.

[0094] (Processing section 33) The processing unit 33 controls the entire terminal device 10, including the display unit 12, etc. For example, the processing unit 33 can output various information transmitted by the transmission unit 31 and various information received from the server device 100 by the reception unit 32 to the display unit 12 for display.

[0095] (Storage unit 40) The storage unit 40 is realized by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a hard disk drive (HDD), a solid state drive (SSD), an optical disk, etc. Various programs and various data are stored in the storage unit 40.

[0096] [4. Example of Server Device Configuration] Next, the configuration of the server device 100 according to the embodiment will be described with reference to Fig. 7. Fig. 7 is a diagram showing an example of the configuration of the server device 100 according to the embodiment. As shown in Fig. 7, the server device 100 includes a communication unit 110, a storage unit 120, and a control unit 130.

[0097] (Communication unit 110) The communication unit 110 is realized by, for example, a network interface card (NIC), etc. The communication unit 110 is also connected to a network N (see FIG. 5) in a wired or wireless manner.

[0098] (Storage unit 120) The storage unit 120 is realized by, for example, a semiconductor memory element such as a random access memory (RAM) or a flash memory, or a storage device such as a HDD, an SSD, an optical disk, etc. As shown in FIG. 7, the storage unit 120 has a user information database 121, a history information database 122, and a comparison information database 123.

[0099] (User Information Database 121) The user information database 121 stores user information about the user U. For example, the user information database 121 stores various information such as the attributes of the user U. Fig. 8 is a diagram showing an example of the user information database 121. In the example shown in Fig. 8, the user information database 121 has items such as "User ID (Identifier)", "Age", "Gender", "Home", "Workplace", and "Interests".

[0100] The "user ID" indicates identification information for identifying the user U. The "user ID" may be the contact information of the user U (such as a telephone number or an email address), or may be identification information for identifying the terminal device 10 of the user U.

[0101] Furthermore, "age" indicates the age of user U identified by the user ID. Note that "age" may be information indicating the specific age of user U (e.g., 35 years old) or information indicating the generation of user U (e.g., 30s). Alternatively, "age" may be information indicating user U's date of birth or information indicating user U's generation (e.g., born in the 1980s). Furthermore, "gender" indicates the gender of user U identified by the user ID.

[0102] Furthermore, "home" indicates the location information of the home of user U identified by the user ID. In the example shown in Fig. 8, "home" is illustrated as an abstract code such as "LC11", but it may also be latitude and longitude information or the like. Furthermore, for example, "home" may also be a region name or an address.

[0103] Furthermore, "workplace" indicates location information of the workplace (school in the case of a student) of user U identified by the user ID. Note that in the example shown in Fig. 8, "workplace" is illustrated as an abstract code such as "LC12", but it may also be latitude and longitude information, etc. Furthermore, for example, "workplace" may also be the name of a region or an address.

[0104] Furthermore, "interests" indicate the interests of a user U identified by a user ID. In other words, "interests" indicate subjects in which a user U identified by a user ID is highly interested. For example, "interests" may be search queries (keywords) that a user U inputs into a search engine. Note that, although one "interest" is illustrated for each user U in the example shown in FIG. 8, there may be multiple "interests."

[0105] For example, in the example shown in FIG. 8, the age of user U identified by user ID "U1" is "20s" and the gender is "male." Furthermore, for example, the user U identified by user ID "U1" indicates that his / her home address is "LC11." Furthermore, for example, the user U identified by user ID "U1" indicates that his / her workplace is "LC12." Furthermore, for example, the user U identified by user ID "U1" indicates that he / she is interested in "sports."

[0106] Here, in the example shown in Fig. 8, abstract values ​​such as "U1", "LC11", and "LC12" are used for illustration, but "U1", "LC11", and "LC12" are assumed to store information such as specific character strings and numerical values. In the following figures relating to other information, abstract values ​​may also be illustrated.

[0107] The user information database 121 may store various information according to the purpose, not limited to the above. For example, the user information database 121 may store various information related to the terminal device 10 of the user U. The user information database 121 may also store information related to the attributes of the user U, such as demographic attributes, psychographic attributes, geographic attributes, and behavioral attributes. For example, the user information database 121 may store information such as name, family structure, place of origin (hometown), occupation, job title, income, qualifications, type of residence (detached house, apartment, etc.), whether or not the user has a car, commuting time, commuting route, commuter pass section (station, line, etc.), frequently used station (other than the nearest station to home or workplace), extracurricular activities (location, time zone, etc.), hobbies, interests, and lifestyle.

[0108] (Historical Information Database 122) The history information database 122 stores various information related to history information (log data) indicating the behavior of the user U. Fig. 9 is a diagram showing an example of the history information database 122. In the example shown in Fig. 9, the history information database 122 has items such as "user ID", "location history", "search history", "browsing history", "purchase history", and "posting history".

[0109] "User ID" indicates identification information for identifying user U. "Location history" indicates location history, which is a history of user U's location and movements. "Search history" indicates search history, which is a history of search queries entered by user U. "Browse history" indicates browse history, which is a history of content viewed by user U. "Purchase history" indicates purchase history, which is a history of purchases made by user U. "Post history" indicates posting history, which is a history of posts made by user U. "Post history" may include questions regarding user U's possessions.

[0110] For example, in the example shown in Figure 9, user U identified by user ID "U1" moved as shown in "Location History #1," searched as shown in "Search History #1," viewed content as shown in "Browse History #1," purchased specified products etc. at specified stores etc. as shown in "Purchase History #1," and posted as shown in "Post History #1."

[0111] Here, in the example shown in Figure 9, abstract values ​​such as "U1," "Location History #1," "Search History #1," "Browse History #1," "Purchase History #1," and "Post History #1" are used to illustrate the data, but specific information such as character strings and numbers is stored in "U1," "Location History #1," "Search History #1," "Browse History #1," "Purchase History #1," and "Post History #1."

[0112] The history information database 122 may store various information according to the purpose, without being limited to the above. For example, the history information database 122 may store the usage history of a specific service by the user U. The history information database 122 may also store the history of the user U's visit to a physical store or the history of the user U's visit to a facility. The history information database 122 may also store the payment history of the user U's payment (electronic payment) using the terminal device 10.

[0113] (Comparative Information Database 123) The comparison information database 123 stores various information related to comparison and matching of secret shared data. Fig. 10 is a diagram showing an example of the comparison information database 123. In the example shown in Fig. 10, the comparison information database 123 has items such as "comparison shared data", "target shared data", "identical value judgment", "user ratio", and "judgment result".

[0114] "Comparison shared data" refers to secret shared data generated by adding random noise to first information and dividing it by secret sharing. "Target shared data" refers to secret shared data generated by adding random noise to second information and dividing it by secret sharing. "Identical value determination" refers to the result of comparing the target shared data and the comparison shared data in a confidential state without decrypting them and conducting an identical value determination. "User ratio" refers to the ratio of users who satisfy a predetermined condition estimated according to the result of the identical value determination. "Determination result" refers to the result of the identical value determination or the result determined according to the ratio of users.

[0115] For example, in the example shown in Figure 10, the first secret shared data, "comparison shared data #A", and the second secret shared data, "target shared data #B", are compared in a confidentiality-preserving state without decryption, and an "identity value determination #AB" is obtained, which is the result of performing an identity determination, or a "determination result #AB" is obtained, which is the result of a determination based on the "user ratio #AB" estimated accordingly.

[0116] Here, in the example shown in Figure 10, abstract values ​​such as "comparison distributed data #A," "target distributed data #B," "identical value judgment #AB," "user ratio #AB," and "judgment result #AB" are used for the illustration, but specific information such as character strings and numbers is stored in "comparison distributed data #A," "target distributed data #B," "identical value judgment #AB," "user ratio #AB," and "judgment result #AB."

[0117] The comparative information database 123 may store various information according to the purpose, not limited to the above. For example, the comparative information database 123 may store information on the provider (origin) of the comparative distributed data and the target distributed data. For example, if the comparative distributed data is provided by a first business operator (Company A) and the target distributed data is provided by a second business operator (Company B), information (ID, address, etc.) on the first business operator (Company A) and the second business operator (Company B) may be stored.

[0118] (Control unit 130) Returning to Fig. 7, the description will be continued. The control unit 130 is a controller, and is realized by, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or the like, executing various programs (corresponding to an example of an information processing program) stored in a storage device inside the server device 100 using a storage area such as a RAM as a working area. In the example shown in Fig. 7, the control unit 130 has an acquisition unit 131 (a first acquisition unit 131A, a second acquisition unit 131B), a generation unit 132, a comparison unit 133, an estimation unit 134, a determination unit 135, and a provision unit 136.

[0119] (Acquisition part 131) The acquisition unit 131 acquires a search query input by a user U (user). For example, when the user U inputs a search query into a search engine or the like to perform a keyword search, the acquisition unit 131 acquires the search query via the communication unit 110. That is, the acquisition unit 131 acquires, via the communication unit 110, a keyword input by the user U into a search box of a search engine, a site, or an app.

[0120] Furthermore, the acquisition unit 131 acquires user information regarding the user U via the communication unit 110. For example, the acquisition unit 131 acquires identification information (such as a user ID) indicating the user U, location information of the user U, attribute information of the user U, and the like from the terminal device 10 of the user U. Furthermore, the acquisition unit 131 may acquire identification information indicating the user U, attribute information of the user U, and the like when registering the user U. Then, the acquisition unit 131 registers the user information in the user information database 121 of the storage unit 120.

[0121] Furthermore, the acquisition unit 131 acquires various types of history information (log data) indicating the behavior of the user U via the communication unit 110. For example, the acquisition unit 131 acquires various types of history information indicating the behavior of the user U from the terminal device 10 of the user U, or from various servers based on a user ID or the like. Then, the acquisition unit 131 registers the various types of history information in the history information database 122 of the storage unit 120.

[0122] The acquisition unit 131 includes a first acquisition unit 131A and a second acquisition unit 131B.

[0123] (1st acquisition part 131A) The first acquisition unit 131A acquires target shared data, which is secret shared data generated by adding random noise to a message and dividing the message by secret sharing.

[0124] For example, the first acquiring unit 131A acquires target shared data that is secret shared data generated by adding random noise to the mail body to conceal the contents and dividing the mail body by secret sharing.

[0125] The first acquisition unit 131A also acquires target shared data, which is secret shared data generated by adding random noise to the chat text to conceal the contents and dividing the chat text by secret sharing.

[0126] In addition, the first acquisition unit 131A acquires comparison shared data from the first operator, which is secret shared data generated by adding random noise to a list of users who satisfy conditions based on the know-how of the first operator and dividing the data using secret sharing.

[0127] Moreover, the first acquisition unit 131A acquires, from the first business operator, comparison shared data which is secret shared data generated by adding random noise to user information of a user who satisfies a predetermined condition and dividing the user information by secret sharing.

[0128] In addition, the first acquisition unit 131A acquires comparison shared data, which is secret shared data generated by adding random noise to user information of a user who has acquired a specified coupon and dividing the user information by secret sharing, from the first business operator.

[0129] (Second acquisition part 131B) The second acquisition unit 131B acquires comparison shared data, which is secret shared data generated by adding random noise to the detection target and dividing the data by secret sharing.

[0130] At this time, the second acquisition unit 131B may acquire, from the external device, comparison shared data, which is secret shared data generated by the external device by adding random noise to the detection target held by the external device and dividing it by secret sharing.

[0131] In addition, the second acquisition unit 131B acquires from the second operator target shared data, which is secret sharing data generated by adding random noise to user information of a selected user, who is a user selected by the second operator, and dividing the user information by secret sharing.

[0132] In addition, the second acquisition unit 131B acquires comparison shared data from the second operator, which is secret shared data generated by adding random noise to a list of users who satisfy conditions based on the know-how of the second operator and dividing the data using secret sharing.

[0133] Furthermore, the first acquisition unit 131A and the second acquisition unit 131B each share the secret shared data chunk.

[0134] (Generation unit 132) The generating unit 132 generates comparison shared data, which is secret shared data, by adding random noise to the detection target stored therein and dividing it by secret sharing. In this case, the second acquiring unit 131B acquires the generated comparison shared data.

[0135] (Comparison unit 133) The comparison unit 133 compares the target shared data with the comparison shared data in a confidentiality-preserving state without decrypting the data.

[0136] Specifically, the comparison unit 133 removes noise from the target shared data and the comparison shared data without decoding them, and performs a comparison operation using a series of protocols to determine whether they are the same value.

[0137] For example, the comparison unit 133 compares and collates the target shared data related to the message with the comparison shared data related to the malicious detection targets listed in advance, and performs a determination of whether they are identical. Note that the detection targets include at least one of the malicious messages, keywords, key phrases, and fixed phrases listed in advance.

[0138] In addition, the comparison unit 133 compares and collates the target shared data related to the user information of a user who satisfies a specified condition with the comparison shared data related to the user information of a user selected by the second operator, and performs an identity determination.

[0139] In addition, the comparison unit 133 compares and collates target distributed data regarding user information of a user who satisfies a condition based on the know-how of the first operator with comparison distributed data regarding user information of a user who satisfies a condition based on the know-how of the second operator, and performs an identity determination.

[0140] In addition, the comparison unit 133 compares and collates the target shared data regarding the list of users who satisfy the conditions based on the know-how of the first operator with the comparison shared data regarding users selected by the second operator, and performs an identity determination.

[0141] Alternatively, the comparison unit 133 compares and collates target shared data relating to a list of users who satisfy conditions based on the know-how of the first operator with comparison shared data relating to a list of users who satisfy conditions based on the know-how of the second operator, and performs an identity determination.

[0142] In addition, the comparison unit 133 compares and collates the target shared data regarding the user information of a user who has acquired a specified coupon with the comparison shared data regarding the user information of a user selected by the second operator, and performs an identity determination.

[0143] (Estimation part 134) The estimation unit 134 estimates the ratio of users who satisfy a predetermined condition among the users selected by the second service provider, based on the result of the comparison between the target shared data and the comparison shared data.

[0144] Furthermore, the estimation unit 134 estimates the proportion of users who are the same as or similar to the user who obtained the coupon, among the users selected by the second business operator, based on the result of the comparison between the target shared data and the comparison shared data.

[0145] Furthermore, the estimation unit 134 estimates the degree of know-how match between the first business operator and the second business operator based on the result of the identical value determination.

[0146] (Judgment unit 135) The determination unit 135 determines whether or not the message contains a detection target based on the result of the comparison between the target shared data and the comparison shared data. In this way, the determination unit 135 determines whether or not the message contains malicious content without decrypting the body of the message.

[0147] Furthermore, the determining unit 135 determines whether or not to provide the selected users with a coupon different from a predetermined coupon, depending on the estimated proportion of users.

[0148] Furthermore, when the estimated ratio of users is equal to or greater than a threshold value, the determination unit 135 determines that a coupon that is the same as or similar to a specified coupon should be provided to the selected users, since the same coupon can be expected to be acquired by the selected users.

[0149] Furthermore, when the estimated ratio of users is smaller than the threshold value, the determining unit 135 determines that a coupon other than the predetermined coupon should be provided to the selected users.

[0150] Alternatively, if the estimated proportion of users is equal to or greater than a threshold value, the judgment unit 135 judges that a coupon different from the specified coupon should be provided to the selected user, since a coupon identical to the specified coupon is expected to have overlapping content.

[0151] Furthermore, the determining unit 135 determines whether or not to provide a coupon similar to a predetermined coupon to the selected users, depending on the estimated proportion of users.

[0152] Furthermore, coupons similar to a given coupon are coupons with similar discount rates or targets.

[0153] (Providing Department 136) The providing unit 136 provides information regarding the estimated user ratio to the second business operator.

[0154] Furthermore, when it is determined that a coupon similar to the predetermined coupon should be provided to the selected user, the providing unit 136 provides the coupon similar to the predetermined coupon to the selected user.

[0155] The providing unit 136 also notifies the second business operator that a coupon similar to the predetermined coupon has been provided to the selected user.

[0156] 5. Processing Procedure Next, a processing procedure by the server device 100 according to the embodiment will be described with reference to Fig. 11. Fig. 11 is a flowchart showing the processing procedure according to the embodiment. Note that the processing procedure shown below is repeatedly executed by the control unit 130 of the server device 100.

[0157] As shown in FIG. 11, the first acquisition unit 131A of the server device 100 acquires, from the outside, comparison shared data, which is secret shared data generated by adding random noise to the first information and dividing it by secret sharing (step S101).

[0158] Next, the second acquisition unit 131B of the server device 100 acquires, from the outside, the target shared data, which is secret shared data generated by adding random noise to the second information and dividing the information by secret sharing (step S102).

[0159] Next, the comparison unit 133 of the server device 100 removes noise from the target shared data and the comparison shared data without decoding them, and performs a comparison operation using a series of protocols to determine whether they are the same value (step S103).

[0160] Next, the estimation unit 134 of the server device 100 estimates the ratio of users who satisfy a predetermined condition among the selected users based on the result of the comparison between the target shared data and the comparison shared data (step S104).

[0161] Next, the determination unit 135 of the server device 100 performs a predetermined determination according to the result of the comparison between the target shared data and the comparison shared data (step S105). For example, the determination unit 135 determines whether the content of the message is malicious without decrypting the body of the message. In addition, the determination unit 135 may determine whether to provide a coupon different from a predetermined coupon to the selected users according to the proportion of the estimated users.

[0162] Next, the providing unit 136 of the server device 100 provides the results of the series of processes to the outside (step S106).

[0163] 6. Modifications The above-described terminal device 10 and server device 100 may be implemented in various different forms other than the above-described embodiment. Therefore, the following describes modifications of the embodiment.

[0164] In the above embodiment, some or all of the processing executed by the server device 100 may actually be executed by the terminal device 10. For example, the processing may be completed in a stand-alone manner (by the terminal device 10 alone). In this case, the terminal device 10 is assumed to have the functions of the server device 100 in the above embodiment. Also, in the above embodiment, since the terminal device 10 works in conjunction with the server device 100, from the perspective of the user U, it appears that the processing of the server device 100 is also executed by the terminal device 10. In other words, from another perspective, it can be said that the terminal device 10 is equipped with the server device 100.

[0165] In the above embodiment, the terminal device 10 may be another server device 100. That is, a plurality of server devices 100 may cooperate with each other to share secret shared data chunks. In this case, each of the plurality of server devices 100 may generate secret shared data individually.

[0166] 7. Effects (1) As described above, the information processing device (terminal device 10 and server device 100) of the present application is characterized by comprising a first acquisition unit 131A that acquires target shared data, which is secret shared data generated by adding random noise to a message and dividing it by secret sharing, a second acquisition unit 131B that acquires comparison shared data, which is secret shared data generated by adding random noise to a detection target and dividing it by secret sharing, a comparison unit 133 that compares the target shared data and the comparison shared data in a confidentiality-preserving state without decrypting them, and a judgment unit 135 that judges whether the message contains the detection target based on the comparison result between the target shared data and the comparison shared data.

[0167] Furthermore, the comparison unit 133 removes noise from the target shared data and the comparison shared data without decoding them, and performs a comparison operation using a series of protocols to determine whether they are the same value.

[0168] The comparison unit 133 also compares and collates the target shared data relating to the message with comparison shared data relating to malicious detection targets that are listed in advance, and performs a determination of whether they are identical values.

[0169] The detection targets include at least one of a pre-list of malicious messages, keywords, key phrases, and standard phrases.

[0170] Furthermore, the determination unit 135 determines whether the message body contains malicious content without decrypting the body of the message.

[0171] The information processing device according to the present application further includes a generating unit 132 that generates comparison shared data, which is secret shared data, by adding random noise to the detection target stored therein and dividing it by secret sharing. Then, the second acquiring unit 131B acquires the generated comparison shared data.

[0172] Further, the second acquiring unit 131B acquires, from the external device, comparison shared data which is secret shared data generated by the external device by adding random noise to a detection target held by the external device and dividing the data by secret sharing.

[0173] The first acquiring unit 131A also acquires target shared data, which is secret shared data generated by adding random noise to the mail body to conceal the contents and dividing the mail body by secret sharing.

[0174] The first acquisition unit 131A also acquires target shared data, which is secret shared data generated by adding random noise to the chat text to conceal the contents and dividing the chat text by secret sharing.

[0175] (2) From another viewpoint, the information processing device (terminal device 10 and server device 100) according to the present application is characterized in that it comprises a first acquisition unit 131A that acquires from a first operator comparison shared data, which is secret shared data generated by adding random noise to user information of a user who satisfies a predetermined condition and dividing it by secret sharing; a second acquisition unit 131B that acquires from a second operator target shared data, which is secret shared data generated by adding random noise to user information of a user selected by the second operator and dividing it by secret sharing; a comparison unit 133 that compares the target shared data and the comparison shared data in a confidentiality-preserving state without decrypting the data; an estimation unit 134 that estimates the proportion of users who satisfy the predetermined condition among the users selected by the second operator based on the comparison result between the target shared data and the comparison shared data; and a provision unit 136 that provides information regarding the estimated proportion of users to the second operator.

[0176] Furthermore, the comparison unit 133 removes noise from the target shared data and the comparison shared data without decoding them, and performs a comparison operation using a series of protocols to determine whether they are the same value.

[0177] In addition, the comparison unit 133 compares and collates the target shared data related to the user information of a user who satisfies a specified condition with the comparison shared data related to the user information of a user selected by the second operator, and performs an identity determination.

[0178] The comparison unit 133 compares and collates the target shared data on the user information of the user who satisfies the condition based on the know-how of the first business operator with the comparison shared data on the user information of the user who satisfies the condition based on the know-how of the second business operator, and performs an identity determination. The estimation unit 134 estimates the degree of know-how match between the first business operator and the second business operator based on the result of the identity determination.

[0179] In addition, the first acquisition unit 131A acquires comparison shared data from the first operator, which is secret shared data generated by adding random noise to a list of users who satisfy conditions based on the know-how of the first operator and dividing the data using secret sharing.

[0180] The comparison unit 133 compares and collates the target shared data related to the list of users who satisfy the conditions based on the know-how of the first business operator with the comparison shared data related to the users selected by the second business operator, and performs an identity determination. The estimation unit 134 estimates the degree of know-how match between the first business operator and the second business operator based on the result of the identity determination.

[0181] The second acquisition unit 131B acquires, from the second operator, comparison shared data, which is secret shared data generated by adding random noise to a list of users who satisfy the conditions based on the know-how of the second operator and dividing the list by secret sharing. The comparison unit 133 compares and collates the target shared data related to the list of users who satisfy the conditions based on the know-how of the first operator with the comparison shared data related to the list of users who satisfy the conditions based on the know-how of the second operator, and performs an identity determination. The estimation unit 134 estimates the degree of know-how match between the first operator and the second operator based on the result of the identity determination.

[0182] Furthermore, the first acquisition unit 131A and the second acquisition unit 131B each share the secret shared data chunk.

[0183] (3) From another perspective, the information processing device (terminal device 10 and server device 100) of the present application is characterized by comprising: a first acquisition unit 131A that acquires, from a first operator, comparison shared data, which is secret shared data generated by adding random noise to user information of a user who has acquired a specified coupon and dividing it by secret sharing; a second acquisition unit 131B that acquires, from a second operator, target shared data, which is secret shared data generated by adding random noise to user information of a selected user who is a user selected by the second operator and dividing it by secret sharing; a comparison unit 133 that compares the target shared data and the comparison shared data in a confidentiality-preserving state without decrypting them; an estimation unit 134 that estimates, based on the comparison result between the target shared data and the comparison shared data, the proportion of users who are the same as or similar to the user who has acquired the coupon, among the users selected by the second operator; and a judgment unit 135 that judges whether to provide the selected user with a coupon different from the specified coupon based on the estimated proportion of users.

[0184] Furthermore, the comparison unit 133 removes noise from the target shared data and the comparison shared data without decoding them, and performs a comparison operation using a series of protocols to determine whether they are the same value.

[0185] In addition, the comparison unit 133 compares and collates the target shared data regarding the user information of a user who has acquired a specified coupon with the comparison shared data regarding the user information of a user selected by the second operator, and performs an identity determination.

[0186] Furthermore, when the estimated ratio of users is equal to or greater than a threshold value, the determination unit 135 determines that a coupon that is the same as or similar to a specified coupon should be provided to the selected users, since the same coupon can be expected to be acquired by the selected users.

[0187] Furthermore, when the estimated ratio of users is smaller than the threshold value, the determining unit 135 determines that a coupon other than the predetermined coupon should be provided to the selected users.

[0188] In addition, when the estimated ratio of users is equal to or greater than a threshold value, the judgment unit 135 judges that a coupon different from the specified coupon should be provided to the selected user, since a coupon identical to the specified coupon is expected to have overlapping content.

[0189] Furthermore, the determining unit 135 determines whether or not to provide a coupon similar to a predetermined coupon to the selected users, depending on the estimated proportion of users.

[0190] Furthermore, coupons similar to a given coupon are coupons with similar discount rates or targets.

[0191] By using any one or a combination of the above-mentioned processes, the information processing device according to the present application can safely share and use personal information of users without ID federation.

[0192] [8. Hardware Configuration] Moreover, the terminal device 10 and the server device 100 according to the above-described embodiment are realized by a computer 1000 having a configuration as shown in Fig. 12, for example. The server device 100 will be described below as an example. Fig. 12 is a diagram showing an example of a hardware configuration. The computer 1000 is connected to an output device 1010 and an input device 1020, and has a configuration in which a calculation device 1030, a primary storage device 1040, a secondary storage device 1050, an output I / F (Interface) 1060, an input I / F 1070, and a network I / F 1080 are connected by a bus 1090.

[0193] The arithmetic device 1030 operates based on programs stored in the primary storage device 1040 and the secondary storage device 1050, programs read from the input device 1020, and the like, and executes various processes. The arithmetic device 1030 is realized by, for example, a CPU (Central Processing Unit), an MPU (Micro Processing Unit), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or the like.

[0194] The primary storage device 1040 is a memory device such as a RAM (Random Access Memory) that primarily stores data used by the arithmetic device 1030 for various calculations. The secondary storage device 1050 is a storage device in which data used by the arithmetic device 1030 for various calculations and various databases are registered, and is realized by a ROM (Read Only Memory), an HDD (Hard Disk Drive), an SSD (Solid State Drive), a flash memory, or the like. The secondary storage device 1050 may be an internal storage device or an external storage device. The secondary storage device 1050 may be a removable storage medium such as a USB (Universal Serial Bus) memory or an SD (Secure Digital) memory card. The secondary storage device 1050 may be a cloud storage (online storage), a NAS (Network Attached Storage), a file server, or the like.

[0195] The output I / F 1060 is an interface for transmitting information to be output to an output device 1010 that outputs various types of information, such as a display, a projector, a printer, etc., and is realized by a connector conforming to a standard such as USB (Universal Serial Bus), DVI (Digital Visual Interface), or HDMI (registered trademark) (High Definition Multimedia Interface). The input I / F 1070 is an interface for receiving information from various input devices 1020, such as a mouse, a keyboard, a keypad, a button, a scanner, etc., and is realized by a USB, etc.

[0196] Furthermore, the output I / F 1060 and the input I / F 1070 may be wirelessly connected to the output device 1010 and the input device 1020, respectively. That is, the output device 1010 and the input device 1020 may be wireless devices.

[0197] The output device 1010 and the input device 1020 may be integrated into one device, such as a touch panel. In this case, the output I / F 1060 and the input I / F 1070 may also be integrated into one device, such as an input / output I / F.

[0198] The input device 1020 may be a device that reads information from, for example, an optical recording medium such as a CD (Compact Disc), a DVD (Digital Versatile Disc), or a PD (Phase change rewritable Disk), a magneto-optical recording medium such as an MO (Magneto-Optical disk), a tape medium, a magnetic recording medium, or a semiconductor memory.

[0199] The network I / F 1080 receives data from other devices via the network N and sends it to the arithmetic device 1030, and also transmits data generated by the arithmetic device 1030 to other devices via the network N.

[0200] The arithmetic unit 1030 controls the output device 1010 and the input device 1020 via the output I / F 1060 and the input I / F 1070. For example, the arithmetic unit 1030 loads a program from the input device 1020 or the secondary storage device 1050 onto the primary storage device 1040 and executes the loaded program.

[0201] For example, when the computer 1000 functions as the server device 100, the arithmetic unit 1030 of the computer 1000 executes a program loaded onto the primary storage device 1040 to realize the functions of the control unit 130. The arithmetic unit 1030 of the computer 1000 may also load a program acquired from another device via the network I / F 1080 onto the primary storage device 1040 and execute the loaded program. The arithmetic unit 1030 of the computer 1000 may also cooperate with the other device via the network I / F 1080 and use functions and data of a program by calling them from another program of the other device.

[0202] [9. Others] Although the embodiments of the present application have been described above, the present invention is not limited to the contents of these embodiments. The above-described components include those that can be easily imagined by a person skilled in the art, those that are substantially the same, and those that are within the so-called equivalent range. Furthermore, the above-described components can be appropriately combined. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the spirit of the above-described embodiments.

[0203] Furthermore, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically by a known method. In addition, the information including the processing procedures, specific names, various data and parameters shown in the above documents and drawings can be changed arbitrarily unless otherwise specified. For example, the various information shown in each drawing is not limited to the illustrated information.

[0204] In addition, each component of each device shown in the figure is a functional concept, and does not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or part of them can be functionally or physically distributed and integrated in any unit according to various loads, usage conditions, etc.

[0205] For example, the above-mentioned server device 100 may be realized by multiple server computers, and depending on the functions, the configuration can be flexibly changed, such as by calling an external platform using an API (Application Programming Interface) or network computing.

[0206] Furthermore, the above-described embodiments and modifications can be appropriately combined as long as the processing contents are not contradictory.

[0207] Furthermore, the above-mentioned "section, module, unit" can be read as "means" or "circuit", etc. For example, an acquisition section can be read as an acquisition means or an acquisition circuit. [Explanation of symbols]

[0208] 1. Information Processing Systems 10 Terminal Equipment 100 Server device 110 Communications Department 120 Storage section 121 User Information Database 122 History Information Database 123 Comparative Information Database 130 Control section 131 Acquisition Department 131A 1st acquisition part 131B 2nd acquisition part 132 Generation part 133 Comparison Section 134 Estimation Department 135 Judgment section 136 Provision Department

Claims

1. An information processing device that provides API services and various data to an application of a terminal device that adds random noise and generates secret sharing data using a secret sharing technique, a first acquisition unit that acquires, from a terminal device of a first carrier, comparison shared data, which is secret shared data generated by adding random noise to user information of a user who satisfies a predetermined condition and dividing the user information by secret sharing; A second acquisition unit that acquires target shared data from a terminal device of a second operator, the target shared data being secret shared data generated by adding random noise to user information of a user selected by the second operator and dividing the user information by secret sharing; a comparison unit that removes random noise from the target shared data and the comparison shared data and performs a comparison operation using an MPC calculation to compare the target shared data and the comparison shared data in a confidentiality-preserving state without decrypting the target shared data and the comparison shared data; an estimation unit that estimates a ratio of users who satisfy the predetermined condition among the users selected by the second business operator based on a comparison result between the target shared data and the comparison shared data; a providing unit that provides information about the estimated ratio of users to the second business operator; An information processing device comprising:

2. The comparison unit removes noise from the target shared data and the comparison shared data without decoding them, and performs a comparison operation using a series of protocols to determine whether the data are the same.

2. The information processing apparatus according to claim 1,

3. The comparison unit compares and collates the target shared data related to the user information of the user who satisfies the predetermined condition with the comparison shared data related to the user information of the user selected by the second service provider, and performs an identical value determination.

2. The information processing apparatus according to claim 1,

4. The comparison unit compares and collates the target shared data regarding user information of a user who satisfies a condition based on the know-how of the first business operator with the comparison shared data regarding user information of a user who satisfies a condition based on the know-how of the second business operator, and performs an identical value determination; The estimation unit estimates a degree of know-how match between the first business operator and the second business operator based on a result of the identical value determination.

2. The information processing apparatus according to claim 1,

5. The first acquisition unit acquires, from a terminal device of the first operator, comparison shared data, which is secret shared data generated by adding random noise to a list of users who satisfy a condition based on know-how of the first operator and dividing the list by secret sharing.

2. The information processing apparatus according to claim 1,

6. The comparison unit compares and collates the target shared data regarding a list of users who satisfy a condition based on the know-how of the first business operator with the comparison shared data regarding users selected by the second business operator, and performs an identical value determination; The estimation unit estimates a degree of know-how match between the first business operator and the second business operator based on a result of the identical value determination.

6. The information processing apparatus according to claim 5,

7. The second acquisition unit acquires, from the terminal device of the second carrier, comparison shared data which is secret shared data generated by adding random noise to a list of users who satisfy a condition based on know-how of the second carrier and dividing the list by secret sharing; The comparison unit compares and collates the target shared data regarding a list of users who satisfy a condition based on the know-how of the first business operator with the comparison shared data regarding a list of users who satisfy a condition based on the know-how of the second business operator, and performs an identical value determination; The estimation unit estimates a degree of know-how match between the first business operator and the second business operator based on a result of the identical value determination.

6. The information processing apparatus according to claim 5,

8. Each of the first acquisition unit and the second acquisition unit shares the secret shared data chunk.

2. The information processing apparatus according to claim 1,

9. An information processing method executed by an information processing device that provides an API service and various data to an application of a terminal device that adds random noise and generates secret sharing data using a secret sharing technique, comprising: a first acquisition step of acquiring, from a terminal device of the first carrier, comparison shared data which is secret shared data generated by adding random noise to user information of a user who satisfies a predetermined condition and dividing the user information by secret sharing; A second acquisition step of acquiring, from a terminal device of a second carrier, target shared data, which is secret shared data generated by adding random noise to user information of a user selected by the second carrier and dividing the user information by secret sharing; a comparison step of removing random noise from the target shared data and the comparison shared data, and performing a comparison operation using an MPC calculation to compare the target shared data and the comparison shared data in a confidentiality-preserving state without decrypting the target shared data; an estimation step of estimating a ratio of users who satisfy the predetermined condition among the users selected by the second business operator based on a comparison result between the target shared data and the comparison shared data; providing information about the estimated ratio of users to the second business operator; 13. An information processing method comprising:

10. An information processing program executed by a computer that provides API services and various data to an application of a terminal device that adds random noise and generates secret sharing data using a secret sharing technique, a first acquisition step of acquiring, from a terminal device of a first carrier, comparison shared data which is secret shared data generated by adding random noise to user information of a user who satisfies a predetermined condition and dividing the user information by secret sharing; A second acquisition step of acquiring, from a terminal device of a second carrier, target shared data, which is secret shared data generated by adding random noise to user information of a user selected by the second carrier and dividing the user information by secret sharing; a comparison step of removing random noise from the target shared data and the comparison shared data, and performing a comparison operation by MPC calculation, thereby comparing the target shared data and the comparison shared data in a confidentiality keeping state without decrypting the target shared data and the comparison shared data; an estimation step of estimating a ratio of users who satisfy the predetermined condition among the users selected by the second business operator based on a comparison result between the target shared data and the comparison shared data; a provision step of providing information about the estimated user ratio to the second business operator; An information processing program characterized by causing a computer to execute the above.

Citation Information

Patent Citations

  • Secret sharing system, data sharing device, shared data retention device, secret sharing scheme, and program

    JP2014138349A

  • Monitoring information sharing system, collation device, monitoring device, and program

    JP2016071639A

  • Secret information distribution system, information processor, and information processing program

    JP2016178550A

  • Secret distribution system and method of the same

    JP2019028391A

  • Id association system

    JP2021144385A