WO2023276740A1 - 第三者装置、秘匿計算システム、及びプログラム - Google Patents

第三者装置、秘匿計算システム、及びプログラム Download PDF

Info

Publication number
WO2023276740A1
WO2023276740A1 PCT/JP2022/024419 JP2022024419W WO2023276740A1 WO 2023276740 A1 WO2023276740 A1 WO 2023276740A1 JP 2022024419 W JP2022024419 W JP 2022024419W WO 2023276740 A1 WO2023276740 A1 WO 2023276740A1
Authority
WO
WIPO (PCT)
Prior art keywords
random number
ttp
party device
information
party
Prior art date
Application number
PCT/JP2022/024419
Other languages
English (en)
French (fr)
Inventor
惠市 岩村
Original Assignee
学校法人東京理科大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 学校法人東京理科大学 filed Critical 学校法人東京理科大学
Publication of WO2023276740A1 publication Critical patent/WO2023276740A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system

Definitions

  • the disclosed technology relates to third-party devices, secure computing systems, and programs.
  • Confidential computation technology can be roughly divided into homomorphic encryption, which mainly uses keys to keep data confidential, and secure computation using secret sharing, which conceals data without using keys.
  • homomorphic encryption generally requires a large amount of calculation, and there is a problem that it takes a lot of time for arithmetic processing. Therefore, for application to cloud systems, an approach of using a secret sharing scheme with a light computational load rather than a homomorphic encryption with a heavy computational load is being considered.
  • the secret sharing method is a method of converting one piece of secret information into a plurality of different values (hereinafter referred to as distributed values) and distributing them to a plurality of servers.
  • Shamir's (k, n) threshold secret sharing method (see Non-Patent Document 1), which is one of the secret sharing methods, converts one secret information into n distributed values and distributes them to n servers.
  • a feature of Shamir's secret sharing method is that if k distributed values are collected from n distributed values, the original secret information can be restored. You cannot get any information.
  • Shamir's (k, n) threshold secret sharing method is described as (k, n) Shamir.
  • Non-Patent Literature 1 Shamir A.: "How to share a secret", Communications of the ACM, Vol. 22, Issue 11, pp. 612-613. ACM, New York, NY, USA. (1979)
  • Shamir does not leak any information related to secret information from less than k distributed values. In other words, if an attacker can collect k distributed values from n distributed values, the secret information is leaked.
  • An object of the disclosed technology is to obtain a third-party device, a secure computing system, and a program that constitute a secure computing system that can show the security of a secure computing system related to a secure computing method using secret sharing to a user.
  • a third-party device distributes secret information to k or more distributed values, where n is the number of servers that store distributed values, and k is a threshold value for restoring secret information.
  • a concealment unit that conceals the distributed value of the conversion random number, and an erasing unit that erases information related to generation of the random number for conversion after concealing the distributed value of the random number for conversion. , may be provided.
  • the third-party device disperses the secret information into k or more distributed values, where n is the number of servers that store the distributed values, and k is the threshold value for restoring the secret information.
  • a third-party device in a secure computing system a first computing unit that computes information necessary to realize secure computation in n ⁇ k without using confidential information; a transmitting unit for secret-sharing and transmitting the random number to the n computing devices.
  • the third-party device includes a random number acquisition unit that obtains a second random number determined for each of the n computing devices, wherein the first computing unit obtains each variance value of the transformation random numbers is multiplied by the second random number, and the conversion random number may be a third random number.
  • a third-party device comprising: a second calculation unit that calculates the random number for conversion; and a third calculation unit that calculates an auxiliary random number required for confidential calculation other than the random number for conversion.
  • a second calculation unit that calculates the random number for conversion
  • a third calculation unit that calculates an auxiliary random number required for confidential calculation other than the random number for conversion.
  • a first erasing unit for erasing information related to conversion random number generation after concealing the conversion random number and erasing information related to auxiliary random number generation after concealing the auxiliary random number and a second erasing section for erasing.
  • a secure computing system is a secure computing system including a plurality of third-party devices according to the first or second aspect, wherein the third-party devices secret-share a random number for conversion.
  • a multiplication unit that separately multiplies a second random number and a third random number to the variance value from the unit, and a multiplication unit that separately multiplies the variance value by the second random number and the third random number so that the variance values of the multiplication results are the same.
  • a transmission unit that transmits a number of variance values not exceeding k to the three or more third party devices by changing combinations so as not to use variance values.
  • a program according to the fifth aspect is a program for causing a computer to function as each part of the third party device according to the first aspect or the second aspect.
  • the disclosed technique has the effect of being able to show the user the security of a secure computation system related to a secure computation method using secret sharing.
  • FIG. 1 is a configuration diagram of a secure computing system;
  • FIG. It is a figure which shows the hardware constitutions of a third party apparatus. It is a figure which shows the function structure of a third party apparatus.
  • 4 is a flowchart of TTP processing 1; 6 is a flowchart of TTP processing 2; 10 is a flowchart of TTP processing 2'. 10 is a flowchart of TTP processing 3; 10 is a flowchart of TTP processing 4;
  • the SPDZ2 method requires a distributed value of random numbers called Multiplication Triple, and the TUS method requires each server to have a set of random numbers for conversion, which will be described later, calculated in advance. have limitations.
  • the Multiplication Triple is calculated by homomorphic encryption, but in the TUS method, the random number set for conversion is only indicated as a prerequisite. Moreover, even if the Multiplication Triple and the random number for conversion are generated by a trusted third party (Trusted Third Party: hereinafter referred to as TTP), the functions and features that the TTP should have have not been clarified at all. In addition, TTP is only considered to be safe, and no specific countermeasures against TTP attacks have been considered at all.
  • TTP Trusted Third Party
  • the functions and characteristics that TTP should have are clarified, and the TTP generates the SPDZ2 method Multiplication Triple and the TUS method random number set for conversion, including countermeasures when TTP is attacked.
  • a calculation system will be described.
  • the configuration and management of a group of servers, which generally perform secure computation, is left to the user, and the TTP is not involved. Therefore, the TTP can be exempted from responsibility for confidential information leakage.
  • TTP provides support regarding the configuration and management of the user's server group (for example, advice on the user's server that does not satisfy security, sales of security software, etc.). It is also possible to
  • Non-Patent Document 2 Damgard I., Keller M., Larraia E., Pastro V., Scholl P., Smart N.P.: “Practical covertly secure MPC for dishonest majority - Or: Breaking the SPDZ Limits.”
  • Non-Patent Literature 3 Kyohei Tokita, Keiichi Iwamura: “High-speed secret computation method using secret sharing method that can be executed even if secret information contains 0 at n ⁇ 2k-1.” IEEJ Transactions C, Vol. 138 , No. 12. (2018)
  • the secure computing system 10 has a configuration in which a third party device TTP, a user device US, and a plurality of servers S are connected by a network N. As shown in FIG. In some cases, a plurality of third party devices TTP and user devices US may exist.
  • the secure computation system 10 is a system for performing secure computation by distributing the secret information into k or more distributed values, where n is the number of servers that store the distributed values, and k is the threshold value for restoring the secret information.
  • random numbers are basically random numbers that have information-theoretically secure against physical noise and the like (hereinafter referred to as physical random numbers), as will be described later.
  • Physical random numbers are generated from physical noise such as thermal noise and nuclear decay.
  • the third party device TTP has a random number processing device RS shown in FIG. 3 in addition to the common part described later.
  • the random number processing device RS includes a physical random number generation unit 201, a conversion random number calculation unit 202, a concealment unit 203 for encrypting conversion random numbers, a history recording unit 204, an erasure It is composed of a portion 205 and a connection portion 206 .
  • the common part in the third party device TTP and the random number processing device RS are usually separated, and the random number processing device RS is isolated from inside and outside. After the encryption is completed, the processing history is recorded, and other information is erased, it is connected to the common part, and the encrypted conversion random numbers and the like are sent to each server via the common part.
  • the third party device TTP When a physical random number is sent from the outside, the third party device TTP does not have the physical random number generation unit 201, and after receiving the random number from the outside into the random number processing device RS via the connection unit 206, The connection is cut off, the encryption is decrypted, the random number for conversion is calculated and encrypted, the processing history is recorded, and other information is erased.
  • the user device US and the plurality of servers S have the same configuration as the common part of the third party device TTP, and the configuration will be described below. However, if the random number processing device RS includes common functions and the connection with the outside including the Internet can be controlled by the connection unit 206, the third party device TTP may be only the random number processing device RS.
  • Fig. 2 shows the hardware configuration of the common part of the third party device TTP.
  • the third party device TTP is configured by connecting a CPU 21, a ROM 22, a RAM 23, a memory 24, an input device 25, a transmission/reception device 26, and a display device 27 to each other via a bus 28.
  • the memory 24 stores various programs such as TTP processes 1 to 4, which will be described later.
  • Fig. 3 shows the functional configuration of the random number processing device RS of the third party device TTP.
  • the random number processing device RS includes a physical random number generator 201 , a calculator 202 , a concealer 203 , a history recorder 204 , an eraser 205 and a connector 206 .
  • the random number processing device RS does not have the physical random number generator 201 .
  • the physical random number generator 201 generates physical random numbers with information-theoretic security from physical noise such as thermal noise and nuclear decay.
  • the concealment unit 203 conceals the distributed value of the conversion random number using Vernam cipher or the like.
  • the history recording unit 204 records the history of processing performed by the third party device TTP and access to the random number processing device RS from inside and outside.
  • the erasing unit 205 erases the information related to the generation of the random number for conversion after concealing the variance of the random number for conversion.
  • the connecting unit 206 is connected to the common part after the erasing by the erasing unit 205 is completed, passes the encrypted random number for conversion to the common part, and cuts off the connection again. Also, when a random number is sent from the outside, a connection is made when it is taken in, and then the common part is cut off.
  • communication-related processing are omitted because they are complicated. Assume that at 206 it connects to the common and transmits over the common. However, when the connection unit 206 directly communicates with the outside, it can be performed without using the common part.
  • the third party device TTP may be simply referred to as TTP.
  • the TUS4 system which is the basic form of the TUS system, will be described below.
  • any (a 1 a 2 . . . am ) is (a 1 +1 ), (a 2 +1 ), . can be calculated using ... (1) ... (2)
  • a 1 a 2 a 3 is a 1,1 a 2,1 a 3,1
  • a 1 a 2 a 3 a 4 is a As 1,2 a 2,2 a 3,2 a 4,2 we can calculate: a 1,1 a 2,1 a 3,1 +a 1,2 a 2,2 a 3,2 a 4,2
  • the dealer D generates k random numbers b ( 1 , i), 0 , b (1, i), 1 , . . . generate b (1,i),k ⁇ 1 , and send b (1,i),j to server Sj.
  • Dealer D performs the same processing as in (1) above for a 2,i and a 3,i .
  • Server S j generates a random number d j , calculates the following values, and sends it to one server (here, server S 0 ). However, when n>k, the server S j secret-shares the random number d j .
  • All servers S j calculate and store the following values.
  • b g,i (a g,i +1) will be referred to as anonymized secret information.
  • a restorer selects from k servers S j collect is restored, and the calculation result is obtained by the following formula get However, if n>k, d j is distributed in (4) of [precomputation] restored from
  • dealer D may be user U g,i or TTP.
  • dealer D is user U g,i . Therefore, the user U g,i performs the processing of (1) of [pre-computation] and the processing of [confidential information concealment] for his/her confidential information a g,i using the user device US as a concealment device.
  • the remaining [pre-calculation] and [secret calculation] are performed by the server S as k computing devices, and [restoration processing] is performed by the user device US as a restoration device.
  • the TTP generates a conversion random number set prepared in advance in the server. Processing for executing the TUS4 method in such a system configuration will be described below.
  • the representative gathers users participating in secure computation (hereafter referred to as participants), collects information such as their addresses and PC (personal computer) environment, etc., attaches such information to the TTP, and supports secure computation. request and contract. This is called the 0th stage.
  • the TTP provides advice on an environment in which secure computation can be performed, including advice on security software for maintaining safety in the participant's PC environment and advice on PC specs and the like.
  • TTP explains to participants the security of the secure calculation algorithm to be executed, and asks each user to introduce a library, etc., or creates secure calculation software for required calculations upon request, and the representative Purchase and have all participants install the confidential calculation software.
  • the participant corresponds to the user U g,i of the TUS4 system
  • the representative corresponds to the user U g ,i of the TUS4 system or the restorer.
  • PCs of all the participants are used as the server S that performs the secure calculation.
  • TTP shares random numbers, which are cryptographic keys that achieve information-theoretical security, for subsequent communications with participants.
  • random numbers are physical random numbers such as thermal noise or physical noise that are unpredictable even with infinite computing power and have information-theoretic security.
  • the random number used as the key for the Vernam cipher can be shared by quantum cryptography, etc., but the TTP generates the above physical random number for each participant, stores it in a recording medium such as USB (Universal Serial Bus), etc., and mails it with identity verification. and so on.
  • a participant may perform Vernam-encryption of the random number generated by himself/herself using the sent key, send it to the TTP, and add it to the mutually determined random number part.
  • each participant shares a cryptographic key that achieves information-theoretical security for securely communicating between servers in some way.
  • AES Advanced Encryption Standard
  • key sharing is also public.
  • a hybrid system or the like combined with a key cryptographic technique can be adopted.
  • random numbers that are computationally safe can be used in subsequent processes. These processes are called the first stage.
  • the TTP generates and deletes the conversion random number set required for confidential calculation by the following [TTP process 1]. Henceforth, unless otherwise specified, the Vernam cipher with a shared key will be used for encryption. These processes are called the second stage.
  • the TTP process 1 executed by the third party device TTP will be described below with reference to the flowchart of FIG.
  • the TTP process 1 is executed by the CPU 21 reading a program stored in the memory 24 .
  • the third party device TTP acquires random numbers ⁇ 0 , . . . , ⁇ k ⁇ 1 as k first random numbers. For example, when sent from outside (k servers, etc.), each server uses a random number shared with the TTP, Vernam-encrypts the random number, sends it, and the TTP decrypts it to obtain the first random number. If the TTP generates a random number, it obtains the first random number from the physical random number generator 201).
  • the third party device TTP in the calculation unit 202, uses k first random numbers as a transformation random number. is calculated and the secret is shared, and immediately after ([ ⁇ ] j , ⁇ j ) is encrypted in the concealment unit 203, that is, after concealment, the encrypted information is removed. All information, that is, information related to conversion random number generation, is erased by the erasing unit 205 except for history information, which will be described later.
  • the third party device TTP has the processing history of (S1) to (S3) (random number acquisition history, random number multiplication history, multiplication result secret sharing history, shared value encryption history, information erasure history, and transfer history of encrypted information, etc.) and the history of internal and external access during processing to the server that performed the processing and the random number processing device RS are stored in the history recording unit 204 as history information.
  • the third party device TTP may have Further, when the third party device TTP generates the random number of the above (S1), the third party device TTP blocks access from inside and outside at least before the processing of (S1) above, and After all the information calculated in the above (S2) is erased, the access may be restored and the access interruption and recovery history may be added as the processing history. In addition, encrypted after sending in the above (S3) can also be deleted.
  • the physical random number generation unit 201 When the TTP generates physical random numbers, the physical random number generation unit 201 is isolated from the inside and outside, so the TTP cannot know the random numbers for conversion. Even if the physical random number is sent from the outside, the TTP cannot know the physical random number because the encryption is restored in the isolated random number processor RS. In addition, since the communication between servers is encrypted with a key defined between the servers, the TTP cannot know any more information. Therefore, even if a certain participant in the secure computation leaks the secret information intentionally or carelessly and claims that it is due to the secure computation, the TTP can prevent unauthorized access to the random number processor RS by the processing history. If it can be proved that there is no such thing and secure communication is being performed between servers, we cannot know it, so we are not responsible for information leakage. However, in this case, it is possible that there was a problem with the configuration and security of the PC advised by TTP, but the final decision and operation regarding the execution of confidential calculations is left to the representative, so the representative is responsible. can also be avoided
  • TTPs are operated by private companies in the same way as CAs in public key cryptography, and there can be multiple TTPs.
  • the TTP discloses the number of confidential calculations it has supported and its achievements so that representatives can choose it, but as will be described later, the history of clear fraud is also disclosed. If obvious fraud is made public, the representative will no longer be selected and may be subject to penalties, which will be described later. Therefore, TTP can basically claim the safety of not committing fraud.
  • TTP is a private company, it is a specialized security agency. All the information about the conversion random number set except for the encryption result is erased, and only the history is left. Therefore, an attacker needs to leak the random number set for conversion from the isolated random number processing device RS in the high security environment of TTP, and it can be said that an attack from the outside is extremely difficult.
  • TTP is positioned similar to CA (Certificate Authority), but CA is related to public key cryptography with computational security, and confidentiality using a secret sharing method that achieves information-theoretic security. Calculations cannot be supported. Also, the CA only needs to give the public key certificate to the user, and no work occurs each time the user uses the public key. On the other hand, in the TTP according to the present embodiment, it is necessary to generate and distribute random numbers for conversion each time the user performs secure calculation, and the processing is completely different.
  • TTP can benefit from the first to third stages of work. These three tasks can be handled by the same TTP, or by different TTPs.
  • the TUS4 scheme shown as an example is a secure calculation method assuming a semi-honest attacker, but a TUS5 scheme assuming a malicious attacker has also been proposed (see Non-Patent Document 4).
  • a TUS4' method (see Non-Patent Document 5) has also been proposed assuming a case where calculations are repeated, and arbitrary four arithmetic operations can be calculated confidentially by combining them.
  • both the TUS5 system and the TUS4' system are implemented using a conversion random number set. Therefore, TTP process 1 is also effective for the TUS4' and TUS5 systems.
  • TTP secret-shares ⁇ 0 and ⁇ 1 in [Generation of random number pairs for transformation] as a and b, and sends [ ⁇ ] j corresponding to the shared value of c to server S j . good. Therefore, the preprocessing of the SPDZ can also be handled by the above TTP processing.
  • the user's PC is used, but the representative may contract with a company that conducts business on the server group and perform confidential calculation using the TUS4 method.
  • the participant's PC since the participant's PC is not used, the participant's PC information in the 0th step is unnecessary.
  • cryptographic communication is performed between servers to perform confidential calculations, the participants cannot be involved, and even if some of the participants collude with the TTP, confidential information will not be leaked.
  • participants and restorers may register passwords with sufficient security in stage 0, and access to the system may be verified by password authentication. Authentication can also be performed using exchanged random numbers, as is the case with TTP.
  • Non-Patent Document 4 Shogo Ochiai and Keiichi Iwamura New Approach to Dishonest-Majority Secure Multiparty Computation for Malicious Adversaries when n ⁇ 2k - 1, CANDAR2020(The Eighth International Symposium on Computing and Networking, WICS1, 50
  • Non-Patent Literature 5 Keiichi Iwamura, Arabic Kamal Ahmad Akmal Aminuddin, Masashi Yamane: “High-speed concealment calculation method using secret sharing method with input of secret information concealed by random numbers”, SCIS2020, 2C4-4
  • the TTP if the TTP is valid, access can be blocked, and extremely high security can be achieved. However, if a malicious TTP and some of the participants or a part of the server group collude with each other for the sole purpose of leaking confidential information, the confidential information will be leaked.
  • a second embodiment capable of reducing the risk will be described.
  • Non-Patent Document 6 a method using Recombination Vector (see Non-Patent Document 6) will be described below as an example of a method that can change the degree of a polynomial used in the second embodiment.
  • Recombination Vector there are methods described in Non-Patent Documents 7 and 8, etc., and various known methods may be applied as long as they can realize the above functions.
  • ab is the constant term of f(x) and g(x), that is, the product of secret information.
  • A is a (2k ⁇ 2) ⁇ (2k ⁇ 2) matrix consisting of exponentiations of x values that satisfy the following equation.
  • the processing performed by the third party device TTP is shown below.
  • the representative selects three third-party devices TTPs (hereinafter referred to as TTPs 1 to 3), and makes a contract for the 0th stage shown in the first embodiment for each TTP. It is assumed that the third party devices TTP1 to TTP3 have already shared a key.
  • TTP process 2 executed by TTPs 1 to 3 will be described below with reference to the flowchart of FIG. For simplicity, the case where TTP generates physical random numbers is shown below. When the physical random number is sent from the outside, the processing in the physical random number generator 201 below is omitted.
  • TTP i sends the encrypted value corresponding to server S j to server S j and also saves its transfer history.
  • each device except for the TTP performs secure calculations according to the TUS4 method.
  • TTP1, 2 and 3 have the following by the above (S21) and (S22).
  • TTP1 [ ⁇ 1 ] 1
  • TTP2 [ ⁇ 1 ] 2
  • TTP3 [ ⁇ 1 ] 3
  • TTP1 a 1 [[ ⁇ 1 ] 1 , [ ⁇ 2 ] 1 ] 1 ⁇ S 0 , a 1 [[ ⁇ 1 ] 1 , [ ⁇ 2 ] 1 ] 2 ⁇ S 1
  • TTP2 a 2 [[ ⁇ 1 ] 2 , [ ⁇ 2 ] 1 ] 1 ⁇ S 0 , a 1 [[ ⁇ 1 ] 2 , [ ⁇ 2 ] 2 ] 2 ⁇ S 1
  • TTP3 a 3 [[ ⁇ 1 ] 2 , [ ⁇ 2 ] 3 ] 1 ⁇ S 0 ,a 1 [[ ⁇ 1 ] 2 ,[ ⁇ 2 ] 3 ] 2 ⁇ S 1
  • Servers S 0 and S 1 compute the following values to obtain [ ⁇ ] j .
  • TTP i assumes that a is secret-shared by a+r i x.
  • f(x) is a dispersion formula for secret information ⁇ 1
  • g(x) is a dispersion formula for secret information ⁇ 2
  • [ ⁇ 1 ] 1 [ ⁇ 2 ] 1 is h It corresponds to (1).
  • [[ ⁇ 1 ] 1 , [ ⁇ 2 ] 1 ] 1 h(1)+r i .
  • r a 1 r 1 +2a 2 r 2 +3a 3 r 3 .
  • the second embodiment does not leak confidential information at all due to collusion between one TTP and some of the participants. Two TTPs need to collude to leak confidential information. However, as mentioned above, the risk is great when one TTP approaches another TTP of the representative's choice for collusion. Therefore, if the representative can select at least two valid TTPs, fraud will always be discovered even if the remaining TTPs offer fraud.
  • TTP1 Encrypting with the shared key and erasing ⁇ 1 to regain access, TTP1 sends each encrypted variance to TTP2, TTP3. After the transmission/reception, the access is cut off again, the above processing (S23) is performed, and the access is restored again and the above processing (4) is performed, so that TTP1 can prove that there is no information leakage.
  • the server S i is calculated, and the variance value sent in the above processing (S23') is added to obtain [ ⁇ ] i , and ([ ⁇ ] i , ⁇ i ) is saved as a random number for conversion.
  • each device except the TTP performs secure computation by the TUS4 method.
  • Each TTP computes the following values to obtain [ ⁇ ] j .
  • TTPs 1, 2 and 3 perform the above (S21′) and (S22′) processes on different random numbers ⁇ 1 and ⁇ 2 and also store the following.
  • TTPs 1, 2, and 3 repeat the above processing (S22′) with ⁇ as ⁇ 1 and ⁇ as ⁇ 2 , and finally perform the above processing (S24) of TTP processing 2, and divide the synthesized variance value into k send to server.
  • the third party device TTP multiplied the Recombination Vector and sent it to each server S, but the third party device TTP secret-shared the product of the shared values and sent it to each server S, The server S may multiply the Recombination Vector.
  • the second embodiment is also effective against a combination of the TUS5 and TUS4' schemes, etc., assuming malicious attackers, and it is clear that it is also effective against the SPDZ.
  • the processing of the first stage is performed by one third-party device TTP
  • the processing other than the exchange of random numbers need not be performed by other third-party devices TTP. The same applies to the case where the same server group performs secure computation.
  • Non-Patent Document 6 Cramer R., Damgard I., Nielsen J., 2015. Secure multiparty computation and secret sharing. Cambridge University Press, 1st edition.
  • Non-Patent Document 7 Ben-Or M., Goldwasser S., Wigderson A.: “Completeness theorems for non-cryptographic fault-tolerant distributed computation.” In Proceedings of the 20th Annual ACM Symposium on Theory of Computing (STOC1988). pp. 1-10. ACM, New York, NY, USA (1988)
  • Non-Patent Document 8 R. Gennaro, M. O. Rabin, and T. Rabin: “Simplified VSS and fast-track multiparty computations with applications to threshold cryptography”, In Brian A. Coen and Yehuda Afek, editors, PODC, pp.101-111, ACM (1998)
  • the representative selects a group of servers that perform TTP and secure computation.
  • the TUS6 system which will be described later, is used instead of the TUS4 system, and the third party device TTP generates the following random numbers for conversion and the like.
  • ⁇ j for each server S. may be determined. Processing performed by the third party device TTP using ⁇ j [ ⁇ ] j as a conversion random number will be described below with reference to the flowchart of FIG. 7 .
  • TTP process 3 For simplicity, the case where TTP generates physical random numbers is shown below. When the physical random number is sent from the outside, the processing in the physical random number generator 201 below is omitted.
  • the third party device TTP obtains k random numbers ⁇ 0 , .
  • the third party device TTP generates random numbers b 1,i , b 2,i , and b 3,i in the physical random number generation unit 201, calculates the following auxiliary random number group in the calculation unit 202, Encrypt b g,i at 203 .
  • the third party device TTP leaves the information to be transmitted in (S35) below, records all processing histories related to (S31) to (S33) above in the history recording unit 204, and deletes them in the erasing unit 205, which will be described later. Delete all except history information and transmission information.
  • the third party device TTP collects the processing history of (S31) to (S35), the access history from the inside and the outside during processing to the server S that performed the processing, and the above (S31) to (S35). ) information transfer history, etc. Further, when the third-party device TTP generates physical random numbers as in the first embodiment, the physical random number generation unit 201 is isolated from others, and after obtaining the encrypted conversion random numbers and ⁇ i You may make it connect inside and outside by .
  • the server S j may also calculate an auxiliary random number group similarly to (2) of [pre-computation], send it to all servers S, and send b g,i to user U g,i .
  • each server S multiplies each of the sent auxiliary random number groups to obtain a new auxiliary random number group
  • the user U g,i also multiplies the sent b g,i to obtain a new b g,i may be
  • the user U g,i may determine a random number b g,i and send it to the third party apparatus TTP or each server S. After transmission, the information in (S35) may be erased.
  • the TUS6 method in which secure computation is performed after the above processing, is shown below.
  • TTP performs [TTP process 3] and generates the required number of conversion random number sets. to server Sj .
  • TTP generates random numbers b 1, i b 2, i b 3, i , computes 3).
  • TTP also deletes the random number generated in (2) after transmission.
  • the server S j also performs the same processing as in (2), all servers multiply the values generated in (2) to calculate new values shown in (2), and the user U g,i may be multiplied by bg ,i sent from each server to obtain a new bg,i .
  • the random number b g,i may be determined by the user U g,i and sent to the TTP or each server.
  • a restorer selects from k servers S j and divide by ⁇ j and d respectively, and restore the operation result get
  • processing is performed by one third party device TTP. Therefore, when the third party device TTP generates a random number, the above (S31) to the above (S34 ) is completely erased, and the security of TTP processing can be shown by blocking access to the processing unit from inside and outside and leaving it as a processing history.
  • the secret calculation used in the TUS6 system multiplies the distributed value for one piece of secret information by different random numbers, even if all the distributed values are collected, the secret information cannot be obtained. Therefore, even if all the servers that perform confidential calculations collude, if the restorer manages the random numbers ⁇ i and d safely and the third party device TTP is secure as described above, confidential information will not be leaked.
  • the restorer uses password-attached secret sharing (see Non-Patent Document 9) so that the random numbers ⁇ i and d cannot be synthesized unless all the third-party devices TTP and all the participants collude. Decentralize and manage passwords securely.
  • the third party device TTP generates the random numbers ⁇ i ,d
  • the random numbers ⁇ i,j ,d are secret-shared with a password to all the third party devices TTP and the participants, and only to the restorer. If the password is given, only the restorer can obtain the random numbers ⁇ i and d. Also, the restorer can safely manage a plurality of ⁇ i,j and d with one password.
  • the business by the server group can also be effective. That is, in the third embodiment, information leakage does not occur even if all of the servers performing confidential calculation collude. Therefore, even if a user claims that information has leaked from the server group performing confidential calculation, it can be denied. will not be held responsible for information leakage.
  • the business by the TTP and the business by the server group can be compatible. In this case, in addition to the TTP, the representative selects a company that does business with the server group and does not use the user's PC.
  • the participant secretly inputs the secret information to the server group, even if he or she colludes with the TTP, the participant cannot use his/her own PC, so he/she knows the information encrypted and exchanged between the server groups. It is not possible. Therefore, even if a participant colludes with the TTP, he cannot obtain information on other participants. If the restorer is the representative, the representative is responsible for the confidential calculation, so if the information is leaked, the representative bears great responsibility. From now on, it will be difficult to request confidential calculations as a representative. Therefore, if a restorer safely manages the password for restoring the random number ⁇ i and the independence of the TTP and the server group is maintained, a secure secure computing system can be constructed.
  • the TUS6 method is effective against semi-honest attackers, but the secure calculation method TUS7 method, which is safe against malicious attackers, is shown below.
  • the TUS6 and TUS7 methods can implement extensions corresponding to the TUS4′ method used when repeating operations. Therefore, by combining the TUS7 method and the TUS7' method, it is possible to construct a safe system against malicious attackers.
  • a certain value is unidirectionally disclosed by using a hash function or the like, and in the verification phase, the value obtained by confidential calculation is input again to the hash function to verify matching.
  • the third party device TTP performs the above [TTP process 3] and sends the required number of random numbers for conversion ⁇ q,j [ ⁇ ] j to the server S j .
  • the third party device TTP generates random numbers ⁇ i , ⁇ i , ⁇ i , ⁇ i , ⁇ i , calculates the following, and sends them to all servers.
  • the third party device TTP sends ⁇ 2 ⁇ 1 , ⁇ 5 ⁇ 4 , ⁇ 2 ⁇ 1 , ⁇ 5 ⁇ 4 to all inputters, ⁇ 1,j , ⁇ 2,j , ⁇ 3,j , ⁇ 4,j , ⁇ 0 , ⁇ 2 , ⁇ 3 , ⁇ 5,j to the restorer.
  • the third party device TTP commits ⁇ 1 , ⁇ 4 , ⁇ 1 , ⁇ 4 , ⁇ 1 , ⁇ 4 .
  • Input person A calculates a+A 1 and a+A 2 and sends them to input persons B and C.
  • Input person A restores a 2 (a+a 1 ) and a 5 (a+a 4 ) and sends them to all servers.
  • Each server S j holds a 0 a 1 , a 2 (a+a 1 ), a 3 a 4 , a 5 (a+a 4 ) as distributed values for the secret information a.
  • Input persons B and C perform the above processes (1) to (4) in the same manner as input person A.
  • the restorer uses ⁇ 1,j and ⁇ 2,j to restore ⁇ 0 d 1 and ⁇ 3 d 4 .
  • Server S j calculates the following and sends [ ⁇ 2 (d+d 1 )] j , [ ⁇ 5 (d+d 4 )] j to n servers.
  • the restorer uses ⁇ 3,j and ⁇ 4,j to restore ⁇ 2 (d+d 1 ) and ⁇ 5 (d+d 4 ).
  • the restorer holds ⁇ 0 d 1 , ⁇ 3 d 4 , ⁇ 2 (d+d 1 ), ⁇ 5 (d+d 4 ).
  • all committed random numbers corresponding to the secret information used for the calculation are sent to the restorer.
  • the restorer computes the following. Then, the value calculated here is compared with (d 1 ⁇ d 4 ) calculated from d 1 and d 4 obtained in (2) above to verify whether they match.
  • the restorer obtains the restoration result by the following calculation.
  • Non-Patent Document 9 Keiichi Iwamura, Kentaro Tsujishita, Masashi Yamane: "Secret sharing method with password that can reduce server resources”, Transactions of the Institute of Electronics, Information and Communication Engineers, D, Vol.J102-D, No.11, pp.740-749, 2019.
  • a single third-party device TTP provides sufficient security. A case of improving security as follows by using the third party device TTP will be described.
  • TTP processing 4 relating to the method of generating the conversion random number ⁇ i [ ⁇ ] j is shown below. However, in this process, up to k-1 servers have the same random number ⁇ i . Also, the representative selects three TTPs (referred to as TTPs 1 to 3), and makes a contract for each of them in the 0th stage described in the first embodiment. It is assumed that keys are already shared between TTPs.
  • TTP1-3 The processing performed by TTP1-3 will be described with reference to the flowchart in FIG.
  • TTP i performs the processes after (S33) of [TTP process 3], each server multiplies the sent auxiliary random number group, and the user U g,i also sends b g,i Multiply.
  • the server S j receiving ⁇ 1 [ ⁇ 1 ] i [ ⁇ 2 ] i multiplied by the Recombination Vector adds them and holds them as ⁇ 1 [ ⁇ ] n ⁇ j .
  • the server S nj receiving ⁇ 1 [ ⁇ 1 ] i [ ⁇ 2 ] i obtained by multiplying and adding the Recombination Vector adds them and holds them as ⁇ 1 [ ⁇ ] nj .
  • each device except for the TTP performs secure calculations according to the TUS6 system.
  • Each TTP calculates the following in the above processing (S43) and sends it to each server.
  • the servers S 0 and S 1 obtain ⁇ 0 [ ⁇ ] 0 and ⁇ 1 [ ⁇ ] 1 of (S44) and (S45) by calculating the following.
  • the calculation result of the same variance value for ⁇ 0 and ⁇ 1 is not given to the third party device TTP so that secret information does not leak from one third party device TTP.
  • TTP1 gives TTP2 the same variance value [ ⁇ 1 ] 1 calculation result ⁇ 0,1 [ ⁇ 1 ] 1 , ⁇ 1,1 [ ⁇ 1 ] 1 for ⁇ 0 and ⁇ 1
  • TTP2 is From that ratio we get ⁇ 0,1 / ⁇ 1,1 .
  • ⁇ 1,1 [ ⁇ 1 ] 1 is multiplied by ⁇ 0,1 / ⁇ 1,1 , 2k ⁇ 2 ⁇ 0,1 [ ⁇ 1 ] 1 are obtained, so ⁇ 0,1 ⁇ 1 leaks.
  • TTP2 obtains a transforming random number ⁇ 0 ⁇ to obtain ⁇ 0,2 ⁇ 2 . Since ⁇ 1,1 / ⁇ 0,1 is also obtained, ⁇ 1 ⁇ can also be obtained. Therefore, security is achieved by preventing distribution of calculation results of the same variance value to one third party device TTP. As a result, as in the second embodiment, confidential information can be prevented from leaking unless two TTPs collude. Therefore, even if a part or all of the server group colludes with the TTP, information leakage does not occur with only one third party device TTP, and a risk of applying for collusion with a plurality of TTPs can be generated. Also, it is clear that the presence or absence of unauthorized access based on the processing history can be proved in the same manner as in the second embodiment.
  • the same variance value calculation result is passed to other TTPs while being changed.
  • the servers S 0 and S 1 are made to wait for ⁇ 0 [ ⁇ ] 1 and ⁇ 1 [ ⁇ ] 2 as in the fourth embodiment, and the server S 2 is made to have ⁇ 2 [ ⁇ ] 3 .
  • the number of ⁇ j is limited by the number of third party TTPs that can be sent with different combinations of variance values.
  • ⁇ 0 to ⁇ 4 are possible.
  • the fourth embodiment can use the TUS6 system, the TUS7 system, and their extended systems.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2019-144405
  • the calculation support device described in Patent Document 1 directly receives the secret information of the participants and performs calculations, and participates in the secure calculation in synchronization with the server that performs the secure calculation. different.
  • TTP directly receives confidential information like an arithmetic support device
  • the technology described in Patent Document 1 is limited to one arithmetic support device and one server, and the third embodiment and fourth embodiment using the above-described multiple servers and multiple TTPs Also different from the embodiment.
  • the processing performed by the input person is also the same as the postscript of [preprocessing] of the TUS6 system. As a result, one server S0 can perform the processing of two servers.
  • the third party device TTP generates a conversion random number ⁇ j [ ⁇ ] j in the same manner as in TTP process 3 or TTP process 4, and sends distributed values to each server by the number corresponding to the server in charge.
  • the third party device TTP calculates a portion related to [pre-computation] in the same manner as in the above-described embodiment, and sends it to all servers, and all servers execute [secret computation] performed by the servers in charge. As a result, secure computation can be performed with an arbitrary number of servers smaller than k.
  • TEE Trusted Execution Environment
  • Intel's Software Guard Extensions Intel SGX
  • TEEs are often computationally secure as a whole.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

