Information processing program, information processing method and information processing apparatus

JP2025021834APending Publication Date: 2025-02-14FUJITSU LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023125835
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-01
Publication Date
2025-02-14

AI Technical Summary

Benefits of technology

【0012】 1つの側面では、本発明は、ポイントサービスを効率的に運用することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025021834000001_ABST
    Figure 2025021834000001_ABST
Patent Text Reader

Abstract

To provide an information processing program, an information processing method, and an information processing apparatus that improve reliability of a point service and allow the point service to be operated efficiently.SOLUTION: A computer is caused to execute the processing of: storing, in an unprocessed area 101, first secret data in which behavior data of a user related to a provided service is concealed; exchanging the first secret data for second secret data that corresponds to issuance of a point converted from the behavior data according to a predetermined rule; and presenting the second secret data to a point providing system and making a point issuance request.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

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

[0002] In recent years, point services that issue points calculated under certain conditions according to specific actions taken by consumers, such as the amount paid for various products or services or the number of visits to a store, have become increasingly popular. For example, there are point services that issue points for specific actions taken toward the environment. Users of point services can use the points they have acquired to partially cover the payment for products or services from the next time onwards, or to exchange them for special products, etc.

[0003] The information on the specific behavior that triggers the issuance of points varies widely, such as purchase history, and often includes personal information. In this regard, if the organization that obtains and manages the information on the specific behavior that triggers the issuance of points is the same organization that issues the points, there is little risk of problems occurring with the handling of personal information.

[0004] However, there are cases where the organization that manages the data recording information on a specific behavior that triggers the issuance of points is different from the organization that issues the points. For example, a case will be described where there is a retailer that sells products and a point service provider that issues points. In this case, a user of the point service performs a specific behavior, such as purchasing a product, at the retailer. The retailer stores information on the specific behavior performed by the user as behavioral data. The retailer then discloses the stored behavioral data to the point service provider and requests the point service provider to issue points according to the user's specific behavior. In accordance with the request from the retailer, the point service provider grants points to consumers according to the user's specific behavior. In such a configuration, the point service provider can learn the user's behavioral history from the information disclosed by the retailer, and there is a risk that the user's personal information will be disclosed to the point service provider in a manner that the user does not expect.

[0005] In order to protect personal information, point service providers have traditionally disclosed the companies they have partnered with, obtained consent from users to the provision of data from the partner companies, and then acquired behavioral data from each partner company to issue points. This consent includes various items such as whether it is OK to share new behavioral data with new companies and whether it is OK to share past behavioral data. Through governance based on such privacy policies, point service providers strive to protect users' personal information.

[0006] In addition, a technology has been proposed related to merchandise trading in which a client device reads information including a link to activate a dynamically generated contactless card and sends it to a server, and if verification by the server is successful, the contactless card is activated. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Special Publication No. 2022-502888 Summary of the Invention [Problem to be solved by the invention]

[0008] However, in the method of obtaining consent from users each time for the provision of data for each affiliated company, the point service provider may be required to obtain consent from all users when a new affiliated company enters the market. Obtaining consent from all users each time a new affiliated company enters the market is not realistic in terms of procedures and costs. In addition, since complicated procedures are required when a new company enters the market, the threshold for new companies to enter the market becomes high, making it difficult for point service providers to invite companies that have behavioral data that can be used to grant points to enter the market. Therefore, in the method of obtaining consent from users each time for the provision of data for each affiliated company, it is difficult to efficiently operate the point service, such as improving the reliability of the point service and encouraging new entrants.

[0009] In addition, the technology for activating contactless cards based on the verification results of information including a dynamically generated activation link does not take into account restrictions on personal information sharing between companies, making it difficult to award points based on behavioral data while protecting personal information, which makes it difficult to operate the point service efficiently.

[0010] The disclosed technology has been made in consideration of the above, and aims to provide an information processing program, an information processing method, and an information processing device that allow efficient operation of a point service. [Means for solving the problem]

[0011] In one aspect of the information processing program, information processing method, and information processing device disclosed in the present application, a computer is caused to execute a process of storing first secret data, which has been obtained by concealing user behavioral data related to a provided service, in a memory area, exchanging the first secret data with second secret data which is converted from the behavioral data according to a predetermined rule and corresponds to the issuance of points, and presenting the second secret data to a point providing system to request the issuance of points. Effect of the Invention

[0012] In one aspect, the present invention enables efficient operation of a points service. [Brief description of the drawings]

[0013] [Figure 1] FIG. 1 is a schematic diagram of a point service according to an embodiment. [Diagram 2] FIG. 2 is a block diagram of the anonymous federation server. [Diagram 3] FIG. 3 is a diagram showing an outline of the issuing process, the exchange process, and the settlement process by the point service system. [Figure 4] FIG. 4 is a sequence diagram of an issuing process in the point service system according to the embodiment. [Diagram 5] FIG. 5 is a sequence diagram of an exchange process in the point service system according to the embodiment. [Figure 6] FIG. 6 is a sequence diagram of a payment process in the point service system according to the embodiment. [Figure 7] FIG. 7 is a hardware configuration diagram of the anonymous collaboration server. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Hereinafter, an information processing program, an information processing method, and an information processing device disclosed in the present application will be described in detail with reference to the accompanying drawings. Note that the information processing program, the information processing method, and the information processing device disclosed in the present application are not limited to the following embodiments. EXAMPLES

[0015] Fig. 1 is a schematic diagram of a point service according to an embodiment. An overview of a point service system 1 will be described with reference to Fig. 1. As shown in Fig. 1, the point service system 1 includes a user P, a plurality of stores 20, a point service providing company 30, and an anonymous linking server 100.

