SECURE PAGERANK COMPUTATION SYSTEM, METHOD THEREFOR, SECURE COMPUTATION APPARATUS, AND PROGRAM
20240119866 ยท 2024-04-11
Assignee
Inventors
- Satoshi TAKAHASHI (Musashino-shi, Tokyo, JP)
- Tetsushi MORITA (Musashino-shi, Tokyo, JP)
- Osamu TAKINO (Musashino-shi, Tokyo, JP)
Cpc classification
G09C1/00
PHYSICS
H04L2209/46
ELECTRICITY
International classification
Abstract
To calculate PageRank with high accuracy using transaction data held by a plurality of data sources as input and keeping the transaction data of each data source secret. A data source apparatus (1) calculates a transaction rate for each combination of transaction entities (S12). The data source apparatus (1) encrypts the transaction rate and transmits the encrypted transaction rate to each secure computation apparatus (2) (S13). Each secure computation apparatus (2) receives a ciphertext of the transaction rate from a plurality of data source apparatuses (1) (S21). The secure computation apparatus (2) securely calculates a ciphertext which becomes, when decrypted, PageRank of the computational objective transaction entity by using the ciphertext of the transaction rate related to the computational objective transaction entity and the ciphertext of the PageRank of a transaction counterpart (S22).
Claims
1. A secure PageRank computation system comprising a plurality of secure computation apparatuses, each secure computation apparatus comprises: a PageRank storage which stores a ciphertext of PageRank of a plurality of transaction entities; a transaction rate receiving circuitry which receives a ciphertext of a transaction rate from each of a plurality of data sources; and a PageRank calculating circuitry which securely calculates, using a ciphertext of a transaction rate related to a computational objective transaction entity and a ciphertext of PageRank of a transaction counterpart that is a transaction entity having performed a transaction with the computational objective transaction entity, a ciphertext to become PageRank of the computational objective transaction entity when the ciphertext is decrypted, wherein the transaction rate represents, for each combination of the transaction entities, a ratio of a transaction performed by the combination of transaction entities to an entire transaction history held by the data sources.
2. The secure PageRank computation system according to claim 1, wherein [.Math.] represents a ciphertext of a value i denotes a number representing the computational objective transaction entity, j denotes a number representing the transaction counterpart, V, denotes a set of the transaction counterparts, PR.sub.j represents PageRank of the transaction counterpart j, N denotes the number of the data sources, ?.sub.1, ?.sub.2, . . . , ?.sub.N denote weights satisfying ?.sub.1+?.sub.2+ . . . +?.sub.N=1, k.sup.n.sub.j.fwdarw.i, (n=1, 2, . . . , N) represents a transaction rate related to the transaction entity i and the transaction counterpart j received from an n-th data source, and the PageRank calculating circuitry calculates a ciphertext of the PageRank of the transaction entity i according to the following formula:
[PR.sub.i]=?.sub.j?v.sub.
3. The secure PageRank computation system according to claim 1, wherein the secure PageRank computation system comprises a computation request apparatus that is any of the plurality of data sources or an apparatus other than data sources, the computation request apparatus comprises: a PageRank decoding circuitry which decodes a ciphertext of PageRank of the computational objective transaction entity received from each secure computation apparatus, and a convergence determining circuitry which determines whether or not the PageRank of the computational objective transaction entity has converged, and each secure computation apparatus further comprises: a PageRank transmitting circuitry which transmits a ciphertext of PageRank of the computational objective transaction entity to the computation request apparatus, and a PageRank updating circuitry which updates the ciphertext of PageRank of the computational objective transaction entity stored in the PageRank storage when the PageRank of the computational objective transaction entity has not converged.
4. The secure PageRank computation system according to claim 3, wherein the secure PageRank computation system comprises an initialization apparatus that is one of the data sources other than the computation request apparatus, and the initialization apparatus comprises a PageRank initial value registering circuitry which encrypts a randomly-generated initial value of PageRank of the transaction counterpart and which transmits a ciphertext thereof to each secure computation apparatus.
5. A secure PageRank computation method executed by a secure PageRank computation system including a plurality of secure computation apparatuses, wherein a PageRank storage of each secure computation apparatus stores a ciphertext of PageRanks of a plurality of transaction entities, a transaction rate receiving circuitry of each secure computation apparatus receives a ciphertext of a transaction rate from each of the plurality of data sources, a PageRank calculating circuitry of each secure computation apparatus performs secure computation of a ciphertext which becomes, when decrypted, PageRank of a computational objective transaction entity using a ciphertext of the transaction rate related to the computational objective transaction entity and a ciphertext of PageRank of a transaction counterpart that is a transaction entity having performed a transaction with the computational objective transaction entity, and the transaction rate represents, for each combination of the transaction entities, a ratio of a transaction performed by the combination of transaction entities to an entire transaction history held by the data sources.
6. The secure computation apparatus used in the secure PageRank computation system according to claim 1.
7. A non-transitory computer-readable recording medium which stores a program for causing a computer to execute each step of the secure PageRank computation method according to claim 5.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0016] Hereinafter, embodiments of the present invention will be described in detail. Note that the same reference numerals are given to constituent units that have same functions in the drawings and repetitive descriptions thereof will be omitted.
EMBODIMENT
[0017] An embodiment of the present invention is a secure PageRank computation system and method which use a ciphertext of transaction data input from a plurality of data sources to generate PageRank while keeping the transaction data secret.
[0018] On measuring reliability of enterprises using PageRank, if PageRank is to be calculated solely based on one data source, there is a possibility that even an unreliable enterprise in fact may be determined to have high reliability. In consideration thereof, calculating PageRank using a plurality of data sources is expected to increase accuracy of reliability of the PageRank. However, generating PageRank using a plurality of data sources requires innovative technical approaches for preventing information held in each data source from being leaked to other data sources. In particular, for entities aimed at collecting and utilizing data such as a data distribution platform, accumulated data itself is the value of the entities, and it is difficult for such entities to readily provide other entities with such data.
[0019] Therefore, the secure PageRank computation system according to the embodiment solves the problem described above by securely calculating a PageRank formula with a plurality of data sources as inputs to obtain PageRank while keeping the input data from each data source secret.
[0020] As shown in
[0021] Any one of the data source apparatuses 1.sub.1, . . . , 1.sub.N plays a role of requesting computation of PageRank (hereinafter, also referred to as a computation request apparatus). In addition, any one of the data source apparatuses 1.sub.1, . . . , 1.sub.N which is not the computation request apparatus plays a role of registering an initial value of PageRank (hereinafter, also referred to as an initialization apparatus).
[0022] When there are a plurality of secure computation apparatuses 2 (in other words, when K?2), a secure computation apparatus 2.sub.k (k ?{1, . . . , K}) uses a secure computation method based on secret sharing such as Shamir's secret sharing or replicated secret sharing to calculate PageRank while cooperating with other secure computation apparatuses 2.sub.k, (k?{1, . . . , K} and k?k). When there is one secure computation apparatus 2 (in other words, when K=1), the secure computation apparatus 2 calculates PageRank using a secure computation method based on an encryption method such as homomorphic encryption.
[0023] For example, as shown in
[0024] The data source apparatus 1.sub.n and the secure computation apparatus 2.sub.k are, for example, special apparatuses constructed by loading a special program to a known or dedicated computer having a central processing unit (CPU), a main storage apparatus (RAM: Random Access Memory), and the like. For example, the data source apparatus 1.sub.n and the secure computation apparatus 2.sub.k execute each step of processing under the control of the central processing unit. Data input to the data source apparatus 1.sub.n and the secure computation apparatus 2.sub.k and data obtained by the various steps of processing are, for example, stored on the main storage apparatus, and the data stored on the main storage apparatus is loaded to the central processing unit as needed to be utilized in other steps of processing. At least a part of each processing unit of the data source apparatus 1.sub.n and the secure computation apparatus 2.sub.k may be constituted by hardware such as an integrated circuit. Each storage included in the data source apparatus 1.sub.n and the secure computation apparatus 2.sub.k may be constituted by, for example, a main storage apparatus such as a RAM (Random Access Memory), an auxiliary storage apparatus constituted by a hard disk, an optical disk, or a semiconductor memory element such as a flash memory, or middleware such as a relational database or a key-value store.
[0025] A processing procedure of the secure PageRank computation method that is executed by the secure PageRank computation system 100 according to the embodiment will be described with reference to
[0026] The transaction history storage 10 of each data source apparatus 1.sub.n stores a transaction history representing the contents of a transaction performed between two transaction entities handled by the data source apparatus 1.sub.n.
[0027] In step S11, the PageRank initial value registering unit 11 of the data source apparatus 1.sub.2 randomly generates an initial value of PageRank PR.sub.i of each transaction entity i (i=1, . . . , I, where I denotes a total number of transaction entities) included in the transaction history stored in the transaction history storage 10. Next, the PageRank initial value registering unit 11 encrypts the initial value of the PageRank PR.sub.i of each transaction entity i and transmits a ciphertext [PR.sub.i] thereof to each of the secure computation apparatuses 2.sub.1, . . . , 2.sub.K. Note that [.Math.] represents a ciphertext of a value, and when encryption is performed by secret sharing, [.Math.] represents a shared value of the value .Math.. When encryption is performed by secret sharing, the shared value [PR.sub.i] of the initial value of the PageRank PR.sub.i of each transaction entity i is distributed to each of the secure computation apparatuses 2.sub.1, . . . , 2.sub.K so that one secure computation apparatus 2.sub.k holds one share [PR.sub.i].sub.k.
[0028] In step S20, each secure computation apparatus 2.sub.k stores the ciphertext [PR.sub.i] of the initial value of the PageRank PR.sub.i of each transaction entity i received from the data source apparatus 1.sub.2 in the PageRank storage 20.
[0029] In step S12, the transaction rate calculating unit 12 of each data source apparatus 1.sub.n calculates, from the transaction history stored in the transaction history storage 10, a transaction rate k.sup.n.sub.j.fwdarw.i for each combination (i, j) of transaction entities (j ?V.sub.i, where V.sub.i denotes a set of transaction counterparts which are transaction entities who have performed a transaction with the transaction entity i). Note that k.sup.n.sub.j-i represents a transaction rate related to the transaction entity i and a transaction counterpart j held by an n-th data source apparatus 1.sub.n. The transaction rate represents a ration of a transaction performed in a combination of certain transaction entities among the entire transaction history. For example, when a data source is a bank and a transaction is a transfer, a value obtained by dividing a total sum of transfer amounts handled by the bank from a certain enterprise to other enterprises by the total sum of transfer amounts recorded in the transaction history is a transaction rate from the certain enterprise to the other enterprises. The transaction rate is calculated for all combinations of transaction entities recorded in the transaction history. The transaction rate calculating unit 12 outputs the calculated transaction rate k.sup.n.sub.j-i to the transaction rate transmitting unit 13.
[0030] In step S13, the transaction rate transmitting unit 13 of each data source apparatus 1.sub.n encrypts a product ?.sub.nk.sup.n.sub.j-i of the input transaction rate k.sup.n.sub.j-i and a predetermined weight ?.sub.n and transmits a ciphertext [?.sub.nk.sup.n.sub.j.fwdarw.i] thereof to each of the secure computation apparatuses 2.sub.1, 2.sub.K. When encryption is performed by secret sharing, a shared value [?.sub.nk.sup.n.sub.j.fwdarw.i] of the transaction rate is distributed to each of the secure computation apparatuses 2.sub.1, 2.sub.K so that one secure computation apparatus 2.sub.k holds one share [?.sub.nk.sup.n.sub.j.fwdarw.i] The weights ?.sub.1, . . . , ?.sub.N held by each of the data source apparatuses 1.sub.1, . . . , 1.sub.N are assumed to be set in advance in each of the data source apparatuses 1.sub.1, . . . , 1.sub.N so as to satisfy ?.sub.1+ . . . + ?.sub.N=1.
[0031] In step S21, the transaction rate receiving unit 21 of each secure computation apparatus 2.sub.k receives ciphertexts [?.sub.1k.sup.1.sub.j.fwdarw.i], . . . , [?.sub.Nk.sup.N.sub.j.fwdarw.i] of the transaction rate from each of the data source apparatuses 1.sub.1, . . . , 1.sub.N.
[0032] In step S22, the PageRank calculating unit 22 of each secure computation apparatus 2.sub.k securely calculates a ciphertext [PR.sub.i] that becomes, when decrypted, the PageRank PR.sub.i of the transaction entity i, which is an objective of computation, using the ciphertexts [?.sub.1k.sup.1.sub.j.fwdarw.i], . . . , [?.sub.Nk.sup.N.sub.j.fwdarw.i] of the transaction rate related to the transaction entity i (?{1, . . . , I}) and a ciphertext [PR.sub.i] of PageRank PR.sub.i of a transaction counterpart j (j ?V.sub.i) who has performed a transaction with the transaction entity i. Note that the number of computational objective transaction entities need not be one and PageRank may be calculated for all transaction entities or PageRank may be calculated for a plurality of arbitrarily-selected transaction entities. The PageRank calculating unit 2 outputs the ciphertext [PR.sub.i] of the PageRank PR.sub.i of the transaction entity i to the PageRank transmitting unit 23.
[0033] Specifically, the PageRank calculating unit 22 calculates the following formula to obtain the ciphertext [PR.sub.i] of the PageRank PR.sub.i of the transaction entity i.
[PR.sub.i]=?.sub.j?v.sub.
[0034] In step S23, the PageRank transmitting unit 23 of each secure computation apparatus 2.sub.k transmits the input ciphertext [PR.sub.i] of the PageRank PR.sub.i of the transaction entity i to a data source apparatus 1.sub.1 serving as a computation request apparatus. In step S14, the PageRank decoding unit 14 of the data source apparatus 1.sub.1 decodes the ciphertext [PR.sub.i] of the PageRank PR.sub.i of the transaction entity i received from each of the secure computation apparatuses 2.sub.1, . . . , 2.sub.K and obtains the PageRank PR.sub.i of the transaction entity i.
[0035] In step S15, the convergence determining unit 15 of the data source apparatus 1.sub.1 determines whether or not the PageRank PR.sub.i of the transaction entity i has converged. The determination as to whether or not convergence has occurred may be made by comparing a difference between the PageRank before the computation and the PageRank after the computation with a predetermined threshold. When the convergence determining unit 15 determines that the PageRanks of all the computational objective transaction entities have converged, the processing is completed. When it is determined that the PageRank of any of the computational objective transaction entity has not converged, the calculated PageRank PR.sub.i is encrypted and a ciphertext [PR.sub.i] thereof is transmitted to each of the secure computation apparatuses 2.sub.1, . . . , 2.sub.K.
[0036] In step S24, when the PageRank updating unit 25 of each secure computation apparatus 2.sub.k receives the ciphertext [PR.sub.i] of the calculated PageRank PR.sub.i from the data source apparatus 11 serving as a computation request apparatus, the PageRank updating unit 25 updates the ciphertext [PR.sub.i] of the PageRank PR.sub.i stored in the PageRank storage 10 with the ciphertext of the PageRank. Subsequently, the processing returns to step S22. Accordingly, the computation of PageRank and the convergence determination are executed once again.
[0037] [First Modification]
[0038] The secure PageRank computation system 100 according to the embodiment is configured such that any one of the plurality of data source apparatuses 1.sub.n plays a role of a computation request apparatus. However, a computation request apparatus may be configured as a single apparatus other than the data source apparatuses 1.sub.n. In this case, the secure PageRank computation system 100 further includes the computation request apparatus 3 represented by a dashed line in
[0039] [Second Modification]
[0040] The secure PageRank computation system 100 according to the embodiment is configured such that a weight ?.sub.n is set to the data source apparatus 1.sub.n in advance and the transaction rate transmitting unit 13 calculates a product of a transaction rate k.sup.n.sub.j.fwdarw.i and the weight ?.sub.n. However, weights ?.sub.1, . . . , ?.sub.N may be set to the secure computation apparatuses 2.sub.1, . . . , 2.sub.K in advance instead of the data source apparatus 1.sub.n. In this case, the transaction rate transmitting unit 13 of the data source apparatus 1.sub.n transmits a ciphertext [k.sup.n.sub.j.fwdarw.i] of the transaction rate k.sup.n.sub.j.fwdarw.i to each of the secure computation apparatuses 2.sub.1, . . . , 2.sub.K. The PageRank calculating unit 22 of each of the secure computation apparatuses 2.sub.1, . . . , 2.sub.K securely calculates a PageRank formula after multiplying the ciphertext [k.sup.n.sub.j.fwdarw.i] of the transaction rate k.sup.n.sub.j.fwdarw.i received from the data source apparatus 1.sub.n by the weight ?.sub.n by a secure computation.
[0041] [Third Modification]
[0042] The secure PageRank computation system 100 according to the embodiment is configured such that, when the convergence determining unit 15 of the data source apparatus 1.sub.1 serving as a computation request apparatus determines that PageRank of any of the computational objective transaction entity has not converged, a ciphertext [PR.sub.i] of a calculated PageRank PR.sub.i is transmitted to each of the secure computation apparatuses 2.sub.1, . . . , 2.sub.K, and the PageRank updating unit 25 of each of the secure computation apparatuses 2.sub.k updates the ciphertext [PR.sub.i] of the PageRank PR.sub.i stored in the PageRank storage 10 with the ciphertext [PR.sub.i] of the received PageRank PR.sub.i. However, a configuration may be adopted in which, when the convergence determining unit 15 of the data source apparatus 1.sub.1 determines that PageRank of any of the computational objective transaction entity has not converged, only a signal instructing a continuation of computation is transmitted to each of the secure computation apparatuses 2.sub.1, . . . , 2.sub.K, and the PageRank updating unit 25 of each secure computation apparatus 2.sub.k updates, when receiving the signal instructing the continuation of computation, the ciphertext [PR.sub.i] of the PageRank PR.sub.i stored in the PageRank storage 10 with the ciphertext [PR.sub.i] of the PageRank PR.sub.i calculated by the PageRank calculating unit 22.
First Example
[0043] The first example is an example in which the secure PageRank computation system according to the embodiment is applied to credit determination at a bank. As shown in
[0044] The bank A requests the secure computation system to calculate PageRank of a client enterprise for credit determination. In other words, the bank A corresponds to a computation requesting apparatus. Priory, the bank B registers an initial value of the PageRank of each enterprise to the secure computation system (step 0). In other other words, the bank B corresponds to an initializing apparatus. The bank B randomly generates the initial value of the PageRank, encrypts the random value by secret sharing, and registers a shared value to the secure computation system. The reason why the bank B which does not make a computation request registers the initial value of the PageRank is to prevent transaction-related information held by the bank B from leaking to the bank A which makes a computation request.
[0045] The bank A and the bank B aggregate the amount of money transferred for each combination of enterprises from the transaction history held by themselves, and obtain a rate occupied in the entire transaction history (hereinafter referred to as a transfer amount ratio). The bank A and the bank B encrypt the obtained transfer amount ratio by secret sharing, and register a shared value to the secure computation system (step 1). The bank B may execute step 0 and step 1 at the same time, namely, the bank B may register the shared value of the transfer amount ratio and the shared value of the initial value of the PageRank to the secure computation system at the same time.
[0046] In response to a computation request from the bank A, the secure computation system securely calculates PageRank for each enterprise by using the registered shared value of the transfer amount ratio and the registered shared value of the PageRank (step 2). The secure computation system transmits the calculated shared value of the PageRank of each enterprise to the bank A having made the computation request.
[0047] The bank A restores the shared value of the PageRank of each enterprise received from the secure computation system and obtains plaintext PageRank. In addition, the bank A determines whether or not the obtained PageRanks have converged. When the bank A determines that the PageRank of each enterprise has not converged, the bank A transmits the shared value of the PageRank to the secure computation system. The secure computation system updates the stored shared value of the PageRank of each enterprise with the received shared value of the PageRank of each enterprise (step 3), and calculates the PageRank once again (step 2). When it is determined that the PageRank of each enterprise has converged, the bank A uses the converged PageRank to determine the credit of the enterprise.
Second Example
[0048] The second example is an example which applies the secure PageRank computation system according to the first modification to provide a credit result for an external organization. The external organization requests computation of PageRank in order to perform credit determination when performing a new transaction with an enterprise included in the transaction history of each bank. As shown in
[0049] While embodiments of the present invention have been described above, it is needless to say that specific configurations are not limited to the embodiments and that appropriate modifications of design and the like made without departing from the spirit of the invention are also included in the invention. Various steps of processing described in the embodiments are not limited to being executed in time series in the order described and may be executed in parallel or individually either in accordance with the processing capability of an apparatus that executes the processing or as necessary.
[0050] [Program and Recording Medium]
[0051] When various processing functions of each apparatus described in the above embodiment are to be realized by a computer, processing contents of the functions to be provided in each apparatus are described by a program. In addition, the various processing functions of each apparatus described above are realized on a computer shown in
[0052] The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include non-transitory recording media such as a magnetic recording apparatus or an optical disk.
[0053] In addition, the program is distributed by, for example, sales, transfer, or rent of a portable recording medium such as a DVD or a CD-ROM on which the program is recorded. Furthermore, the program may be distributed by storing the program in advance in a storage apparatus of a server computer and transferring the program from the server computer to another computer via a network.
[0054] A computer executing such a program first temporarily stores, for example, the program recorded on a portable recording medium or the program transferred from a server computer in its own auxiliary storage 1050 which is a non-temporary storage apparatus. When executing processing, the computer loads the program stored in its own auxiliary recording unit 1050 which is a non-temporary storage apparatus into a memory 1020 which is a temporary storage apparatus, and executes processing in accordance with the loaded program. As another mode of execution of the program, the computer may directly load the program from the portable recording medium and execute processing in accordance with the program and, furthermore, every time the program is transferred from the server computer to the computer, the computer may sequentially execute processing in accordance with the received program. Alternatively, a configuration may be adopted in which the processing described above is executed by a so-called ASP (Application Service Provider)-type service in which the program is not transferred from a server computer to the computer and processing functions are solely realized by an execution instruction and acquisition of a result of the program. It is assumed that the program described herein includes information which is supplied for processing by an electronic computer and which is equivalent to a program (data or the like which is not a direct command to the computer but has a property of specifying processing to be carried out by the computer).
[0055] In addition, while the apparatus is configured by executing a predetermined program on a computer in the above description, at least a part of the processing contents may be implemented by hardware.