第三者装置は、nを分散値を保存するサーバ台数、kを秘密情報復元のための閾値として、秘密情報をk個以上の分散値に分散して秘匿計算するための秘匿計算システムにおける第三者装置であって、秘密情報を用いず、n=kにおける秘匿計算に用いるk個の第1の乱数の積からなる変換用乱数を計算する計算部と、変換用乱数をn個の計算装置に対して、秘密分散して送信する送信部と、を備える。

Description

第三者装置、秘匿計算システム、及びプログラム
 開示の技術は、第三者装置、秘匿計算システム、及びプログラムに関する。
 近年、ビッグデータおよびIOT環境の進歩に伴い、個人に関する情報の活用が期待されている。ただし、個人情報の活用においては、その情報が漏洩すると個人のプライバシーに影響を与える可能性がある。そのため、ビッグデータの利活用においては、個人に関する情報を守る技術と両立させる必要がある。それに対して、データを守りながら演算を行うことができる秘匿計算技術が盛んに研究されている。
 秘匿計算技術は、大きく分けると、主に鍵を用いてデータを秘匿する準同型暗号と、鍵を用いずにデータを秘匿する秘密分散法を用いた秘匿計算がある。ただし、準同型暗号は一般的に計算量が多く、演算処理に多大な時間がかかるという問題がある。そのため、クラウドシステムへの適用に対しては、計算量が重い準同型暗号よりも、計算量が軽い秘密分散法を用いるというアプローチが検討されている。
 秘密分散法とは、1つの秘密情報を複数の異なる値(以降、分散値)に変換し、複数のサーバに分散する手法である。秘密分散法の1つであるShamirの(k、n)閾値秘密分散法(非特許文献1参照)は、1つの秘密情報をn個の分散値に変換し、n台のサーバに分散する。Shamirの秘密分散法の特徴は、分散したn個の分散値からk個の分散値を集めれば、元の秘密情報を復元することができるが、k個未満の分散値からは、秘密情報に関する情報を一切得ることができないということである。以降、Shamirの(k、n)閾値秘密分散法を(k、n)Shamirと記述する。また、n=kとする場合、加法的秘密分散法を用いることもでき、処理を高速化できる。