[0016] A user P performs a specific behavior, such as a purchasing behavior or an environmental behavior, at one or more stores 20. Then, the user P transmits behavior data indicating the specific behavior performed by the user P and behavior evidence for proving the performance of the specific behavior to the store 20. The behavior data is raw data in which the specific behavior performed by the user P is recorded as it is.

[0017] Here, the behavior data may be issued by the store 20. Also, the behavior evidence may be created and provided by the store 20. In such a case, the store 20 may hold the behavior data and behavior evidence generated when the user P performed a specific behavior toward the store 20, without receiving the behavior data and behavior evidence from the user P.

[0018] The store 20 is an organization such as a retail store or a service provider where the user P performs a specific behavior. The store 20 receives behavioral data and behavioral evidence from the user P. Then, in preparation for issuing points to the user, the store 20 provides anonymized data that has been anonymized by anonymizing the behavioral data to the anonymous federation server 100, and stores the anonymized data in an unprocessed area 101 of the anonymous federation server 100 to be held by the anonymous federation server 100.

[0019] The anonymous federation server 100 holds the secret data in which the behavioral data of the user P is concealed, and notifies the point service providing company 30 of whether or not points can be issued based on the held secret data. The anonymous federation server 100 has an unprocessed area 101 and a processed area 102. The unprocessed area 101 and the processed area 102 are examples of a "storage area".

[0020] The unprocessed area 101 is an area for storing data before it is used and becomes worthless, such as by being converted into points or exchanged into other types of data. In other words, the data stored in the unprocessed area 101 is data that has value and can be used in some way.

[0021] The processed area 102 is an area for storing information on data that has been subjected to some usage processing and no longer has value. In other words, the data whose information is stored in the processed area 102 is data that has no value and will not be subjected to any further usage processing.

[0022] In this embodiment, both the data in the unprocessed area 101 and the processed area 102 are managed by a blockchain (BC). By using a blockchain, it is possible to prevent tampering with each piece of data and unauthorized operations on the unprocessed area 101 and the processed area 102, and the validity of each piece of data stored in the unprocessed area 101 and the processed area 102 is guaranteed. However, if a guarantee of validity is not required, the data in the unprocessed area 101 and the processed area 102 may be managed using a database.

[0023] The anonymous federation server 100 receives the secret data in which the behavioral data has been concealed from the store 20. Then, the anonymous federation server 100 stores and holds the anonymous data before usage processing in the unprocessed area 101.

[0024] Thereafter, when the anonymous collaboration server 100 performs some usage processing on the secret data, it registers the secret data in the processed area 102, and when new secret data is generated by the usage processing, it stores the new secret data in the unprocessed area 101.

[0025] For example, issuing points for behavioral data corresponding to secret data is also one of the usage processes. Upon receiving a confirmation request from the point service providing company 30 as to whether or not points can be issued to the user P, the anonymous link server 100 checks the anonymous data stored in the unprocessed area 101 and notifies the point service providing company 30 of the determination result as to whether or not points can be issued. If the issuance of points is permitted, the anonymous link server 100 registers the anonymous data corresponding to the issued points in the processed area 102. In other words, the anonymous link server 100 determines that points can be issued for anonymous data stored in the unprocessed area 101 and not registered in the processed area 102.

[0026] The point service providing company 30 receives a request for issuing points from the user P. Alternatively, the point service providing company 30 may receive a request for issuing points to the user P from the store 20. Then, the point service providing company 30 checks with the anonymous linkage server 100 whether or not points can be issued in response to the request. If a response is returned from the anonymous linkage server 100 indicating that points can be issued, the point service providing company 30 issues points to the user P in response to the request.

[0027] The user terminal 400 is an information processing device used by a user P. The user P operates the user terminal 400 to input various data such as behavioral data and various requests.

[0028] Fig. 2 is a block diagram of the anonymous federation server 100. Next, the anonymous federation server 100 according to the present embodiment will be described in detail with reference to Fig. 2.

[0029] 2, the point service system 1 includes an anonymous linking server 100, a store system 200, a point providing system 300, and a user terminal 400. The store system 200 is an information processing system that manages behavioral data of a user P in a store 20. The point providing system 300 is an information processing system that issues points to a user P at a point service providing company 30.

[0030] Here, some terms used in the following description will be explained. A local token is a crypto-asset that corresponds to behavioral data, and is created by the user terminal 400. In the point service system 1, the local token is treated as data that represents behavioral data. The local token is a crypto-asset that user P secretly holds in the user terminal 400, and corresponds to behavioral data, which is raw data. In other words, the local token is not disclosed to anyone other than user P in the point service system 1, and the specific behavior of user P indicated by the behavioral data is kept confidential. The local token is owned information that indicates that a specific behavior has been performed, such as "purchased product x" or "performed action x."

[0031] A local token contains three elements: (sn, x, r). sn is a string indicating the serial number of the local token. x is a string or number indicating the content of the local token, i.e., the content of the behavioral data. For example, in the case of managing environmental behavior, a local token indicating that user P has taken out the trash would have x="taking out the trash". In addition, for example, in a point system, a local token indicating that user P has 100 points would have x="100". r is a string indicating the secret information of the local token.

[0032] A global token is data obtained by concealing a local token. The global token is stored in the anonymous linkage server 100, which is a public domain. A global token is data obtained by concealing ownership information, such as "product x was purchased" or "action x was performed", and is a concealed local token. In other words, a global token corresponds to concealed data obtained by concealing behavioral data.

[0033] A global token contains three elements: (sn, C, pk). sn is a string indicating the serial number of the global token. The serial number of the local token and the serial number of the global token are the same. C is a string or number indicating the contents of the concealed token, and is a commitment Comm(x, r) generated from the corresponding local token's x and r. pk is a string indicating the public key of the owner of the corresponding local token. User P holds the public key as its unique identifier, and also has the corresponding signing key.