非特許文献1:Shamir A.: “How to share a secret”, Communications of the ACM, Vol. 22, Issue 11, pp. 612-613. ACM, New York, NY, USA. (1979)
 (k、n)Shamirは、k個未満の分散値からは秘密情報に関する情報が一切漏洩しない。これは換言すれば、攻撃者がn個の分散値からk個の分散値を集めることができれば、秘密情報は漏洩することを意味する。
 一方、秘密分散法を用いた一般的な秘匿計算システムして、秘匿計算を行うサーバ群を貸し出す、さらに秘匿計算を行うプログラムを販売することなどが行われている。この際、最も重要になるのは、n台のサーバを如何に安全かつ独立に管理しているかということをユーザに示す点と考えられる。現在までに提案されている秘密分散を用いた秘匿計算法は、n台のサーバは独立かつ安全に管理されているという前提の下に構成されているが、n台のサーバを如何に独立かつ安全に管理するかについては考慮されていない。
 例えば、ある企業が秘匿計算に関するシステムを運営する場合、その子会社や関連会社などが独立にサーバ管理を行い、ユーザのデータを当該部門外に出さないという契約書などがあるとしても、情報の内部漏洩の危惧はぬぐえない。それは、その子会社や関連会社は同一グループに属し利害関係があるので、内部漏洩が起こっていないことを証明するのは難しいためである。例えば、その秘匿計算に参加したユーザが故意または自分の不注意で秘密情報を漏洩させ、それを秘匿計算した際の内部漏洩であると主張した場合、それを否定する証拠を示すことは難しい。
 逆に、競合関係にある複数の企業が連携して個別にサーバを管理する秘匿計算システムの場合、以下の問題が発生する。一般に、秘密分散を用いた秘匿計算ではn≧2k-1という条件を必要とし、提案されている秘匿計算法のほとんどがこの条件を前提とする。例えば、k=2、n=3とする場合、3台のサーバ中2台のサーバが結託すれば秘密情報は漏洩する。よって、3つの競合関係にある企業が秘匿計算システムを構築し、この秘匿計算システムの安全性を示すために、各々自社の秘密情報を秘匿計算システムに入力する場合、2つの企業が結託して互いの秘密情報に関する分散値を交換しないが、他の1つの企業の秘密情報に関する分散値を交換した場合、その企業の秘密情報は競合関係にある他の2つの企業に漏洩する。この場合、その3つの企業は情報漏洩を恐れて自らの秘密情報を秘匿計算システムに入力できないことになり、ユーザにその安全性をアピールできない。
 また、上記では同一グループによる組織的な情報漏洩の可能性を指摘したが、n≧2k-1という条件が加われば、例えばk=2、n=3の場合、個別の2社間の結託の可能性もあり、全ての結託を否定することはより困難になる。
 開示の技術は、秘密分散を用いた秘匿計算法に関する秘匿計算システムについてユーザに安全性を示すことが可能な秘匿計算システムを構成する第三者装置、秘匿計算システム、及びプログラムを得ることを目的とする。
 上記目的を達成するため、第1態様に係る第三者装置は、nを分散値を保存するサーバ台数、kを秘密情報復元のための閾値として、秘密情報をk個以上の分散値に分散して秘匿計算するための秘匿計算システムにおける第三者装置であって、秘密情報を用いず、n=kにおける秘匿計算に用いるk個の第1の乱数の積からなる変換用乱数を計算する計算部と、変換用乱数をn個の計算装置に対して、秘密分散して送信する送信部と、を備える。
 第1態様に係る第三者装置において、前記変換用乱数の分散値を秘匿する秘匿部と、前記変換用乱数の分散値を秘匿した後に、変換用乱数生成に関わる情報を消去する消去部と、を備えた構成としてもよい。
 第2態様に係る第三者装置は、nを分散値を保存するサーバ台数、kを秘密情報復元のための閾値として、秘密情報をk個以上の分散値に分散して秘匿計算するための秘匿計算システムにおける第三者装置であって、秘密情報を用いず、n<kにおける秘匿計算を実現するために必要な情報を計算する第1の計算部と、計算された情報のうち変換用乱数をn個の計算装置に対して、秘密分散して送信する送信部と、を備える。
 第2態様に係る第三者装置において、前記n個の計算装置の各々について定めた第2の乱数を得る乱数取得部を備え、前記第1の計算部は、前記変換用乱数の各分散値に前記第2の乱数を乗算した第3の乱数を前記変換用乱数とする構成としてもよい。
 第2態様に係る第三者装置において、前記変換用乱数を計算する第2の計算部と、前記変換用乱数以外の秘匿計算に必要な補助乱数を計算する第3の計算部と、を備えた構成としてもよい。
 第2態様に係る第三者装置において、前記変換用乱数を秘匿後、変換用乱数生成に関わる情報を消去する第1の消去部と、前記補助乱数を秘匿後、補助乱数生成に関わる情報を消去する第2の消去部と、を備えた構成としてもよい。
 第3態様に係る秘匿計算システムは、第1態様又は第2態様に係る第三者装置を複数備えた秘匿計算システムであって、複数の前記第三者装置のうち少なくとも2つ以上の第三者装置が、各々定めた変換用乱数をn=2k-1以上として秘密分散する秘密分散部と、3つ以上の第三者装置にkを超えない数の分散値を送信する第1の送信部と、を有し、前記分散値を受信した各第三者装置は、受信した分散値同士を乗算する乗算部と、前記分散値同士の乗算結果を秘密分散して計算装置または第三者装置に送信する第2の送信部と、前記分散値を秘匿した直後に前記変換用乱数に関する情報を消去する消去部と、を有する。
 第4態様に係る秘匿計算システムは、第1態様又は第2態様に係る第三者装置を複数備えた秘匿計算システムであって、前記第三者装置は、変換用乱数を秘密分散する秘密分散部からの分散値に第2の乱数及び第3の乱数を別々に乗算する乗算部と、前記分散値に第2の乱数及び第3の乱数を別々に乗算した乗算結果の分散値が同一の分散値を用いたものにならないように組み合わせを変えて、3つ以上の前記第三者装置にkを超えない数の分散値を送信する送信部と、を有する。
 第5態様に係るプログラムは、コンピュータを、第1態様又は第2態様に係る第三者装置の各部として機能させるためのプログラムである。
 開示の技術によれば、秘密分散を用いた秘匿計算法に関する秘匿計算システムについてユーザに安全性を示すことができる、という効果を有する。
秘匿計算システムの構成図である。 第三者装置のハードウェア構成を示す図である。 第三者装置の機能構成を示す図である。 TTP処理1のフローチャートである。 TTP処理2のフローチャートである。 TTP処理2’のフローチャートである。 TTP処理3のフローチャートである。 TTP処理4のフローチャートである。
 以下、本開示の実施形態について図面を参照しながら詳細に説明する。
 上記問題点を解決するため、n=kで秘匿計算できる手法を採用した場合、秘匿計算の参加者は自らの分散値を安全に管理すれば、たとえ残りのn-1台のサーバ、または参加者が結託しても、秘密情報は漏洩しない。また、漏洩したとしてもそれは参加者自身の分散値の管理に問題があることになり、責任の一端は自らにあることになる。
 このようなn=kで秘匿計算できる秘匿計算法としてSPDZ2方式(下記非特許文献2参照)とTUS方式(下記非特許文献3参照)などが知られている。ただし、SPDZ2方式はMultiplication Tripleと呼ぶ乱数の分散値、TUS方式は、後述する変換用乱数組を事前に計算して各サーバがもつ必要があり、一般にn=kを実現する秘匿計算法は何らかの制限を持つ。
 SPDZ2方式では、Multiplication Tripleを準同型暗号によって計算するが、TUS方式では変換用乱数組は前提条件として示されているだけである。また、Multiplication Tripleや変換用乱数を信頼できる第三者機関(Trusted Third Party:以下、TTPと称する)で生成するとしても、そのTTPが持つべき機能や特徴については全く明らかにされていなかった。また、TTPは安全とするだけで、TTPが攻撃された場合の具体的対策なども全く検討されていなかった。
 そこで、本実施形態では、TTPが持つべき機能や特徴を明らかにし、TTPが攻撃された場合の対策を含めて、TTPがSPDZ2方式のMultiplication Tripleや、TUS方式の変換用乱数組を生成する秘匿計算システムについて説明する。この秘匿計算システムでは、一般的に考えられる秘匿計算を行う主体であるサーバ群の構成・管理等はユーザに任せてTTPは関与しない。よって、TTPは秘密情報漏洩が起こってもその責任から免れることができる。また、TTPは、前記Multiplication Triple及び変換用乱数組の生成以外にユーザのサーバ群の構成・管理などに関するサポート(例えば、安全性を満たさないユーザのサーバに関するアドバイスやセキュリティソフトの販売等)などを行うことも可能である。
 ただし、TUS方式における変換用乱数組とは、攻撃者が知らない乱数をεとし、
Figure JPOXMLDOC01-appb-I000001

 
とすると、サーバSがもつ
Figure JPOXMLDOC01-appb-I000002

 
を指す(j=0,…,k-1)。また、変換用乱数の代わりに、
Figure JPOXMLDOC01-appb-I000003

 
を各サーバがもち、秘匿計算を行う前に、秘匿計算の事前計算に参加するサーバS
Figure JPOXMLDOC01-appb-I000004

 
を集めて復元し、
Figure JPOXMLDOC01-appb-I000005

 
としてもよい。
 また、SPDZ2方式におけるMultiplication Tripleとは、攻撃者が知らない乱数をa、bとしたとき、c=abに対する分散値
Figure JPOXMLDOC01-appb-I000006

 
を指す。ただし、
Figure JPOXMLDOC01-appb-I000007

 
はShamir法などによるxの分散値を表す。以上より、Multiplication Tripleは変換用乱数のε、εをa、bとして分散したものと言える。
(非特許文献2)Damgard I., Keller M., Larraia E., Pastro V., Scholl P., Smart N.P.: “Practical covertly secure MPC for dishonest majority - Or: Breaking the SPDZ Limits.” In: Crampton J., Jajodia S., Mayes K. (eds) Computer Security (ESORICS 2013). LNCS, vol. 8134, pp. 1-18. Springer, Berlin, Heidelberg. (2013)
(非特許文献3)鴇田恭平,岩村惠市:“高速かつn<2k-1において秘密情報に0を含んでも実行可能な秘密分散法による秘匿計算法.”電気学会論文誌C,Vol. 138,No.12.(2018)
<第1実施形態>
 まず、秘匿計算システムについて説明する。図1に示すように、秘匿計算システム10は、第三者装置TTP、ユーザ装置US、及び複数のサーバSがネットワークNによって接続された構成である。なお、場合によっては、第三者装置TTP及びユーザ装置USが複数存在していてもよい。
 秘匿計算システム10は、nを分散値を保存するサーバ台数、kを秘密情報復元のための閾値として、秘密情報をk個以上の分散値に分散して秘匿計算するためのシステムである。
 本実施形態において、乱数は、後述するように物理的雑音等による情報理論的安全性をもつ乱数(以降、物理乱数)を用いることを基本とする。物理乱数は、熱雑音や原子核崩壊のような物理的雑音から作られるが様々な生成法があり、物理乱数生成部において生成されるとする。第三者装置TTPは、後述する共通部分の他に図3に示す乱数処理装置RSを有する。
 乱数処理装置RSは、詳細は後述するが、図3に示すように、物理乱数生成部201、変換用乱数の計算部202、変換用乱数を暗号化する秘匿部203、履歴記録部204、消去部205、及び接続部206から構成される。第三者装置TTPにおける共通部分と乱数処理装置RSは通常分離されており、乱数処理装置RSは内外部から隔離されている。また、暗号化が終了し、処理履歴を記録し、それら以外の情報を消去した後に共通部分と接続され、共通部分を介して暗号化された変換用乱数等は各サーバに送信される。物理乱数が外部から送られてくる場合、第三者装置TTPは物理乱数生成部201を持たず、外部からの乱数を接続部206を介して乱数処理装置RSに取り込んだ後、後述のように接続を遮断して、暗号の復号を行い、変換用乱数を計算して暗号化し、処理履歴を記録した後、それら以外の情報を消去する。ユーザ装置US、及び複数のサーバSは、第三者装置TTPの共通部分と同様の構成となるが、以下にその構成を説明する。ただし、乱数処理装置RSが共通部分の機能を含み、インターネットを含む外部との接続を接続部206で制御できる場合、第三者装置TTPは乱数処理装置RSだけでもよい。
 図2に第三者装置TTPの共通部分のハードウェア構成を示す。図1に示すように、第三者装置TTPは、CPU21、ROM22、RAM23、メモリ24、入力装置25、送受信装置26、表示装置27がバス28を介して相互に接続されて、構成されている。メモリ24には、後述するTTP処理1~4等の各種プログラムが記憶されている。
 図3に第三者装置TTPの乱数処理装置RSの機能構成を示す。図3に示すように、乱数処理装置RSは、物理乱数生成部201、計算部202、秘匿部203、履歴記録部204、消去部205、及び接続部206を備える。ただし、物理乱数が外部から送られる場合、乱数処理装置RSは物理乱数生成部201を有しない。
 物理乱数生成部201は、熱雑音や原子核崩壊のような物理的雑音から情報理論的安全性をもつ物理乱数を生成する。
 計算部202は、秘密情報を用いず、n=kにおける秘匿計算に用いるk個の第1の乱数を外部から得る又は自ら生成して、その積からなる変換用乱数を計算し、秘密分散する。
 秘匿部203は、変換用乱数の分散値をバーナム暗号などによって秘匿する。
 履歴記録部204は、第三者装置TTPが行った処理及び内外部からの乱数処理装置RSへのアクセス等に関する履歴を記録する。
 消去部205は、変換用乱数の分散値を秘匿した後に、変換用乱数生成に関わる情報を消去する。
 接続部206は、消去部205での消去が終了後、共通部分と接続されて、暗号化された変換用乱数などを共通部分に渡し、再び接続を遮断する。また、乱数が外部から送られてくる場合は、それを取り込むときに接続を行い、その後共通部分と遮断する。以降、通信に関する細かな処理の記述は煩雑になるため省略するが、第三者装置TTPが他の装置にデータを送信するときは、必ずデータを秘匿部203で秘匿した後に行われ、接続部206で共通部分と接続して共通部分を介して送信するとする。ただし、接続部206が直接外部との通信を行う場合、共通部分を介さずに行うことができる。
 なお、以下では、第三者装置TTPを単にTTPと称する場合がある。
 第1実施形態では、n=kにおいて理論的に情報理論的安全性を実現する秘密分散を用いた秘匿計算法であるTUS4方式を、実運用においても情報理論的安全性を実現する秘匿計算システムとして運用する場合を説明する。以下にTUS方式の基本形であるTUS4方式を説明する。
 TUS4方式では、ab+cのような単純な積和演算ではなく
Figure JPOXMLDOC01-appb-I000008

 
のような拡張積和演算を扱う。これは1回の演算の範囲をab+cのみに限定しないためである。ただし、l=2、m=2、m=1とすれば積和演算になる。
 一般に、下記式(1)、(2)式が成り立つため、任意の(a・・a)は(a+1)、(a+1)、・・・、(a+1)を用いて計算できる。