[0034] The anonymous federation server 100 executes three processes, namely, an issue process, an exchange process, and a settlement process. The issue process is a process in which the anonymous federation server 100 issues a global token and stores it in the unprocessed area 101. The exchange process is a process in which the anonymous federation server 100 exchanges a specific global token with another global token. This exchange process includes, for example, a process of dividing one global token into multiple global tokens, a process of changing a global token corresponding to the execution of a specific action to a global token corresponding to the possession of points, and the like. In the following description, the global token before the exchange in the exchange process is called a "pre-exchange global token", and the global data after the exchange is called a "post-exchange global token". The settlement process is a process of permitting the issuance of points using the global token as evidence.

[0035] As shown in FIG. 2, the anonymous cooperation server 100 has a serial number issuing unit 111, a secret data acquiring unit 112, an exchange processing unit 113, and a point issuance permission unit 114 in addition to an unprocessed area 101 and a processed area .

[0036] The serial number issuing unit 111 receives a request to issue a serial number from the user terminal 400. The serial number issuing unit 111 receives a request to issue a serial number for, for example, a local token and a corresponding global token or an exchange destination local token. Then, the serial number issuing unit 111 issues a serial number and transmits it to the user terminal 400.

[0037] The secret data acquisition unit 112 receives from the user terminal 400 a global token that has been verified and confirmed to be valid in the store system 200 and GT (Global Token) evidence indicating that the global token has been officially issued. The GT evidence includes the public key of the store 20, the public key of the user P, a store signature statement, and a user signature statement. Here, the store signature statement is information indicating that the issuance of the global token has been authenticated by the store 20. Moreover, the user signature statement is information indicating that the issuance of the global token has been authenticated by the user P.

[0038] The secret data acquisition unit 112 verifies whether the issued serial number matches the serial number included in the acquired global token. Next, the secret data acquisition unit 112 verifies the validity of the store signature statement and the user signature statement using the public key of the store 20 and the public key of the user P. After confirming the validity of the store signature statement and the user signature statement, the secret data acquisition unit 112 stores the acquired global token and its GT evidence in the unprocessed area 101.

[0039] The global token stored in the unprocessed area 101 by the secret data acquisition unit 112 is an example of "first secret data". That is, the secret data acquisition unit 112 performs an issuance process of storing in a storage area the first secret data obtained by anonymizing the user's behavioral data related to the provided service. The issuance process includes a process of storing the first secret data in the unprocessed area 101. The store 20 is an example of a "service provider", and the store signature text is an example of a "first signature text". The user signature text is an example of a "second signature text". That is, the issuance process includes a process of acquiring the first signature text of the store 20 for the behavioral data and the second signature text of the user P for the first secret data, and storing the first signature text and the second signature text together with the first secret data in the anonymous link server 100.

[0040] Here, by including a store signature statement in the GT evidence stored in the unprocessed area 101, it is possible to prevent a global token related to the store 20 from being added to the unprocessed area 101 without authentication of the store 20. Also, by including a user signature statement in the GT evidence, it is possible to prevent a global token related to user P from being added to the unprocessed area 101 without authentication of user P.

[0041] The exchange processing unit 113 receives the post-exchange global token, the exchange evidence of the post-exchange global token, and the user signature text from the user terminal 400. The exchange evidence includes information on a set including the pre-exchange global token and the post-exchange global token, as well as a zero-knowledge proof text indicating that the pre-exchange global token has been converted into the post-exchange global token based on a predetermined rule. The conversion based on the predetermined rule results in a subset of the pre-exchange global token and the post-exchange global token.

[0042] Zero-knowledge proof is a technology that can prove that "the original plaintext of the commitment belongs to a specific set" for a plaintext that belongs to a specific set by disclosing only the commitment of the plaintext and the specific set, without disclosing the plaintext. Data that enables zero-knowledge proof is called a "zero-knowledge proof text." In other words, by giving a set of pairs of a pre-exchange global token and its corresponding post-exchange global token using the exchange proof, and disclosing the commitment of the pre-exchange global token, the post-exchange global token, and the set, it is proven that "the pre-exchange global token and the post-exchange global token of the commitment belong to that set."

[0043] The exchange processing unit 113 obtains a pre-exchange global token corresponding to the post-exchange global token from the unprocessed area 101. The exchange processing unit 113 also obtains the GT evidence or exchange evidence stored together with the pre-exchange global token, and the user signature text. Here, if the pre-exchange global token has GT evidence attached, the user signature text is included in the GT evidence, so the exchange processing unit 113 may obtain the user signature text from the GT evidence.

[0044] Next, the exchange processing unit 113 checks whether or not the pre-exchange global token exists in the processed area 102. If the pre-exchange global token does not exist in the processed area 102, the exchange processing unit 113 determines that exchange processing can be performed on the pre-exchange global token. Then, the exchange processing unit 113 holds the serial number of the post-exchange global token.

[0045] Next, the exchange processing unit 113 verifies the zero-knowledge proof text and the user signature text for the exchanged global token using the exchange evidence to confirm the validity of the exchanged global token. The zero-knowledge proof allows the exchange processing unit 113 to confirm that the exchange of the global token has been processed in accordance with a predetermined exchange rule. After confirming the validity of the exchanged global token, the exchange processing unit 113 stores the exchanged global token, the exchange evidence, and the user signature text in the unprocessed area 101.