Figure JPOXMLDOC01-appb-I000009

   ・・・(1)
Figure JPOXMLDOC01-appb-I000010

    ・・・(2)
 また、上記(2)式を展開すると以下となる。
Figure JPOXMLDOC01-appb-I000011

 
 ただし、j’はm個の(a+1)からm-i個を選ぶ組み合わせの要素を意味する。例えば、m=3のときは以下となる。
Figure JPOXMLDOC01-appb-I000012

 
 また、m=4のときは以下となる。
Figure JPOXMLDOC01-appb-I000013

 
 よって、l=2、m=3、m=4とすれば上記aをa1,12,13,1とし、aをa1,22,23,24,2として以下を計算することができる。
1,12,13,1+a1,22,23,24,2
 以下のTUS4方式において、入力a1,i2,i,…am,iはpを法として、p-2以下の数とする。また、乱数は一様分布する乱数であり、0は用いられない。また、それ以外の値はGF(p)に属し、秘密分散を含む全ての演算はpを法として行われる。また、秘密情報の入力者、分散値を記憶するサーバ、秘密情報を復元する復元者間の通信は安全であるとする。また、変換用乱数組
Figure JPOXMLDOC01-appb-I000014

 
は事前にサーバに準備されているとする。以下では、説明の簡単のためm=3のときのアルゴリズムを示すが、任意のmに拡張できることは明らかである。
[TUS4方式]
[事前計算]
(1)ディーラDは、秘密情報a1,i(i=1,・・・,l)に対してk個の乱数b(1,i),0,b(1,i),1,・・・b(1,i),k-1を生成し、
Figure JPOXMLDOC01-appb-I000015

 
を計算し、b(1,i),jをサーバSに送る。
(2)ディーラDは、a2,i、a3,iに対しても上記(1)と同様の処理を行う。
(3)ディーラDは、bg,iをユーザUg,iに送る(g=1,2,3)。
(4)サーバSは、乱数dを生成して以下の値を計算し、1台のサーバ(ここではサーバSとする)に送る。ただし、n>kの場合、サーバSは乱数dを秘密分散する。
Figure JPOXMLDOC01-appb-I000016

 
(5)サーバSは、送られてきた値を掛け合わせて以下の値を計算し、全サーバに送信する(i=1,・・・,l)。
Figure JPOXMLDOC01-appb-I000017

 
(6)全サーバSは、以下の値を計算して保持する。
Figure JPOXMLDOC01-appb-I000018

 
[秘密情報の秘匿]
 ユーザUg,iは、自らが持つ秘密情報ag,iに対してbg,i(ag,i+1)=bg,i×(ag,i+1)を計算して全サーバに送る(g=1,2,3)。以下では、bg,i(ag,i+1)を秘匿化秘密情報と呼ぶ。
[秘匿計算]
 全サーバSは、以下の値を計算する。
Figure JPOXMLDOC01-appb-I000019

 
[復元処理]
 復元者は、k台のサーバSから
Figure JPOXMLDOC01-appb-I000020

 
を集めて
Figure JPOXMLDOC01-appb-I000021

 
を復元し、次式により演算結果
Figure JPOXMLDOC01-appb-I000022

 
を得る。
Figure JPOXMLDOC01-appb-I000023

 
 ただしn>kの場合、dは[事前計算]の(4)で分散した
Figure JPOXMLDOC01-appb-I000024

 
から復元される。
 上記において、ディーラDは、ユーザUg,iでもよいしTTPでもよい。ここでは、ディーラDはユーザUg,iとする。よって、ユーザUg,iは自らの秘密情報ag,iに対して、[事前計算]の(1)の処理と[秘密情報の秘匿]の処理を秘匿装置としてのユーザ装置USで行う。また、残りの[事前計算]と[秘匿計算]はk台の計算装置としてのサーバSが行い、[復元処理]は復元装置としてユーザ装置USが行う。また、予めサーバに準備されている変換用乱数組をTTPが生成する。このようなシステム構成において上記TUS4方式を実行するための処理を以下に説明する。
 以降において、秘匿計算を依頼するユーザを代表者と呼ぶ。代表者は、秘匿計算に参加するユーザ(以降、参加者と呼ぶ)を集め、そのアドレスやPC(パーソナルコンピュータ)環境などの情報を収集し、TTPにそれらの情報を付けて秘匿計算のサポートを依頼し契約する。これを第0段階と呼ぶ。
 TTPは、参加者のPC環境に対して安全性を保つためのセキュリティソフトや、PCのスペックなどに対するアドバイスを含め、安全に秘匿計算が行える環境をアドバイスする。また、TTPは、実行する秘匿計算アルゴリズムに関する安全性などを参加者に説明し、ライブラリなどを各ユーザに導入させる、または依頼によって必要とする演算に対する秘匿計算ソフトを制作し、代表者はそれを購入し、全参加者にその秘匿計算ソフトを導入させる。ただし、参加者はTUS4方式のユーザUg,iに相当し、代表者はTUS4方式のユーザUg,iまたは復元者に相当する。秘匿計算を行うサーバSは、参加者全員のPCを用いる。ただし、PCの性能が劣るものがある場合等は、比較的性能のよいn=k台を選択してもよい(kは、用いるPCの結託可能性等から定める)。以下では全員のPCを用いるとする。
 また、TTPは、参加者と以降の通信のために情報理論的安全性を実現する暗号の鍵となる乱数を共有する。本実施形態において乱数とは、断りがない限り、熱雑音又は物理雑音のような無限の計算能力があっても予測できない情報理論的安全性をもつ物理乱数である。ここではバーナム暗号を想定する。バーナム暗号の鍵として用いる乱数は量子暗号などによっても共有できるが、TTPが参加者毎に上記物理乱数を生成し、USB(Universal Serial Bus)等の記録媒体等に格納して本人確認付きで郵送するなどしてもよい。また、参加者が乱数を変形したい場合、自ら生成した乱数を送られた鍵でバーナム暗号化してTTPに送り、互いに定めた乱数部分に加算するなどしてもよい。また、各参加者は何らかの方法で互いのサーバ間の通信を安全に行うための情報理論的安全性を実現する暗号の鍵を共有するとする。ただし、代表者や参加者が情報理論的安全性にこだわらず、計算量的安全性でよいとする場合、この暗号通信はAES(Advanced Encryption Standard)などを用いることができ、鍵の共有も公開鍵暗号的な手法と組み合わせたハイブリッド方式等を採用することができる。また、以降の処理でも計算量的に安全な乱数を用いることができる。これらの処理を第1段階と呼ぶ。
 TTPは、秘匿計算に必要な変換用乱数組を以下の[TTP処理1]で生成し消去する。以降、暗号化は特に断りがない限り、共有した鍵によるバーナム暗号を用いるとする。これらの処理を第2段階と呼ぶ。
 以降、全参加者はTTPから送られた暗号化データを共有する鍵で復号し、前記制作された秘匿計算用のソフトウェアに、送られた変換用乱数組や自らが持つ秘密情報を入力してTUS4方式の[事前計算]及び[秘密情報の秘匿]などを行い、[秘匿計算]を実行して、復元者はその結果を得る。
[TTP処理1]
 以下、第三者装置TTPが実行するTTP処理1について図4のフローチャートを参照して説明する。TTP処理1は、CPU21がメモリ24に記憶されたプログラムを読み込むことにより実行される。
(S1)第三者装置TTPは、k個の第1の乱数としての乱数ε,・・・,εk-1を取得する。例えば、外部(k台のサーバ等)から送られる場合、各サーバはTTPと共有する乱数で、その乱数をバーナム暗号化して送り、TTPはそれを復号することによって、第1の乱数を得る。TTPが乱数を生成する場合、物理乱数生成部201から第1の乱数を得る)。
(S2)第三者装置TTPは、計算部202で、k個の第1の乱数の積である変換用乱数として
Figure JPOXMLDOC01-appb-I000025

 
を計算して秘密分散し、秘匿部203で、([ε]、ε)を暗号化した直後、すなわち秘匿した後に、その暗号化情報を除く上記(1)、(2)に関連する全情報、すなわち変換用乱数生成に関わる情報を、消去部205で、後述の履歴情報を除いて全消去する。
(S3)第三者装置TTPは、暗号化された([ε]、ε)をサーバS(j=0,・・・,k-1)に送り、その転送履歴を記憶する。
(S4)第三者装置TTPは、上記(S1)~(S3)の処理履歴(乱数取得履歴、乱数の乗算履歴、乗算結果の秘密分散履歴、分散値の暗号化履歴、情報消去履歴、及び暗号化情報の転送履歴等)と、その処理を行ったサーバ及び乱数処理装置RSへの処理中における内外部からのアクセス履歴を履歴情報として履歴記録部204に保存する。
 なお、上記(S1)における乱数は、第三者装置TTPが生成してもよいし、サーバS(j=0,・・・,k-1)がεを生成して第三者装置TTPに送ってもよい。その場合、上記(S3)では[ε]のみをサーバSに返すとしてもよい。また、第三者装置TTPは、ε(j=0,・・・,k-1)も秘密分散して、
Figure JPOXMLDOC01-appb-I000026

 
をSに送り、秘匿計算に参加するサーバS
Figure JPOXMLDOC01-appb-I000027

 
を集めて復元し、
Figure JPOXMLDOC01-appb-I000028

 
を持つとしてもよい。また、第三者装置TTPが上記(S1)の乱数を生成する場合、第三者装置TTPは、少なくとも上記(S1)の処理の前に内部及び外部からのアクセスを遮断して上記(S1)の処理を行い、上記(S2)で計算された情報の全消去が行われた後、アクセスを回復して、そのアクセス遮断及び回復履歴を処理履歴として加えてもよい。また、上記(S3)で送信した後で暗号化した
Figure JPOXMLDOC01-appb-I000029

 
も消去してよい。
<第1実施形態の安全性>
 TTPが物理乱数を生成する場合、物理乱数生成部201は内外部と隔離されているため、TTPも変換用乱数を知ることはできない。物理乱数が外部から送られてくる場合も、暗号化が復元されるのは隔離された乱数処理装置RS内であるので、TTPは物理乱数を知りえない。さらに、サーバ間の通信はサーバ間で定めた鍵によって暗号化されているので、TTPはそれ以上の情報を知りえない。よって、秘匿計算の或る参加者が故意または自分の不注意で秘密情報が漏洩させ、それを秘匿計算のせいだと主張しても、TTPは処理履歴によって乱数処理装置RSに不正なアクセスがないことを証明でき、サーバ間で安全な通信が行われていれば、それを知ることができないので情報漏洩の責任は負わない。ただし、この場合、TTPがアドバイスしたPCの構成や安全性に問題があったとされる可能性はあるが、秘匿計算実行に関する最終的な決断及び運用は代表者側に任されるため、その責任も回避できる。
 また、TTPは、公開鍵暗号におけるCA等と同様に民間企業が運営し、複数存在することができ、代表者はその中から信頼できると考えるTTPを選び、第0段階の依頼をする。TTPは、代表者から選んでもらえるように、自らがサポートした秘匿計算の数や実績などを公開するが、後述するように明らかな不正があった場合の履歴も公開される。明らかな不正が公開されれば、以降代表者が選択することはなくなり、後述のペナルティ等を負う可能性もあるので、TTPは基本的に不正を行わないという安全性を主張できる。
 また、TTPは、民間企業であるが、セキュリティの専門機関であり、自らのサーバ環境の安全性等を常に検証して最新の安全性を持つものにし、変換用乱数組をバーナム暗号化するとその暗号化結果を除いて変換用乱数組に関する情報を全消去して、その履歴のみを残す。よって、攻撃者は、TTPの高いセキュリティ環境及び隔離された乱数処理装置RSから変換用乱数組を漏洩させる必要があり、外部からの攻撃は非常に困難と言える。
 一方、サーバ群において各サーバのアクセス履歴等を示すことはできるが、TUS方式以外では乗算の度にサーバ間の通信を必要とし、秘匿計算中の通信の遮断は困難である。また、不正アクセスもk-1台までであれば情報漏洩しないが、秘匿計算中にk台のサーバへの不正アクセスがあった場合、秘密情報が既に漏洩している可能性もある。また、行う秘匿計算によってサーバ群の処理は異なるため、秘匿計算中に不正があったか否かの解析は容易ではなく、実用上の安全性を証明することは難しいと考えられる。それに対して、本実施形態におけるTTPは1台であり、行う処理は定型で且つ単独で行うため、処理を行うサーバの処理履歴やアクセス履歴、転送履歴、またはアクセス遮断等によって情報が漏洩していない証明は容易である。ここで、[TTP処理1]の(S1)、(S2)の処理を行う部分への内部からのアクセスも遮断するのは、内部犯罪も防止するためである。
 以上より、本実施形態によれば非常に高い安全性を実現できる。
 ただし、TTPは、CA(Certificate Authority)に似た位置づけとなるが、CAは計算量的安全性をもつ公開鍵暗号に関するものであり、情報理論的安全性を実現する秘密分散法を用いた秘匿計算をサポートすることはできない。また、CAはユーザに公開鍵証明書を与えればよく、ユーザがその公開鍵を使うたびに作業は発生しない。それに対して、本実施形態に係るTTPは、ユーザが秘匿計算を行うたびに変換用乱数を生成して配布する必要があり、処理が全く異なる。
 また、不正があったとする場合、PCの構成や安全性を再調査する必要があり、その再調査を第3段階と呼ぶ。よって、TTPは第1~第3段階の作業で利益を得ることができる。この3つの作業は同じTTPが担当することもできるが、別々のTTPが担当してもよい。
 一方、例として示したTUS4方式はsemi-honestな攻撃者を想定した秘匿計算法であるが、maliciousな攻撃者を想定したTUS5方式も提案されている(非特許文献4参照)。また、演算を繰り返す場合を想定したTUS4’方式(非特許文献5参照)も提案されており、その組み合わせによって任意の四則演算が秘匿計算できる。また、TUS5方式もTUS4’方式も変換用乱数組を用いて実現される。よって、TTP処理1はTUS4’方式及びTUS5方式に対しても有効である。また、SPDZに対して、TTPは、[変換用乱数組生成]におけるε、εをa、bとして秘密分散してcの分散値に相当する[ε]とともにサーバSに送ればよい。よって、SPDZの事前処理も上記TTP処理で対応可能である。
 また、上記説明ではユーザのPCを使うとしたが、代表者がサーバ群でビジネスを行う業者と契約して、TUS4方式を用いて秘匿計算させてもよい。この場合、参加者のPCは用いないため第0段階における参加者のPC情報は不要である。また、サーバ間で暗号通信を行って秘匿計算するため、参加者は関与することはできず、参加者の一部とTTPが結託しても秘密情報は漏洩しない。ただし、TTPのビジネスとサーバ群のビジネスは独立している必要がある。また、n=kで秘匿計算しても全サーバが攻撃されれば秘密情報は漏洩するので、全サーバが攻撃されても安全な秘匿計算法が求められるが、それは第3実施形態以降で説明する。
 また、参加者や復元者は第0段階で十分な安全性をもつパスワード等を登録して、システムへのアクセスはパスワード認証等によって本人確認を行うようにしてもよい。また、TTPも同様であるが、交換した乱数によっても認証できる。