[0046] Thereafter, the exchange processing unit 113 uses the serial number of the held post-exchange global token to confirm whether the post-exchange global token exists in the unprocessed area 101. After confirming that the post-exchange global token exists in the unprocessed area 101, the exchange processing unit 113 verifies the zero-knowledge proof text and the user signature text for the pre-exchange global token using the exchange evidence to confirm the validity of the pre-exchange global token. After confirming the validity of the pre-exchange global token, the exchange processing unit 113 stores the pre-exchange global token, the GT evidence or the exchange evidence, and the user signature text in the processed area 102. Here, since the GT evidence includes the user signature text, the exchange processing unit 113 does not need to store the user signature text in the processed area 102 when storing the pre-exchange global token with the GT evidence attached.

[0047] Here, the pre-exchange global token in the exchange process is an example of the "first secret data", and the post-exchange global token is an example of the "second secret data". That is, the exchange processing unit 113 performs an exchange process of exchanging the first secret data with the second secret data corresponding to the issuance of points converted from the behavioral data according to a predetermined rule. The exchange process includes a process of exchanging the first secret data with the second secret data when the first secret data is stored in the unprocessed area 101 and is not registered in the processed area 102. The exchange process further includes a process of storing the second secret data in the unprocessed area 101 and registering the first secret data in the processed area 102. The exchange process also includes a process of acquiring a zero-knowledge proof statement indicating the validity of converting the first secret data into the second secret data, and performing the exchange when the validity is confirmed by the zero-knowledge proof statement. The user signature statement for the post-exchange global token is an example of the "third signature statement". That is, the exchange process includes a process of acquiring a third signature of the user for the second secret data, and storing the second secret data together with the third signature text in a storage area.

[0048] The point issuance permission unit 114 receives a request to transmit a global token corresponding to a local token indicating execution of point issuance specified by the user P from the point providing system 300. Next, the point issuance permission unit 114 checks whether the specified global token exists in the processed area 102.

[0049] If the specified global token does not exist in the processed area 102, the point issuance permission unit 114 acquires the specified global token from the unprocessed area 101. Then, the point issuance permission unit 114 transmits the acquired global token to the point providing system 300. By transmitting this global token to the point providing system 300, the point issuance permission unit 114 authorizes the point providing system 300 to issue points.

[0050] Thereafter, the point issuance permission unit 114 receives the global token sent to the point providing system 300, the public key held by the point service providing company 30, the point issuance signature statement by the point service providing company 30, and the user signature statement by user P. Next, the point issuance permission unit 114 verifies the validity of the point issuance signature statement and the user signature statement. Then, the point issuance permission unit 114 registers the global token, the public keys of the point service providing company 30 and user P, the point issuance signature statement, the user signature statement, and evidence together in the processed area 102.

[0051] In this way, the point issuance permission unit 114 executes a payment process in which the second secret data is presented to the point providing system 300 and a point issuance request is made. The payment process includes a process of presenting the second secret data to the point providing system 300 when the second secret data is stored in the unprocessed area 101 and is not registered in the processed area 102. Furthermore, when the point issuance permission unit 114 presents the second secret data to the point providing system 300 and makes a point issuance request, it registers the second secret data in the processed area 102.

[0052] Furthermore, the point issuance signature sentence in the payment process is an example of a "fourth signature sentence," and the user signature sentence is an example of a "fifth signature sentence." That is, when a point issuance request is made, the point issuance permission unit 114 obtains a fourth signature sentence by the point providing system 300 and a fifth signature sentence by the user P for the issuance of points corresponding to the second secret data. Then, the point issuance permission unit 114 verifies the legitimacy of the issuance of points corresponding to the second secret data using the fourth signature sentence and the fifth signature sentence.

[0053] Here, by storing the point issuing signature text together with the global token in the processed area 102, it is possible to prevent the global points from being transferred from the unprocessed area 101 to the processed area 102 without the consent of the point service providing company 30. Also, by storing the user signature text together with the global token in the processed area 102, it is possible to prevent the global points from being transferred from the unprocessed area 101 to the processed area 102 without the consent of the user P.

[0054] The point issuance permission unit 114 may transmit the global token to the point providing system 300, and then receive the user signature text and store the global token in the processed area 102, and then instruct the point providing system 300 to grant points. In this case, the point providing system 300 does not grant points when receiving the global token, but transmits the global token to the user terminal 400, and then grants points to the user P after receiving an instruction to grant points. The user signature text in this case is a unique example of the "sixth signature text". Then, when the point issuance permission unit 114 acquires the sixth signature text of the user for the issuance of points corresponding to the second secret data, it presents the second secret data to the point providing system 300 and makes a point issuance request.

[0055] Next, the operations of the store system 200, the point providing system 300, and the user terminal 400 in the issuance process, exchange process, and payment process will be described. As a premise, user P has a public key and a signature key corresponding to it. In addition, the store 20 also has a public key and a signature key corresponding to it. In addition, the point providing system 300 also has a public key and a signature key corresponding to it. In addition, the store system 200 has a protocol for authenticating specific actions of user P. In addition, the point providing system 300 has a protocol for performing processing according to the token. For example, the point providing system 300 has a protocol for issuing points according to a local token that indicates the issuance of points.

[0056] In the issuance process, the user terminal 400 holds behavior data indicating that the user P performed a specific behavior that can be converted into points, and behavior evidence for proving the execution of the specific behavior. The user terminal 400 generates a random number. The user terminal 400 also transmits a request to the serial number issuing unit 111 of the anonymous collaboration server 100 to obtain a serial number to be assigned to a local token corresponding to the behavior data. The user terminal 400 then receives the serial number from the serial number issuing unit 111.

[0057] Next, the user terminal 400 creates a commitment to the behavioral data from the behavioral data and the random number. A commitment is one of the methods for concealing plaintext. When generating concealed data from plaintext behavioral data, the user terminal 400 generates a commitment C as C=Comm(m,r) using a random number and Comm, a function with two arguments. Here, for example, m, which is plaintext, is behavioral data, and r is a random number. For example, the user terminal 400 can set the hash value of a character string combining the plaintext and the random number as the commitment. In addition, the user terminal 400 can set the commitment as a value obtained by multiplying the power of one plaintext of two elements other than 0 and 1 in a finite field having a sufficiently large prime number as the characteristic by the power of the other random number.

[0058] Furthermore, the user terminal 400 creates a local token using the serial number, the behavioral data, and the random number. Furthermore, the user terminal 400 generates a global token by concealing the local token using the serial number, the commitment, and the public key of the user P.

[0059] Next, the user terminal 400 transmits the local token, the global token, and the behavior evidence together to the store system 200. After that, the user terminal 400 receives from the store system 200 the store signature statement and the global token that have been generated using the signature key of the store 20 after the authenticity of the local token has been confirmed. The user terminal 400 then confirms the authenticity of the received store signature statement using the public key of the store 20.

[0060] After verifying the validity of the store signature statement, the user terminal 400 uses the signature key of user P to generate a global token, the public key of store 20, and a user signature statement for the store signature statement. Then, the user terminal 400 generates GT evidence including the public key of store 20, the public key of user P, the store signature statement, and the user signature statement. Then, the user terminal 400 transmits the global token and GT evidence to the secret data acquisition unit 112 of the anonymous collaboration server 100.

[0061] Furthermore, the user terminal 400 executes the following processes in the exchange process. As a premise, at the time of the exchange process, the user P possesses the pre-exchange global token. In addition, predetermined rules for converting the global token exist as public information.

[0062] Here, the pre-exchange global token and the post-exchange global token may be one or more. For example, there are multiple pre-exchange global tokens, each of which represents x1,...,xn. Also, there are multiple post-exchange global tokens, each of which represents y1,...,yn. A given rule is R. That is, when R is applied to x1,...,xn, it becomes y1,...,yn. In other words, a combination of a set X of contents indicated by the pre-exchange global token and a set Y of contents indicated by the post-exchange global token is a subset of R. For example, R is an exchange rate, which is a rule for converting x yen and y dollars. Also, R is a point exchange rule, which is a rule for converting a purchase history of x into y points. Also, the pre-exchange global token is registered in the unprocessed area 101.

[0063] The user terminal 400 transmits a request to acquire a serial number to be assigned to the exchanged global token to the serial number issuing unit 111 of the anonymous collaboration server 100. After that, the user terminal 400 receives from the serial number issuing unit 111 the serial number to be assigned to the exchanged global token.

[0064] Next, the user terminal 400 generates a local token using the serial number, the contents after the exchange, and the random number. The user terminal 400 also creates a commitment for the local token using the contents after the exchange and the random number. Furthermore, the user terminal 400 generates a post-exchange global token using the serial number, the commitment, and the public key of user P.

[0065] Next, the user terminal 400 creates a zero-knowledge proof statement that the content indicated by the pre-exchange global token is converted based on a predetermined rule to result in the content indicated by the post-exchange global token. In other words, the user terminal 400 creates a zero-knowledge proof statement that indicates that the combination of the content indicated by the pre-exchange global token and the content indicated by the post-exchange global token belongs to a set indicated by the predetermined rule.

[0066] Next, the user terminal 400 generates an exchange evidence including information on the set of the pre-exchange global token and the post-exchange global token, and a zero-knowledge proof text. Next, the user terminal 400 generates a user-signed text for the exchange evidence using the signature key of the user P. After that, the user terminal 400 transmits the post-exchange global token, the exchange evidence, and the user-signed text together to the exchange processing unit 113 of the anonymous cooperation server 100.

[0067] The user terminal 400 executes the following process in the payment process. As a premise, the user P possesses a local token indicating the issuance of points. Also, a global token corresponding to the local token is stored in the unprocessed area 101.

[0068] The user terminal 400 holds the local token to be used for payment. Next, the user terminal 400 generates a user signature statement for the local token to be used for payment using the signature key of the user P. After that, the user terminal 400 transmits the local token to be used for payment and the user signature statement to the point providing system 300.

[0069] Thereafter, the user terminal 400 receives a global token indicating the execution of point issuance, a public key held by the point service providing company 30, and a point issuance signature statement from the point providing system 300. Next, the user terminal 400 generates a user signature statement for the global token. Then, the user terminal 400 transmits the global token indicating the execution of point issuance, the public key held by the point service providing company 30, the point issuance signature statement, and the user signature statement to the anonymous link server 100.

[0070] In the issuance process, the store system 200 receives a local token indicating behavior data, a global token corresponding to the local token, and behavior evidence from the user terminal 400. Next, the store system 200 verifies the validity of the behavior data indicated by the local token based on the behavior evidence, i.e., that the user P performed a specific behavior. Furthermore, the store system 200 verifies that the commitment is a commitment generated based on the behavior data and a random number.

[0071] Next, the store system 200 generates a store signature statement for the global token using the signature key of the store 20. After that, the store system 200 transmits the global token and the store signature statement to the user terminal 400.

[0072] In the payment process, the point providing system 300 receives the local token and the user signature statement to be used for payment from the user terminal 400. Next, the point providing system 300 checks the validity of the user signature statement. After checking the validity of the user signature statement, the point providing system 300 transmits a request to transmit the global token to the point issuance permission unit 114 of the anonymous linkage server 100.

[0073] Thereafter, when the point providing system 300 receives a global token from the point issuance permission unit 114, it grants points to the user P according to the contents of the local token corresponding to the global token. Then, the point providing system 300 generates a point issuance signature statement. Next, the point providing system 300 transmits to the user terminal 400 the global token indicating the execution of point issuance, the public key held by the point service providing company 30, and the point issuance signature statement.