(非特許文献4)Shogo Ochiai and Keiichi Iwamura New Approach to Dishonest-Majority Secure Multiparty Computation for Malicious Adversaries when n < 2k - 1 , CANDAR2020(The Eighth International Symposium on Computing and Networking, WICS1, 50
(非特許文献5)岩村惠市、ムハンマド カマル アフマド アクマル アミヌディン、山根将司:“乱数で秘匿された秘密情報を入力とする秘密分散法を用いた高速な秘匿計算法”,SCIS2020,2C4-4
 <第2実施形態>
 第1実施形態では、正当なTTPであれば、アクセスの遮断などを行うことができ、非常に高い安全性を実現することができる。しかし、後を顧みず秘密情報の漏洩のみを目的として悪意あるTTPと参加者の一部、またはサーバ群の一部が結託した場合、秘密情報が漏洩する。その危険性を低減することができる第2実施形態について説明する。
 第2実施形態では、第三者装置TTPが複数存在する場合について説明する。
 ただし、TTPは他のTTPや参加者から結託の打診があった場合、発信元を調査して、それを告発するという規則をコンプライアンスの一環として定めるとする。また、打診に乗ると見せかけて発信元のTTPをつきとめて告発するなども考えられる。打診したTTPは、それを明らかな不正の証拠として公開される。できればTTPによる委員会や業界団体のようなものがあり、そこでこの問題を議論するなどが望ましい。そこで、不正と認定されたTTPは不正TTPとして公開される。不正TTPは不正の公開以外に刑事罰や情報漏洩が発見された企業などへの弁償金支払い等のペナルティを負うことも考えられる。
 また、第2実施形態で利用する、多項式の次数を変更できる方法の一例としてRecombination Vectorを用いる方法(非特許文献6参照)について以下に説明する。このような方法はRecombination Vector以外でも非特許文献7、8等に記載された方法もあり、上記機能を実現できるものであれば種々公知の方法を適用してもよい。
 次数k-1の2つの多項式f(x)、g(x)の乗算結果h(x)=f(x)×g(x)は、以下のような次数2k-2の多項式となる。ただし、abは、f(x),g(x)の定数項、すなわち秘密情報の積である。
Figure JPOXMLDOC01-appb-I000030

 
 よって、以下の関係が成り立つ。ただし、Aは、次式を成立させるxの値のべき乗から構成される(2k-2)×(2k-2)の行列である。
Figure JPOXMLDOC01-appb-I000031

 
 以上より、次式が成り立つ。
Figure JPOXMLDOC01-appb-I000032

 
-1の最上位行の係数をa,・・・,a2k-1とすると、秘密情報の積abは次式で表される。
Figure JPOXMLDOC01-appb-I000033

 
 このa,・・・,a2k-1をRecombination Vectorと呼ぶ。
 以下に、第三者装置TTPが行う処理を示す。代表者は3つの第三者装置TTP(以下TTP1~3と呼ぶ)を選択し、各々のTTPに対して第1実施形態に示す第0段階の契約を行う。第三者装置TTP1~3間は鍵共有済みとする。
<TTP処理2>
 以下、TTP1~3が実行するTTP処理2について図5のフローチャートを参照して説明する。以下では簡単のため、TTPが物理乱数を生成する場合を示す。物理乱数が外部から送られる場合は、以下における物理乱数生成部201での処理は省略される。
(S21)TTP1は、物理乱数生成部201で乱数εを生成し、生成したεを計算部202で(k,2k-1)Shamirで分散して[ε(i=1,・・・,2k-1)を生成し、i=k,・・・,2k-2個の分散値をTTP2に送り、i=2k-1に相当する1個の分散値をTTP3に送る。また、
Figure JPOXMLDOC01-appb-I000034

 
となるεをサーバSに送る。
(S22)TTP2は、物理乱数生成部201で乱数εを生成し、εを計算部202で(k,2k-1)Shamirで分散して[ε(i=1,・・・,2k-1)を生成し、i=1,・・・,k-1個の分散値をTTP1に送り、i=2k-1に相当する1個の分散値をTTP3に送る。また、
Figure JPOXMLDOC01-appb-I000035

 
となるε2,jをサーバSに送る。
(S23)TTP(i=1,2,3)は、計算部202で[ε・[εの乗算を行って、k=nで秘密分散したものにRecombination Vectorをかけた値を秘密分散する。さらに、秘匿部203でそれを暗号化し、処理履歴を履歴記録部204に記録して、消去部205で上記(S21)~(S23)で生成した情報を全消去する。
(S24)TTPは、サーバSに対応する暗号化した値をサーバSに送り、その転送履歴も保存する。
 以降、サーバSは、送られた値を復号して加算して[ε]とし、ε=ε1,j×ε2,jを計算して([ε],ε)を変換用乱数組として保持する。ただし、ε=ε×εである。また、TTPを除く各装置は、TUS4方式によって秘匿計算を行う。
 上記(S23)、(S24)の具体例を示すと以下のようになる。ただし、簡単のためn=k=2とする。
 上記(S21)、(S22)によってTTP1,2,3は以下を持つ。
TTP1:[ε,[ε
TTP2:[ε,[ε
TTP3:[ε,[ε
 また、Recombination Vectorはk=2よりa,・・・,aとなり、サーバはS,Sとなる。
 また、例えば、[ε,[εの積をn=k=2で秘密分散したものを[[ε,[ε,[[ε,[εと表すと、各TTPは、上記(S24)で以下を計算して各サーバに送る。
 TTP1:a[[ε,[ε→S,a[[ε,[ε→S
 TTP2:a[[ε,[ε→S,a[[ε,[ε→S
 TTP3:a[[ε,[ε→S,a[[ε,[ε→S
 サーバS,Sは、下記の値を計算して、[ε]を得る。ただし、TTPは、aをa+rxで秘密分散するとする。また、前記Recombination Vectorの説明において、例えばf(x)を秘密情報εに対する分散式、g(x)を秘密情報εに対する分散式とすると、[ε[εはh(1)に相当する。この場合、[[ε,[ε=h(1)+rとなる。ただし、r=a+2a+3aである。
Figure JPOXMLDOC01-appb-I000036

 
<第2実施形態の安全性>
 第2実施形態は第1実施形態と異なり、1つのTTPと参加者の一部の結託では秘密情報は全く漏洩しない。秘密情報を漏洩させるためには2つのTTPが結託する必要がある。しかしながら、前述したように、あるTTPが代表者の選択した他のTTPに結託を打診した場合のリスクは大きい。よって、代表者が少なくとも2つの正当なTTPを選ぶことができれば、残りのTTPが不正を持ちかけても不正は必ず発覚する。
 また、TTP処理2は定型の処理であるので、処理履歴によって不正アクセスがないことを示すこともできる。例えばTTP1は、上記(S21)の処理の前にアクセスを遮断し、上記(S21)における[ε(i=1,・・・,k-1)をTTP1のみが知る鍵で暗号化し、[ε(i=k,・・・,2k-2)をTTP2と共有する鍵で暗号化し、[ε(i=1,・・・,2k-1)をTTP3と共有する鍵で暗号化し、εを消去してアクセスを回復して、TTP1は各暗号化分散値をTTP2,TTP3に送る。送受信後、再びアクセスを遮断し、上記(S23)の処理を行い、再びアクセスを回復して上記(4)の処理を行えば、TTP1は情報漏洩がないことを証明できる。
 上記をt個のTTPに拡張した場合のTTP処理2’について図6のフローチャートを参照して説明する。
<TTP処理2’>
(S21’)TTP(j=1,…,t)は、物理乱数生成部201で乱数εを生成し、計算部202で(k,2k-1)Shamirで分散して、[ε(i=1,・・・,2k-1)を生成し、[εをt個のTTPにk個を超えない数ずつ分割して送る。また、
Figure JPOXMLDOC01-appb-I000037

 
となるεj,iをサーバSに送る。
(S22’)TTPは、計算部202で与えられた分散値を順に2つずつ乗算して、k=n=tで秘密分散したものにRecombination Vectorを掛けた値をt個のTTPにk個を超えない数ずつ送る。
(S23’)TTPは、上記(S22’)の処理を繰り返して全てのεが乗算されたεの分散値に、k=nで秘密分散したものにRecombination Vectorを掛けた値をSに送る。
 以降、サーバSは、
Figure JPOXMLDOC01-appb-I000038

 
を計算し、上記(S23’)の処理で送られた分散値を加算して[ε]を得て、([ε],ε)を変換用乱数として保存する。また、TTPを除く各装置はTUS4方式によって秘匿計算を行う。
 上記(S22’)の処理の具体例は以下となる。これはTTP処理2の具体例における上記(S23)の処理を以下のように変形したものとなる。
Figure JPOXMLDOC01-appb-I000039

 
 各TTPは、以下の値を計算して[ε]を得る。
Figure JPOXMLDOC01-appb-I000040

 
 上記(S23’)の処理の具体例は以下となる。
 TTP1,2,3は、異なる乱数μ、μに対して上記(S21’)、(S22’)の処理を行い、以下も記憶する。
Figure JPOXMLDOC01-appb-I000041

 
 TTP1,2,3は、εをε、μをεとして上記(S22’)の処理を繰り返し、最後はTTP処理2の上記(S24)の処理を行い、合成した分散値をk個のサーバに送る。
<TTP処理2’の安全性>
 TTP処理2’は、3個の第三者装置TTPで行われるTTP処理2をt個のTTPに拡張し、結託するm個のTTPがもつ分散値の数がkを超えない場合に安全とするものである。簡単のためt=2k-1とすれば各TTPは1個ずつの分散値をもつため、k個のTTPが同時に悪意を持って結託しない限り不正は成功しない。その中に正当なTTPが1個でも含まれれば、事前に告発される。よって、kを大きく設定すればTTP間の結託のリスクは非常に大きくなるため、情報漏洩を防ぐ安全性が向上する。また、TTP処理2と同様にすれば処理履歴によって不正アクセスがないことも示せることは明らかである。
 TTP処理2及びTTP処理2’では、第三者装置TTPはRecombination Vectorを掛けて各サーバSに送ったが、第三者装置TTPが分散値の積を秘密分散して各サーバSに送り、サーバSがRecombination Vectorを掛けてもよい。
 また、第2実施形態は、悪意のある攻撃者を想定したTUS5方式やTUS4’方式の組み合わせ等に対しても有効であり、SPDZにも有効であることは明らかである。
 また、第1段階の処理は1つの第三者装置TTPで行われれば、乱数の交換以外の処理は他の第三者装置TTPで行わなくてもよい。また、同じサーバ組で秘匿計算を行う場合も同様である。
(非特許文献6)Cramer R., Damgard I., Nielsen J., 2015. Secure multiparty computation and secret sharing. Cambridge University Press, 1st edition.
(非特許文献7)Ben-Or M., Goldwasser S., Wigderson A.: “Completeness theorems for non-cryptographic fault-tolerant distributed computation.” In Proceedings of the 20th Annual ACM Symposium on Theory of Computing (STOC1988). pp. 1-10. ACM, New York, NY, USA (1988)
(非特許文献8)R. Gennaro, M. O. Rabin, and T. Rabin : “Simplified VSS and fast-track multiparty computations with applications to threshold cryptography”, In Brian A. Coen and Yehuda Afek, editors, PODC, pp.101-111, ACM (1998)
<第3実施形態>
 第3実施形態では、全ての参加者が結託または攻撃されても安全な秘匿計算が可能な形態について説明する。第3実施形態では、代表者はTTPと秘匿計算を代行するサーバ群を選択する。ただし、TUS4方式の代わりに後述のTUS6方式を用い、第三者装置TTPは、以下の変換用乱数等を生成する。ただし、以下では、第三者装置TTPが、復元者から第2の乱数としての乱数τ(j=0,・・・,k-1),dを取得しているものとするが、τ,dを第三者装置TTPが生成して復元者に送るとしてもよい。また、τは、説明を簡単にするためにサーバS毎にk個あるとするが、k-1個の乱数が同じでも解くことはできないので、k-1台のサーバS毎に1つ定めてもよい。以下に、τ[ε]を変換用乱数として第三者装置TTPが行う処理について図7のフローチャートを参照して説明する。
[TTP処理3]
 以下では簡単のため、TTPが物理乱数を生成する場合を示す。物理乱数が外部から送られる場合は、以下における物理乱数生成部201での処理は省略される。
(S31)第三者装置TTPは、物理乱数生成部201でk個の乱数ε,・・・,εk-1を得る。
(S32)第三者装置TTPは、計算部202で
Figure JPOXMLDOC01-appb-I000042

 
を計算して秘密分散して、
Figure JPOXMLDOC01-appb-I000043

 
を暗号化する。
(S33)第三者装置TTPは、物理乱数生成部201で乱数b1,i,b2,i,b3,iを生成し、計算部202で以下の補助乱数群を計算し、秘匿部203でbg,iを暗号化する。
Figure JPOXMLDOC01-appb-I000044

 
(S34)第三者装置TTPは、下記(S35)で送信する情報を残して、上記(S31)~(S33)に関連する全処理履歴を履歴記録部204に記録し、消去部205で後述の履歴情報及び送信情報を除いて全消去する。
(S35)第三者装置TTPは、暗号化したτ[ε]をサーバSに、補助乱数群を全サーバに、暗号化したbg,iをユーザUg,i(i=1,2,3)に送る。
(S36)第三者装置TTPは、上記(S31)~(S35)の処理履歴、その処理を行ったサーバSへの処理中の内部及び外部からのアクセス履歴、及び上記(S31)~(S35)の情報の転送履歴等を保存する。また、第1実施形態と同様に第三者装置TTPで物理乱数を生成する場合、物理乱数生成部201を他と隔離して、変換用乱数とεiの暗号化した結果が得られた後で内外部に接続するようにしてもよい。
 上記において、サーバSも[事前計算]の(2)と同様に補助乱数群を計算して全サーバSに送り、bg,iをユーザUg,iに送ってもよい。その場合、各サーバSは、送られた補助乱数群を各々掛け合わせて新たな補助乱数群とし、ユーザUg,iも、送られたbg,iを掛け合わせて新たなbg,iとしてもよい。また、ユーザUg,iが乱数bg,i決めて第三者装置TTPや各サーバSに送ってもよい。また送信後、上記(S35)の情報を消去してもよい。
 以下に上記処理の後で秘匿計算を行うTUS6方式を示す。サーバSは、必要個数の変換用乱数
Figure JPOXMLDOC01-appb-I000045

 
をもつとする。以下では、また、TUS4方式と同様にm=3のときのアルゴリズムを示すが、任意のmに拡張できることは明らかである。また、処理の構成要素は第1実施形態と同様である。
[TUS6方式]
[事前計算]
(1)TTPは、[TTP処理3]の処理を行い、必要個数の変換用乱数組の
Figure JPOXMLDOC01-appb-I000046

 
をサーバSに送る。
(2)TTPは、乱数b1,i2,i3,iを生成し、以下を計算して全サーバに送り、bg,iをユーザUg,i(i=1,2,3)に送る。
Figure JPOXMLDOC01-appb-I000047

 
(3)TTPは、送信後、(2)で生成した乱数も消去する。また、サーバSも(2)と同様の処理を行い、全サーバは、(2)で生成された値を各々掛け合わせて(2)に示す新たな値を計算し、ユーザUg,iも各サーバから送られたbg,iを掛け合わせて新たなbg,iとしてもよい。また、乱数bg,iはユーザUg,iが決めてTTPや各サーバに送ってもよい。
[秘密情報の秘匿]
(1)ユーザUg,iは、自らがもつ秘密情報ag,iに対してbg,i(ag,i+1)=bg,i×(ag,i+1)を計算して全サーバに送る(g=1,2,3)。
[秘匿計算]  
 全サーバSは、以下の計算を行う。
Figure JPOXMLDOC01-appb-I000048

 
[復元処理]
 復元者は、k台のサーバSから
Figure JPOXMLDOC01-appb-I000049

 
を集めて各々τとdで除算し、
Figure JPOXMLDOC01-appb-I000050

 
を復元し、演算結果
Figure JPOXMLDOC01-appb-I000051

 
を得る。
<第3実施形態の安全性>
 第3実施形態は、第1実施形態と同様に1台の第三者装置TTPでの処理であるため、第三者装置TTPが乱数を生成する場合、上記(S31)の前から上記(S34)の全消去まで処理部への内外からのアクセスを遮断し、それを処理履歴として残すことによってTTP処理の安全性を示すことができる。また、TUS6方式で用いられる秘匿計算は1つの秘密情報に対する分散値に別々の乱数が掛けられるため、全分散値が集まっても秘密情報を求めることはできない。よって、秘匿計算を行うサーバ群が全て結託しても、復元者が乱数τ,dを安全に管理し、第三者装置TTPが前述のように安全であれば秘密情報の漏洩はない。復元者は最も高い安全性を実現するために、乱数τ,dを全第三者装置TTPと全参加者が結託しなければ合成できないようにパスワード付き秘密分散(非特許文献9参照)で分散し、パスワードを安全に管理する。また、第三者装置TTPが乱数τ,dを生成する場合も同様に、全ての第三者装置TTPと参加者に乱数τi,j,dをパスワード付き秘密分散し、復元者にだけパスワードを教えれば復元者のみが乱数τ,dを得ることができるようになる。また、復元者は1つのパスワードで複数のτi,j,dを安全に管理できる。
 この場合、サーバ群によるビジネスも有効にすることができる。すなわち、第3実施形態では、秘匿計算を行うサーバ群が全て結託しても情報漏洩しないため、あるユーザが秘匿計算を行ったサーバ群から情報が漏洩したと主張しても否定でき、サーバ群は情報漏洩の責任を免れる。すなわち、TTPとサーバ群の独立性が保たれればTTPによるビジネスとサーバ群によるビジネスを両立できる。この場合、代表者はTTPに加えて、サーバ群でビジネスを行う業者を選択し、ユーザのPCは用いない。よって、参加者は秘密情報を秘匿してサーバ群に入力した後は、TTPと結託していたとしても自分のPCが用いられないので、サーバ群間で暗号化されてやり取りされる情報を知ることはできない。よって、参加者はTTPと結託しても他の参加者の情報を得ることができない。復元者が代表者の場合、代表者は秘匿計算に責任を持つものであるので情報が漏洩した場合、大きな責任を負い。今後代表者として秘匿計算を依頼することは困難になる。よって、復元者が乱数τを復元するためのパスワードを安全に管理し、TTPとサーバ群の独立性が保たれれば堅牢な安全性をもつ秘匿計算システムを構築できる。
 前記TUS6方式は、semi-honestな攻撃者に有効であるが、Maliciousな攻撃者に対しても安全な秘匿計算法TUS7方式を以下に示す。また、TUS6方式及びTUS7方式は演算を繰り返す場合に用いるTUS4’方式に相当する拡張も実現できる。よって、TUS7方式及びTUS7’方式を組み合わせればMaliciousな攻撃者にも安全なシステムを構築できる。以下にn=kとして積和演算に対する例を示すが、TUS4方式と同様に
Figure JPOXMLDOC01-appb-I000052

 
の拡張積和演算に拡張できることは明らかである。また、以下では、特別に記載がない限りj=0,・・・,k-1とする。また、以下におけるコミットは、具体的にはコミットフェーズ及び検証フェーズから構成される。例えば、ある値をコミットフェーズでハッシュ関数などによって一方向化して公開し、検証フェーズで秘匿計算によって得られた値を再びハッシュ関数に入力して一致検証するなどで実行される。コミットを実行するコミットメントスキームはハッシュ関数以外にも多数あり、どのスキームを用いてもよい。また以下において、全サーバがもつ値は知られるとするが、全入力者は結託しないとする。なぜならば、全入力者が結託していれば秘匿計算をする意味がないからである。
[TUS7方式]
[事前計算]
(1)第三者装置TTPは、上記[TTP処理3]を行い、必要個数の変換用乱数τq,j[ε]をサーバSに送る。
(2)第三者装置TTPは、乱数δ、α、β、γを生成し、以下を計算して全サーバに送る。
Figure JPOXMLDOC01-appb-I000053

 
(3)第三者装置TTPは、入力者Aに対して乱数A,Aを生成して送る。また、[α,[α,[α,[αを計算して各入力者にA(j=1),B(j=2),C(j=3)として送る。また、入力者B,Cに対しても同様の処理を行う。ただし、ここでの秘密分散は入力者の数に応じて(3,3)Shamirで行われる。
(4)第三者装置TTPは、ββ、ββ、γγ、γγを全入力者に送り、τ1,j、τ2,j、τ3,j、τ4,j、δ、δ、δ、δ5,jを復元者に送る。
(5)第三者装置TTPは、α、α、β、β、γ、γをコミットする。
[秘密情報の秘匿]
(1)入力者Aは、a+A、a+Aを計算し、入力者B,Cに送る。
(2)全入力者は以下を計算し、入力者Aへ返す。
Figure JPOXMLDOC01-appb-I000054

 
(3)入力者Aは、a(a+a),a(a+a)を復元し、全サーバに送る。
(4)各サーバSは、秘密情報aに対する分散値として、a、a(a+a)、a、a(a+a)を保持する。
(5)入力者B,Cは、入力者Aと同様に上記(1)~(4)の処理を行う。
[秘匿積和計算]
(6)サーバSは、以下を計算し、[δ]、「δ」をn台のサーバに送信する。ただし、d=γ-αβ,x=1,4である。
Figure JPOXMLDOC01-appb-I000055

 
(7)復元者は、τ1,j、τ2,jを用いて、δ、δを復元する.
(8)サーバSは、以下を計算し、[δ(d+d)],[δ(d+d)]をn台のサーバに送信する。
Figure JPOXMLDOC01-appb-I000056

 
(9)復元者はτ3,j、τ4,jを用いて、δ(d+d),δ(d+d)を復元する.
[復元処理]
(1)復元者は、δ、δ、δ(d+d),δ(d+d)を保持する。また、計算結果を復元する場合は、計算に用いた秘密情報に対応するコミットされた乱数を全て復元者に送信する。
(2)復元者は、全てのコミットメントをオープンする。オープンした値を組み合わせてd,dを計算し、δ、δから得られるd,dと一致するか検証する。
(3)復元者は、以下を計算する.そして、ここで計算した値と、上記(2)で得たd,dから計算される(d-d)を比較して一致するか否かを検証する。
(4)復元者は、全ての検証が問題なければ、以下の計算で復元結果を得る。
Figure JPOXMLDOC01-appb-I000057

 
(非特許文献9) 岩村惠市,辻下健太郎,山根将司:“サーバ資源を削減可能なパスワード付秘密分散法”,電子情報通信学会論文誌,D,Vol.J102-D,No.11,pp.740-749,2019.
<第4実施形態>
 第3実施形態は、1台の第三者装置TTPで十分な安全性を実現するが、第4実施形態では、第三者装置TTPとサーバ群の独立性が疑われる場合等に、複数の第三者装置TTPを用いることによって以下のように安全性を向上させる場合について説明する。
 以下では、第三者装置TTPがτを生成する場合について説明するが、復元者によってτが与えられているとしてもよい。以下に、変換用乱数τ[ε]の生成法に関するTTP処理4を示す。ただし、この処理はk-1台までのサーバの乱数τが同じになる。また、代表者は3つのTTP(TTP1~3と呼ぶ)を選択し、各々に対して第1実施形態で説明した第0段階の契約を行う。なお、TTP間は鍵共有済みとする。
<TTP処理4>
 TTP1~3が行う処理について図8のフローチャートを参照して説明する。
(S41)TTP1は、物理乱数生成部201で乱数ε,τ0,1,τ1,1を生成し、計算部202で乱数εを(k,2k-1)Shamirで分散して乱数と掛けて、τ0,1[ε,τ1,1[ε(i=1,・・・,2k-1)を生成し、τ0,1[εのi=k,・・・,2k-2の分散値とτ1,1[εのi=1,・・・,k-1の分散値をTTP2に送り、τ0,1[εのi=2k-1の分散値とτ1,1[εのi=kの分散値をTTP3に送る。また、τ0,1,τ1,1を復元者に送る。
(S42)TTP2は、物理乱数生成部201で乱数ε,τ0,2,τ1,2を生成し、計算部202で乱数εを(k,2k-1)Shamirで分散して乱数と掛けて、τ0,2[ε,τ1,2[ε(i=1,・・・,2k-1)を生成し、τ0,2[εのi=1,・・・,k-1個の分散値とτ1,2[εのi=k+1,・・・,2k-1の分散値をTTP1に送り、τ0,2[εのi=2k-1の分散値とτ1,2[εのi=kの分散値をTTP3に送る。また、τ0,2,τ1,2を復元者に送る。
(S43)TTP(i=1,2,3)は、計算部202でτ0,1[ε,τ0,2[εの乗算とτ1,1[ε,τ1,2[εの乗算を行って、秘密分散しRecombination Vectorを掛けて加算した分散値を計算し、k-1台までのサーバsにτ[ε[εの加算値を、残りのサーバSn-jにτ[ε[εの加算値を送る。ただし、τ=τ0,1×τ0,2,τ=τ1,1×τ1,2である。
(S44)TTPは、[TTP処理3]の(S33)以降の処理を行い、各サーバは、送られた補助乱数群を掛け合わせ、ユーザUg,iも送られたbg,iを掛け合わせる。
 以降、Recombination Vectorを掛けて加算したτ[ε[εを送られたサーバSは、それを加算してτ[ε]n-jとして保持する。また、Recombination Vectorを掛けて加算したτ[ε[εを送られたサーバSn-jは、それを加算してτ[ε]n-jとして保持する。また、TTPを除く各装置は、TUS6方式によって秘匿計算を行う。
 説明の簡単のため、n=k=2として上記(S43)以降の具体例を示す。各TTPは上記(S41)、(S42)の処理により以下の値を記憶する。
Figure JPOXMLDOC01-appb-I000058

 
 各TTPは、上記(S43)の処理において以下を計算し、各サーバに送る。
Figure JPOXMLDOC01-appb-I000059

 
 サーバS,Sは、下記を計算して、上記(S44)、(S45)のτ[ε]、τ[ε]を得る。
Figure JPOXMLDOC01-appb-I000060

 
<第4実施形態の安全性>
 TTP処理4では、1つの第三者装置TTPから秘密情報が漏洩しないように、τ、τに対して同じ分散値の演算結果をその第三者装置TTPに与えない。例えば、TTP1がτ、τに対してTTP2に同じ分散値[εの演算結果τ0、1[ε、τ1、1[εを与えると、TTP2はその比からτ0、1/τ1、1を得る。τ1、1[εにτ0、1/τ1、1を掛けると2k-2個のτ0、1[εが揃うため、τ0、1εが漏洩する。TTP2は、τ0、2εを得るため変換用乱数τεを得る。また、τ1、1/τ0、1も得られるので、τεも得ることができる。よって、1つの第三者装置TTPに同じ分散値の演算結果が配布されないようにすることによって安全性を実現する。これによって、第2実施形態と同様に2つのTTPが結託しない限り秘密情報が漏洩しないようにできる。よって、サーバ群の一部または全部がTTPと結託しても1個の第三者装置TTPだけでは情報漏洩せず、複数のTTPに結託を申し込むリスクを発生させることができる。また、処理履歴による不正アクセスの有無も第2実施形態と同様にすれば証明できることは明らかである。
 3個のTTPをt個に拡張する場合も、同じ分散値の演算結果を変えながら他のTTPに渡す。ただし、4個以上のTTPを用いる場合、kも大きくする必要がある。例えば、n=k=3としてt=5とすると、2k-1=5個の分散値を第三者装置TTPに1つずつその組み合わせを変えて渡せばよい(下記例参照)。この場合、k台の第三者装置TTPが結託しない限り変換用乱数は漏洩しない。
 また、τの数を増やす場合、TTP1,TTP2が増加した分のτの分散値も生成し、同じ分散値の演算結果を同一のTTPに渡さないようにする。例えば前記n=k=3してt=5の場合、以下となる。
Figure JPOXMLDOC01-appb-I000061

 
 その後、第4実施形態と同様にサーバS,Sにはτ[ε],τ[ε]を待たせ、サーバSにはτ[ε]を持たせる。ただし、τの数は、分散値の組み合わせを変えて送ることができる第三者装置TTPの数によって制限される。よって、5つの第三者装置TTPを用いる下記例では、τ~τまで可能である。以上より、第4実施形態はTUS6方式、TUS7方式及びその拡張方式を利用することができる。
<第5実施形態>
 1台の演算支援装置と1台のサーバによる秘匿計算が特許文献1(特開2019-144405号公報)の第4の実施の形態及び第5の実施の形態に示されている。ただし、特許文献1に記載された演算支援装置は、参加者の秘密情報を直接受け取って演算を行い、秘匿計算を行うサーバと同期して秘匿計算に参加するため、システムとしては本開示と全く異なる。なぜならば、第三者装置TTPが演算支援装置のように秘密情報を直接受け取ると秘密情報漏洩の責任を免れることができず、かつ秘匿計算に同期して処理を行う場合、TTPのビジネスとして効率的でないためである。また、上記特許文献1に記載された技術は、1台の演算支援装置と1台のサーバに限定されており、前述した複数台のサーバ及び複数台のTTPを用いる第3実施形態及び第4実施形態とも異なる。
 そこで、種々の組み合わせで秘密分散を用いた秘匿計算を実現する場合を以下に示す。
(1)1台の第三者装置TTPと1台のサーバの組み合わせ(ただし、第三者装置TTPは秘密情報や秘匿計算に関係しない)
 これは第3実施形態においてn=k=2として、1台のサーバSがTUS6方式の2台分のサーバの処理を行うものである。よって、代表者は1つの第三者装置TTPを選択し、第0段階の契約を行う。また、第三者装置TTPは変換用乱数をTTP処理3と同様に生成してτ[ε]をサーバSに送り、τ[ε]もサーバSに送る。これによって、1台のサーバSにτ[ε]、τ[ε]が集まるが、異なるτ、τが掛けられているためεは漏洩せず、サーバSは2台分のサーバの処理を実行できる。
(2)t(t>1)台の第三者装置TTPと1台のサーバの組み合わせ
 上記特許文献1の第4実施形態では、第三者装置TTPとサーバは1台に限定されていたが、t台のTTPと1台のサーバにする場合を以下に示す。ただし、kはサーバSでの処理を最小とするためk=2とする。変換用乱数は、t台の第三者装置TTPでTTP処理4と同様に生成して、サーバSにτ[ε]、τ[ε]を持たせる。[事前計算]において、TTP(j=2,…,t)は、TUS6方式の[事前処理]の後書きにあるサーバSと同様の処理を行ってサーバSに送り、サーバSはそれらを掛け合わせればよい。入力者が行う処理もTUS6方式の[事前処理]の後書きと同様である。これによって、サーバSは1台でサーバ2台分の処理を行うことができる。
(3)t(t>0)台の第三者装置TTPとn(n<k)台のサーバの組み合わせ
 まず、各サーバが各々何台分のサーバの役割を持つか予め定める。第三者装置TTPは、TTP処理3またはTTP処理4と同様に変換用乱数τ[ε]を生成して、各サーバに担当分のサーバに対応する数だけ分散値を送る。また、第三者装置TTPは前記実施形態と同様に[事前計算]に関する部分を計算して、全サーバに送り、全サーバは担当分のサーバが行う[秘匿計算]を実行する。これによって、kより小さい任意のサーバ台数で秘匿計算を行えるようになる。
 上記はMaliciousな攻撃者を想定するTUS7方式等に対しても適用できることは明らかである。また、第三者装置TTPの代わりに近年開発が盛んであるTEE(Trusted Execution Environment)を用いることもできる。TEEとはプロセッサー上に隔離された実行環境を用意する事でセキュリティを高める技術であり、その代表としてIntel社のSoftware Guard Extensions (Intel SGX)などがある。ただし、一般にTEEは通信などにおいて情報理論的に安全な暗号の鍵の設定が難しいため、全体としては計算量的安全性になる場合が多い。
 なお、日本国特許出願第2021-108577号の開示は、その全体が参照により本明細書に取り込まれる。また、本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (9)

  1.  nを分散値を保存するサーバ台数、kを秘密情報復元のための閾値として、秘密情報をk個以上の分散値に分散して秘匿計算するための秘匿計算システムにおける第三者装置であって、
     秘密情報を用いず、n=kにおける秘匿計算に用いるk個の第1の乱数の積からなる変換用乱数を計算する計算部と、
     変換用乱数をn個の計算装置に対して、秘密分散して送信する送信部と、
     を備えた第三者装置。
  2.  前記変換用乱数の分散値を秘匿する秘匿部と、
     前記変換用乱数の分散値を秘匿した後に、変換用乱数生成に関わる情報を消去する消去部と、
     を備えた請求項1記載の第三者装置。
  3.  nを分散値を保存するサーバ台数、kを秘密情報復元のための閾値として、秘密情報をk個以上の分散値に分散して秘匿計算するための秘匿計算システムにおける第三者装置であって、
     秘密情報を用いず、n<kにおける秘匿計算を実現するために必要な情報を計算する計算部と、
     計算された情報のうち変換用乱数を含む乱数をn個の計算装置に対して送信する送信部と、
     を備えた第三者装置。
  4.  n<kにおける秘匿計算を実現するために、前記計算部は、1つの秘密情報に対する分散値を計算し、計算した分散値に異なる乱数を乗算する
     請求項3記載の第三者装置。
  5.  前記異なる乱数を乗算した分散値に関係する情報を消去する消去部
     を備えた請求項4記載の第三者装置。
  6.  前記計算部で行われる処理の前に内外部からのアクセスを遮断する通信遮断部と、
     前記消去部により前記情報の全消去が行われた後、アクセスを回復する通信回復部と、
     前記アクセスの遮断及び回復に関する履歴を記録する記録部と、
     を備えた請求項2又は請求項5記載の第三者装置。
  7.  2つ以上の第三者装置を備えた秘匿計算システムを構成する第三者装置であって、
     少なくとも2つの第三者装置が秘密に生成した乱数を組み合わせて、前記少なくとも2つの第三者装置が知らない乱数を生成する計算部を有する請求項1又は請求項3記載の第三者装置 。
  8.  前記2つ以上の第三者装置のうち第1の第三者装置は、秘密に乱数を生成して秘密分散した分散値に第2の乱数を乗じて第2の第三者装置に送信し、
     前記第2の第三者装置は、秘密に乱数を生成して送られた分散値を用いて新たな乱数の分散値を生成する
     請求項7記載の第三者装置。
  9.  コンピュータを、請求項1~6の何れか1項に記載の第三者装置の各部として機能させるためのプログラム。
PCT/JP2022/024419 2021-06-30 2022-06-17 第三者装置、秘匿計算システム、及びプログラム WO2023276740A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-108577 2021-06-30
JP2021108577 2021-06-30

Publications (1)

Publication Number Publication Date
WO2023276740A1 true WO2023276740A1 (ja) 2023-01-05

Family

ID=84691689

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/024419 WO2023276740A1 (ja) 2021-06-30 2022-06-17 第三者装置、秘匿計算システム、及びプログラム

Country Status (1)

Country Link
WO (1) WO2023276740A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010535443A (ja) * 2007-08-01 2010-11-18 アイティーアイ スコットランド リミテッド ネットワーク内のデバイスの識別および認証
US20130275752A1 (en) * 2012-04-17 2013-10-17 Futurewei Technologies, Inc. Method and system for secure multiparty cloud computation
JP2020056840A (ja) * 2018-09-28 2020-04-09 学校法人東京理科大学 分散装置、秘匿演算装置、検証復元装置、分散システム、秘匿演算検証復元システム、及びプログラム
JP2020191552A (ja) * 2019-05-22 2020-11-26 ヘルスメディア株式会社 シェア分散システムおよび方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010535443A (ja) * 2007-08-01 2010-11-18 アイティーアイ スコットランド リミテッド ネットワーク内のデバイスの識別および認証
US20130275752A1 (en) * 2012-04-17 2013-10-17 Futurewei Technologies, Inc. Method and system for secure multiparty cloud computation
JP2020056840A (ja) * 2018-09-28 2020-04-09 学校法人東京理科大学 分散装置、秘匿演算装置、検証復元装置、分散システム、秘匿演算検証復元システム、及びプログラム
JP2020191552A (ja) * 2019-05-22 2020-11-26 ヘルスメディア株式会社 シェア分散システムおよび方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AHMAD AKMAL AMINUDDIN MOHD KAMAL; KEIICHI IWAMURA: "Conditionally Secure Multiparty Computation When n < 2k - 1", JOURNAL OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 59, no. 9, 15 September 2018 (2018-09-15), JP , pages 1581 - 1595, XP009542582, ISSN: 1882-7764 *
落合将吾,岩村惠市, n<2k-1において計算結果の正当性を検証可能な秘密分散を用いた秘匿計算, IEICE Technical Report, 16 July 2019, vol. 119, no. 140, pp. 265-272, non-official translation (OCHIAI, Shogo; IWAMURA, Keiichi, Seure computation using secret sharing capable of verifying the validity of calculation result when n<2k-1) *

Similar Documents

Publication Publication Date Title
Samanthula et al. A secure data sharing and query processing framework via federation of cloud computing
KR100406754B1 (ko) 피케이아이 기반의 상업용 키위탁 방법 및 시스템
EP2348446B1 (en) A computer implemented method for authenticating a user
CN111275202B (zh) 一种面向数据隐私保护的机器学习预测方法及系统
Samanthula et al. An efficient and secure data sharing framework using homomorphic encryption in the cloud
EP2494486B1 (en) System for protecting an encrypted information unit
CN108712260A (zh) 云环境下保护隐私的多方深度学习计算代理方法
CN111859444B (zh) 一种基于属性加密的区块链数据监管方法及系统
CN109361510A (zh) 一种支持溢出检测和大整数运算的信息处理方法及应用
CN115242555A (zh) 一种可监管的跨链隐私数据共享方法及装置
JPH11239124A (ja) 秘密鍵回復方法および装置
CN110380845B (zh) 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备
WO2022035909A1 (en) Methods for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger technology
Shin et al. Securing a local training dataset size in federated learning
Fugkeaw et al. Secure and Lightweight Blockchain-Enabled Access Control for Fog-Assisted IoT Cloud Based Electronic Medical Records Sharing
CN114144783B (zh) 密码假名映射方法、计算机系统、计算机程序和计算机可读介质
Peng et al. A Secure Signcryption Scheme for Electronic Health Records Sharing in Blockchain.
CN116318696B (zh) 一种双方无初始信任情况下代理重加密数字资产授权方法
Arulananth et al. Multi party secure data access management in cloud using user centric block chain data encryption
WO2023276740A1 (ja) 第三者装置、秘匿計算システム、及びプログラム
Li et al. A new fair multi-secret sharing scheme based on asymmetric bivariate polynomial
Lai et al. Privacy-preserving medical data sharing scheme based on two-party cloud-assisted PSI
Das et al. An Anonymity Retaining Framework for Multi-party Skyline Queries Based on Unique Tags
Nagarani et al. A Flexible Access Control with User Revocation in Fog-Enabled Cloud Computing
Kiayias et al. Privacy-preserving information markets for computing statistical data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22832890

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22832890

Country of ref document: EP

Kind code of ref document: A1