[0074] Fig. 3 is a diagram showing an overview of the issuance process, exchange process, and settlement process by the point service system. Next, an example of the issuance process, exchange process, and settlement process by the point service system 1 will be described with reference to Fig. 3. Here, a case will be described in which points are issued for the purchase of an item according to the rules indicated by the rate table 10.

[0075] A user P uses a user terminal 400 to transmit a local token corresponding to behavioral data indicating the purchase of an item and behavioral evidence corresponding to the local token to the store system 200, and requests the store 20 to execute a purchase process (step S1).

[0076] Upon receiving the request to execute the purchase process, the store system 200 of the store 20 conceals the local token indicating the purchase of the item and generates a "global token GT purchase" which is a global token indicating the purchase of the item. Then, the store system 200 transmits the global token GT purchase to the anonymous linking server 100 and stores it in the unprocessed area 101 (step S2).

[0077] Next, the user P uses the user terminal 400 to request the point providing system 300 of the point service providing company 30 to issue 50 points (step S3).

[0078] Upon receiving the request for issuing 50 points, the point providing system 300 of the point service providing company 30 transmits a request to acquire a global token indicating the issuance of 50 points to the anonymous link server 100 (step S4).

[0079] The anonymous federation server 100 confirms that the behavioral data of the purchase of an item indicated by the global token GT purchase is converted to 100 points according to the rate table 10. Then, the anonymous federation server 100 exchanges the global token GT purchase, which is the pre-exchange global token, for the global token GT100, which is the post-exchange global token indicating the issuance of 100 points (step S5). After that, the anonymous federation server 100 registers the global token GT purchase that has been exchanged in the processed area 102 (step S6).

[0080] Next, the anonymous federation server 100 exchanges the global token GT100, which is the pre-exchange global token, for two post-exchange global tokens, GT50#1 and GT50#2, which indicate the issuance of 50 points (step S7). After that, the anonymous federation server 100 registers the global token GT100 that has undergone the exchange process in the processed area 102 (step S8). The exchange of the global token GT100 for the global tokens GT50#1 and GT50#2 is an example of an exchange process.

[0081] Next, the anonymous link server 100 transmits the global token GT50#1 indicating the issuance of 50 points to the point providing system 300 of the point service providing company 30 (step S9). After receiving the global token GT50#1, the point providing system 300 of the point service providing company 30 issues 50 points to the user P (step S10).

[0082] After that, the anonymous link server 100 registers the global token GT50#1 in the processed area 102 (step S11).

[0083] 4 is a sequence diagram of the issuing process in the point service system according to the embodiment. Next, the flow of the issuing process in the point service system 1 according to the embodiment will be described with reference to FIG.

[0084] The user terminal 400 holds behavior data indicating that the user P has performed a specific behavior that can be converted into points, and behavior evidence for proving the execution of the specific behavior (step S101).

[0085] The user terminal 400 generates a random number (step S102).

[0086] Next, the user terminal 400 transmits a request to acquire a serial number to be assigned to the local token corresponding to the behavioral data to the serial number issuing unit 111 of the anonymous linking server 100 (step S103).

[0087] The serial number issuing unit 111 of the anonymous cooperation server 100 receives the serial number acquisition request, issues a serial number, and transmits it to the user terminal 400 (step S104).

[0088] The user terminal 400 creates a commitment of the behavioral data from the behavioral data and the random number. The user terminal 400 also creates a local token using the serial number, behavioral data, and random number received from the serial number issuing unit 111. Furthermore, the user terminal 400 generates a global token by concealing the local token using the serial number, the commitment, and the public key of the user P (step S105).

[0089] Next, the user terminal 400 transmits the local token, the global token, and the behavior evidence together to the store system 200 (step S106).

[0090] The store system 200 verifies the validity of the behavior data indicated by the local token based on the received behavior evidence. Furthermore, the store system 200 verifies the validity of the commitment, that is, that the commitment is based on the behavior data and the random number (step S107).

[0091] Next, the store system 200 generates a store signature statement for the global token using the signature key of the store 20 (step S108).

[0092] After that, the store system 200 transmits the global token and the store signature text to the user terminal 400 (step S109).

[0093] The user terminal 400 verifies the validity of the store signature statement received from the store system 200 using the public key PK (step S110).

[0094] Next, the user terminal 400 uses the signature key of the user P to generate a global token, a public key of the store 20, and a user signature message for the store signature message (step S111).

[0095] After that, the user terminal 400 transmits the global token, as well as the GT evidence including the public key of the store 20, the public key of the user P, the store signature text, and the user signature text, to the secret data acquisition unit 112 of the anonymous cooperation server 100 (step S112).

[0096] The secret data acquisition unit 112 checks whether the issued serial number matches the serial number of the global token acquired by the user terminal 400. In addition, the secret data acquisition unit 112 verifies the validity of the store signature statement and the user signature statement by using the public key of the store 20 and the public key of the user P (step S113).

[0097] Next, the secret data acquisition unit 112 transmits the acquired global token and its GT evidence to the unprocessed area 101 (step S114). The unprocessed area 101 stores the transmitted global token and its GT evidence (step S115).

[0098] 5 is a sequence diagram of the exchange process in the point service system according to the embodiment. Next, the flow of the exchange process in the point service system 1 according to the embodiment will be described with reference to FIG.

[0099] The user terminal 400 holds the pre-exchange local token (step S201).

[0100] The user terminal 400 transmits a request to acquire a serial number to be assigned to the exchanged global token to the serial number issuing unit 111 of the anonymous linkage server 100 (step S202).

[0101] The serial number issuing unit 111 of the anonymous cooperation server 100 receives the serial number acquisition request, issues a serial number, and transmits it to the user terminal 400 (step S203).

[0102] User terminal 400 generates a local token using the serial number received from serial number issuing unit 111, the post-exchange content, and the random number. User terminal 400 also creates a commitment for the local token using the post-exchange content and the random number. Furthermore, user terminal 400 generates a post-exchange global token using the serial number, the commitment, and user P's public key (step S204).

[0103] Next, the user terminal 400 generates a zero-knowledge proof that the content indicated by the pre-exchange global token becomes the content indicated by the post-exchange global token when the content indicated by the pre-exchange global token is converted based on a predetermined rule (step S205).

[0104] Next, the user terminal 400 generates an exchange evidence including information on the set of the pre-exchange global token and the post-exchange global token, and the zero-knowledge proof text. Next, the user terminal 400 generates a user signature for the exchange evidence using the signature key of the user P (step S206).

[0105] Next, the user terminal 400 transmits the exchanged global token, the exchange evidence, and the user signature together to the exchange processing unit 113 of the anonymous cooperation server 100 (step S207).

[0106] The exchange processing unit 113 acquires a pre-exchange global token corresponding to the post-exchange global token from the unprocessed area 101. The exchange processing unit 113 also acquires the GT evidence or exchange evidence and the user signature text stored together with the pre-exchange global token (step S208).

[0107] Next, the exchange processing unit 113 checks whether or not the pre-exchange global token exists in the processed area 102 (step S209).

[0108] Here, the exchange processing unit 113 confirms the absence of a pre-exchange global token in the processed area 102 (step S210).

[0109] Next, the exchange processing unit 113 determines that the exchange process can be performed on the pre-exchange global token. Then, the exchange processing unit 113 holds the serial number of the post-exchange global token to be exchanged (step S211).

[0110] Next, the exchange processing unit 113 verifies the zero-knowledge proof text and the user signature text for the exchanged global token using the exchange evidence, and confirms the validity of the exchanged global token (step S212).

[0111] Next, the exchange processing unit 113 transmits the exchanged global token, the exchange evidence, and the user signature text to the unprocessed area 101 (step S213).

[0112] The unprocessed area 101 stores the exchanged global token, the exchange evidence, and the user signature sent from the exchange processing unit 113 (step S214).

[0113] Next, the exchange processing unit 113 uses the serial number of the held exchanged global token to check whether or not the exchanged global token exists in the unprocessed area 101 (step S215).

[0114] Then, exchange processing unit 113 confirms that the exchanged global token exists in unprocessed area 101 (step S216).

[0115] Next, the exchange processing unit 113 verifies the zero-knowledge proof text and the user signature text for the pre-exchange global token using the exchange evidence, and confirms the validity of the pre-exchange global token (step S217).

[0116] Next, the exchange processing unit 113 transmits the pre-exchange global token, the GT evidence or the exchange evidence, and the user signature text to the processed area 102 (step S218).

[0117] The processed area 102 stores the pre-exchange global token, the GT evidence or the exchange evidence, and the user signature text transmitted from the exchange processing unit 113 (step S219).

[0118] 6 is a sequence diagram of the payment process in the point service system according to the embodiment. Next, the flow of the payment process in the point service system 1 according to the embodiment will be described with reference to FIG.

[0119] The user terminal 400 holds a local token to be used for payment (step S301).

[0120] Next, the user terminal 400 uses the signature key of the user P to generate a user signature statement for the local token to be used for payment (step S302).

[0121] Next, the user terminal 400 transmits the local token to be used for payment and the user signature text to the point providing system 300 (step S303).

[0122] The point providing system 300 checks the validity of the user signature text received from the user terminal 400 (step S304).

[0123] Next, the point providing system 300 transmits a transmission request for the global token to the point issue permission unit 114 of the anonymous linkage server 100 (step S305).

[0124] The point issuance permission unit 114 checks whether or not a global token corresponding to the local token indicating the execution of point issuance exists in the processed area 102 (step S306).

[0125] Here, the point issuance permission unit 114 confirms that a global token corresponding to the local token indicating the execution of point issuance does not exist in the processed area 102 (step S307).

[0126] Next, the point issue permission unit 114 transmits an acquisition request for the specified global token to the unprocessed area 101 (step S308).

[0127] Then, the point issuance permission unit 114 acquires a global token corresponding to the local token indicating the execution of point issuance from the unprocessed area 101 (step S309).

[0128] Next, the point issuance permission unit 114 transmits the acquired global token to the point providing system 300 (step S310).

[0129] The point providing system 300 provides points to the user P according to the contents of the local token corresponding to the global token received from the point issue permission unit 114 (step S311).

[0130] Then, the point providing system 300 generates a point issuing signature text (step S312).

[0131] Next, the point providing system 300 transmits to the user terminal 400 a global token indicating the execution of point issuance, a public key owned by the point service providing company 30, and a point issuance signature text (step S313).

[0132] The user terminal 400 generates a user signature text for the received global token (step S314).

[0133] Then, the user terminal 400 transmits the global token indicating the execution of point issuance, the public key owned by the point service providing company 30, the point issuance signature text, and the user signature text to the anonymous link server 100 (step S315).

[0134] The point issue permission unit 114 checks the validity of the point issuance signature text and the user signature text received from the user terminal 400 (step S316).

[0135] Thereafter, the point issuance permission unit 114 transmits the global token, the public keys of the point service providing company 30 and the user P, the point issuance signature text, the user signature text, and the evidence together to the processed area 102 (step S317).

[0136] The processed area 102 stores the global token, the public keys of the point service providing company 30 and the user P, the point issuing signature text, the user signature text, and evidence all together (step S318).

[0137] (Hardware configuration) 7 is a hardware configuration diagram of the anonymous collaboration server 100. Next, an example of the hardware configuration of the anonymous collaboration server 100 will be described with reference to FIG.

[0138] 7, the anonymous collaboration server 100 includes, for example, a CPU (Central Processing Unit) 91, a memory 92, a hard disk 93, and a network interface 94. The CPU 91 is connected to the memory 92, the hard disk 93, and the network interface 94 via a bus.

[0139] The network interface 94 is an interface for communication between the anonymous link server 100 and an external device. The network interface 94 relays communication between the store system 200, the point providing system 300, the user terminal 400, and the CPU 91, for example.

[0140] The hard disk 93 is an auxiliary storage device. The hard disk 93 has an unprocessed area 101 and a processed area 102, as shown in Fig. 2. The hard disk 93 also stores various programs, including programs for implementing the functions of a serial number issuing unit 111, a secret data acquiring unit 112, an exchange processing unit 113, and a point issuance permission unit 114, as shown in Fig. 2.

[0141] The memory 92 is a main storage device, and may be, for example, a dynamic random access memory (DRAM).

[0142] The CPU 91 reads out various programs from the hard disk 93, and deploys and executes them in the memory 92. In this way, the CPU 91 realizes the functions of a serial number issuing unit 111, a secret data acquiring unit 112, an exchange processing unit 113, and a point issuance permission unit 114, all of which are illustrated in FIG.

[0143] As described above, the anonymous link server according to the present embodiment acquires anonymous data obtained by anonymizing behavioral data from the store system and stores the data in an unused area. When issuing points, the anonymous link server converts the anonymous data indicating the behavioral data into anonymous data indicating point issuance, registers the data in an anonymous data processed area indicating the behavioral data, and requests the point providing system to issue points. After that, when points are awarded to the user, the anonymous link server registers special data indicating point issuance in the processed area.

[0144] As a result, the anonymous link server holds anonymous data and issues points based on that anonymous data, so points are issued without disclosing the user's behavioral data to the store or the point service provider, ensuring the confidentiality of personal information. Therefore, by ensuring the protection of personal information, the point service provider can ensure the safety of the point service, making it easier for new entrants to enter the market, and enabling the point service to be operated efficiently. [Explanation of symbols]

[0145] 1. Point Service System 20 stores 30 Point Service Provider 100 Anonymous Collaboration Server 111 Serial Number Issuance Department 112 Confidential Data Acquisition Department 113 Exchange Processing Unit 114 Point Issuance Authorization Department 200 store system 300 points system 400 User terminal P User

Claims

1. storing first concealed data, which is obtained by concealing the user's behavioral data related to the provided service, in a storage area; exchanging the first secret data with second secret data corresponding to issuing points converted from the behavioral data according to a predetermined rule; The second secret data is presented to a point providing system to request issuance of points. An information processing program that causes a computer to execute a process.

2. the process of storing the first secret data in the storage area includes a process of storing the first secret data in the unprocessed area of ​​the storage area, the unprocessed area being one of an unprocessed area and a processed area included in the storage area; the exchanging process includes, when the first secret data is stored in the unprocessed area and is not registered in the processed area, a process of exchanging the first secret data with the second secret data, storing the second secret data in the unprocessed area, and registering the first secret data in the processed area; the process of making the point issuance request includes a process of presenting the second secret data to the point providing system when the second secret data is stored in the unprocessed area and is not registered in the processed area; When the point issuance request is made, the computer further executes a process of registering the second secret data in the processed area.

2. The information processing program according to claim 1,

3. The process of storing the first secret data in the storage area includes: obtaining a first signature statement by the service provider for the behavioral data and a second signature statement by the user for the first secret data; The first signature text and the second signature text are stored in the storage area together with the first secret data.

2. The information processing program according to claim 1, further comprising a process for:

4. 2. The information processing program according to claim 1, characterized in that the exchanging process includes a process of obtaining a zero-knowledge proof statement indicating legitimacy of converting the first secret data into the second secret data, and performing the exchanging process when the legitimacy is confirmed by the zero-knowledge proof statement.

5. 2. The information processing program according to claim 1, characterized in that the exchanging process includes a process of obtaining a third signature text of a user for the second secret data and storing the second secret data together with the third signature text in the memory area.

6. The information processing program according to claim 1, characterized in that, when the point issuance request is made, the computer is further caused to execute a process of obtaining a fourth signature statement by the point providing system and a fifth signature statement by the user regarding the issuance of points corresponding to the second secret data, and confirming the legitimacy of the issuance of points corresponding to the second secret data using the fourth signature statement and the fifth signature statement.

7. 2. The information processing program according to claim 1, wherein the process of making the point issuance request is executed when a sixth signature text of the user for issuance of points corresponding to the second secret data is obtained.

8. An information processing device, storing first concealed data, which is obtained by concealing the user's behavioral data related to the provided service, in a storage area; exchanging the first secret data with second secret data corresponding to the issuance of points converted from the behavioral data according to a predetermined rule; The second secret data is presented to a point providing system to request issuance of points.

2. An information processing method comprising:

9. a secret data acquisition unit that stores, in a storage area, first secret data obtained by concealing user behavior data related to the provided service; an exchange processing unit that exchanges the first secret data with second secret data that corresponds to the issuance of points converted from the behavior data according to a predetermined rule; a point issuance permission unit that presents the second secret data to a point providing system and requests the issuance of points; An information processing device comprising:

Citation Information

Patent Citations

  • System and method for cryptographic authentication of contactless cards

    JP2022502888A