WO2016104476A1 - 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム - Google Patents

秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム Download PDF

Info

Publication number
WO2016104476A1
WO2016104476A1 PCT/JP2015/085774 JP2015085774W WO2016104476A1 WO 2016104476 A1 WO2016104476 A1 WO 2016104476A1 JP 2015085774 W JP2015085774 W JP 2015085774W WO 2016104476 A1 WO2016104476 A1 WO 2016104476A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret
value
variance
sharing
calculation
Prior art date
Application number
PCT/JP2015/085774
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 日本電信電話株式会社
Priority to US15/535,638 priority Critical patent/US10950144B2/en
Priority to EP15873044.0A priority patent/EP3239963B1/en
Priority to CN201580068181.4A priority patent/CN107111965B/zh
Publication of WO2016104476A1 publication Critical patent/WO2016104476A1/ja

Links

Images

Classifications

    • 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
    • G09C1/04Apparatus 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 with sign carriers or indicators moved relative to one another to positions determined by a permutation code, or key, so as to indicate the appropriate corresponding clear or ciphered text
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Definitions

  • This invention relates to a secret calculation technique, and more particularly to a technique for detecting tampering during a secret calculation.
  • Non-Patent Document 1 There is a method described in Non-Patent Document 1 as a conventional technique for detecting falsification during secret calculation.
  • a malicious model with confidentiality and correctness is used for the function F of m input ⁇ output composed of addition, constant multiplication, multiplication, product-sum, and random permutation on the ring R. Calculate above.
  • the malicious model is a model in which an attacker performs an arbitrary illegal operation.
  • the semi-honest model is a model that attempts to steal data in the category that the attacker performs correctly.
  • Non-patent document 1 detects tampering during secret calculation in three phases.
  • the variance value is converted into a randomized variance value that can be verified for validity.
  • a desired secret calculation is executed using an operation for a randomized variance value configured by a semi-honest operation. At this time, the calculation is performed while collecting checksums necessary in the subsequent validity verification phase.
  • the checksums collected in the calculation phase are collectively verified. If it is valid, the calculation result in the calculation phase is output, and if it is not valid, the calculation result is not output and only the fact that it is not valid is output.
  • Non-Patent Document 1 The secret falsification detection technique described in Non-Patent Document 1 is based on a secret calculation using one secret sharing, and cannot be applied to a secret calculation using a plurality of secret sharing.
  • an object of the present invention is to detect tampering during secret calculation using a plurality of secret sharing schemes.
  • falsification during secret calculation using a plurality of secret sharing can be detected.
  • FIG. 1 is a diagram illustrating a functional configuration of a secret tampering detection system.
  • FIG. 2 is a diagram illustrating a functional configuration of the secret computing device.
  • FIG. 3 is a diagram illustrating a processing flow of the secret tampering detection method.
  • A is a bonded multiple ring on ring R.
  • a bond multiple ring is a bond ring and has a structure of a linear space on the body that is compatible with the ring. It can be said that the combined multi-ring is that the value handled in the vector space is not a field but a ring.
  • X i (subscript).
  • [X] is a secret sentence with the value x ⁇ R.
  • the secret text is a value obtained by concealing the value by means such as encryption or secret sharing.
  • [X] is a set in which each element of the set X is concealed.
  • X is the number of elements in set X.
  • ⁇ X> is the randomized variance value with value x ⁇ R.
  • the randomized variance value is a set of a variance value [x] of the value x ⁇ R and a variance value [xr] of the integrated value xr of the value x and the random number r ⁇ A. Therefore, the randomized variance value can be defined as in equation (1).
  • the 0th component ([x] in equation (1)) of the randomized dispersion value is also called the R component, and the first component ([xr] in equation (1)) is also called the A component.
  • ⁇ Rr> is the space of the randomized variance with the random number r ⁇ A as a parameter.
  • the confidentiality is improved because fewer values are disclosed when verification is performed together as much as possible than when individual secret sharing is verified. Therefore, in the secret sharing on the same ring, the secret sharing format of the checksum is unified and the verification is performed collectively.
  • the secret tampering detection system includes N ( ⁇ 3) secret computing devices 1 1 ,..., 1 N.
  • the secret computing devices 1 1 ,..., 1 N are connected to the communication network 2 respectively.
  • the communication network 2 is a circuit-switched or packet-switched communication network configured such that connected devices can communicate with each other.
  • the Internet a LAN (Local Area Network), or a WAN (Wide Area Network). Etc. can be used.
  • Each device does not necessarily need to be able to communicate online via the communication network 2.
  • secure computing apparatus 1 1, ..., and stores information to be input to the 1 N in a portable recording medium such as a magnetic tape or a USB memory, secure computing apparatus 1 1 from the portable recording medium, ..., offline to 1 N You may comprise so that it may input.
  • a portable recording medium such as a magnetic tape or a USB memory
  • the secret calculation device 1 n includes, for example, a control unit 101, a storage unit 102, an input unit 11, a random number generation unit 12, a randomization unit 13, a secret calculation unit 14, a synchronization unit 15, a validity proving unit 16, and an output unit 17. including.
  • the secret computing device 1 n is configured, for example, by loading a special program into a known or dedicated computer having a central processing unit (CPU), a main storage (RAM), and the like. It is a special device.
  • the secret computing device 1 n executes each process under the control of the control unit 101.
  • the data input to the secret computing device 1 n and the data obtained in each process are stored in, for example, the storage unit 102, and the data stored in the storage unit 102 is read out to the control unit 101 as necessary. Used for other processing.
  • At least a part of each processing unit of the secret computing device 1 n may be configured by hardware such as an integrated circuit.
  • step S11 M ( ⁇ 1) distributed values [a 0 ],..., [A M ⁇ 1 ] are input to the input unit 11 of the secret computing device 1 n .
  • the input variance values [a 0 ],..., [A M ⁇ 1 ] are output to the randomizing unit 13.
  • the number M of input variance values [a 0 ],..., [A M ⁇ 1 ] is appropriately determined according to the content of the secret calculation performed by the secret calculation unit 14.
  • the secret sharing method may be any secret sharing method as long as a desired calculation can be performed on the secret calculation.
  • the distribution values [a 0 ],..., [A M ⁇ 1 ] in this embodiment are premised on the fact that there are mixed values of J ( ⁇ 2) types of secret sharing.
  • the plurality of secret sharing may be secret sharing on the same ring, or may be secret sharing on different rings.
  • a plurality of secret sharing on the same ring and secret sharing on different rings may be mixed.
  • the distributed values [a 0 ], ..., [a M-1 ] are only distributed values based on one type of secret sharing at the time of input. Even if dispersion is used, the tampering detection technique of the present invention can be applied.
  • step S12 the random number generator 12, J random numbers r 0 selected from associative algebra A, ..., the variance of r J-1 ⁇ A [r 0 ], ..., generates the [r J-1] To do.
  • the generated variance values [r 0 ],..., [R J ⁇ 1 ] are output to the randomizing unit 13.
  • the generation of the distributed values [r 0 ], ..., [r J-1 ] is performed in a state where the random numbers r 0 , ..., r J-1 are concealed from any of the secret computing devices 1 1 , ..., 1 N. It must be broken.
  • the secret computing devices 1 1 ,..., 1 N constituting the secret falsification detection system can cooperate to generate a distributed value [r j ] of the random number r j .
  • each of the secret computing devices 1 n generates a random number r n .
  • a distributed value [r n ] of the random number r n is generated by the concealment method described in Reference Document 1 above.
  • one of the secure computing apparatus 1 1, ..., 1 N also without knowing the random number r j, it is possible to obtain the variance of the random number r j [r j]. Further, if it is possible to allow the use of random number sharing in advance or use of pseudo-random numbers, the distributed value [r j ] of the random number r j can be generated using replicated secret sharing. If replicating secret sharing is used, a distributed value [r j ] of random numbers r j can be generated without communication between the secret computing devices 1 1 ,..., 1 N. See Reference 2 below for details on replicating secret sharing. [Reference 2] R. Cramer, I. Damgard, and Y. Ishai, “Share conversion, pseudorandom secret-sharing and applications to secure computation”, TCC, Vol. 3378 of Lecture Notes in Computer Science, pp. 342-362 , Springer, 2005.
  • step S13 randomizer 13, variance [a 0], ..., [ a M-1] and variance [r 0], ..., with the [r J-1], randomized variance ⁇ a 0>, ..., to generate a ⁇ a M-1>.
  • step S14 the secure computing part 14, a randomized variance ⁇ a 0>, ..., with respect to ⁇ a M-1>, calculates the function F to perform a secret calculations using J type secret sharing
  • a secret function value [F ([a 0 ],..., [A M-1 ])] is obtained.
  • the function F is calculated while including the randomized variance value to be calculated and the randomized variance value of the calculation result in J checksums corresponding to the type of secret sharing to be used.
  • the j-th checksum C j : Add to ⁇ f 0 >, ..., ⁇ f ⁇ j-1 >.
  • ⁇ f 0 >, ..., ⁇ f ⁇ j-1 > are the randomized variance values of the calculation target or calculation result
  • the subscript “ ⁇ j-1” represents ⁇ j-1
  • ⁇ j is the number of randomized variance values included in the checksum C j .
  • the value of ⁇ j is added every time a randomized variance value is newly included in the checksum C j with an initial value of 0.
  • the randomized variance value to be included in the checksum and the timing at which the randomized variance value should be acquired in the checksum varies depending on the type of calculation of the secret calculation (for example, addition / constant multiplication, multiplication, sum of products, random replacement, etc.) .
  • step S ⁇ b> 15 the synchronization unit 15 executes a synchronization process (SYNC) that waits until all secret computations are completed for all secret sharing before performing the validity proof.
  • SYNC a synchronization process
  • the function value [F ([a 0 ],..., [A M-1 ])] obtained by the secret calculation unit 14 is detected.
  • J checksums C 0 ,..., C J ⁇ 1 are output to the validity proving unit 16.
  • step S16 correctness proof unit 16, variance [r 0], ..., checksum C 0 using the [r J-1], ... , by validating the C J-1, the function value [F Prove the validity of ([a 0 ], ..., [a M-1 ])].
  • function value [F ([a 0 ], ..., [a M-1 ])] is output when it is determined that there is no tampering To the unit 17.
  • information indicating that fact for example, “ ⁇ ” is output to the output unit 17.
  • step S16 If it is determined in step S16 that there has been no tampering and there is a subsequent process for calculating the desired function, the process returns to step S14 again, and the process is repeated from the secret calculation to the validity proof. May be executed. At this time, each time the validity proof is completed, the randomized variance value included in the checksums C 0 ,..., C J-1 may be discarded. Such repeated secret calculation and correctness proof are necessary when a value that is guaranteed not to be tampered with is disclosed and subsequent processing is performed using that value. This is because disclosure of the altered value may cause a loss of confidentiality.
  • step S ⁇ b> 17 the output unit 17 outputs the function value [F ([a 0 ],..., [A M ⁇ 1 ])] received from the validity proving unit 16 or information indicating that the falsification has occurred.
  • Verification of the j-th checksum C j is, R component of randomization variance values included in the checksum C j [f 0], ... , multiplied by the variance value to the sum of [f ⁇ j-1] [r j]
  • the variance [ ⁇ j ] and the variance [ ⁇ j ] which is the sum of the A components [f 0 r j ], ..., [f ⁇ j ⁇ 1 r j ] of the randomized variance included in the checksum C j
  • the validity proving unit 16 verifies the checksum C j as follows, for example.
  • Variance [ ⁇ 0], ..., [ ⁇ ⁇ j-1] random number [rho 0 from generation either secure computing apparatus 1 n of, ..., ⁇ ⁇ j-1 must be performed in a state of being concealed.
  • the variance values [ ⁇ 0 ],..., [ ⁇ ⁇ j ⁇ 1 ] may be generated by the same method as the random number generator 12.
  • the R component [f 0 ],..., [F ⁇ j-1 ] of the randomized variance value included in the checksum C j and the variance value [ ⁇ 0 ], random numbers ⁇ 0 ,. .., [ ⁇ ⁇ j-1 ] and the variance [r j ] of the random number r j are used to obtain the variance [ ⁇ j ] by the following equation (2).
  • the A component [f 0 r j ], ..., [f ⁇ j-1 r j ] of the randomized variance value included in the checksum C j and the variance value [ ⁇ of the random numbers ⁇ 0 , ..., ⁇ ⁇ j-1 0 ],..., [ ⁇ ⁇ j ⁇ 1 ] are used to obtain the dispersion value [ ⁇ j ] by the following equation (3).
  • the number of secret computing devices 1 n required for restoration can be set as K, and the total communication amount can be set as N (K ⁇ 1). Note that there are some semi-honest operations that include restoration that does not guarantee correctness in secret computations, but even if restoration that does not guarantee validity is included as a component of secret computations, it will affect the security of the entire secret computation. do not do.
  • the validity is proved together as much as possible, the number of disclosed values will be reduced, so the confidentiality will be improved. be able to.
  • the dispersion value after conversion [phi j] and the checksum C j 'calculated variance value from [phi j'] summed dispersion value and [ ⁇ j + ⁇ j '] the dispersion value after conversion [[psi It is verified whether or not the variance value [ ⁇ j + ⁇ j ′ ] obtained by adding the variance value [ ⁇ j ′ ] calculated from the j′- th checksum C j ′ is equal to j ].
  • the variance [f i ] and the variance [f i r j ] are both altered to be [f i + x] and [f i r j + y]
  • the value obtained is given by equation (4).
  • the attacker must adjust [f i ] and [f i r j ] by adjusting the traps so that the value of xr j -y becomes 0, but the attacker does not know the random number r j ⁇ A Therefore, the probability of satisfying this is 1 /
  • the random numbers ⁇ 0 ,..., ⁇ ⁇ j ⁇ 1 are multiplied, the overall alteration success probability is at most 2 /
  • the secret falsification detection system of this embodiment can detect falsification even in a secret calculation using a plurality of secret sharing schemes.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • this program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD, CD-ROM, or USB memory in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device.
  • the computer reads a program stored in its own recording medium and executes a process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer.
  • the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good.
  • ASP Application Service Provider
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the present apparatus is configured by executing a predetermined program on a computer.
  • a predetermined program on a computer.
  • at least a part of these processing contents may be realized by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)

Abstract

 複数の秘密分散を使用する秘密計算中の改ざんを検知する。秘密計算装置1は、分散値[a0],…,[aM-1]を入力とし、J種類の秘密分散を使う秘密計算を行う関数Fによる関数値[F([a0],…,[aM-1])]を出力とし、秘密計算中の改ざんを検知する。乱数生成部12は分散値[r0],…,[rJ-1]を求める。ランダム化部13は分散値[am]と分散値[rj]とを積算した分散値[amrj]を計算し、ランダム化分散値<am>:=<[am],[amrj]>を生成する。秘密計算部14は計算対象と計算結果のランダム化分散値をチェックサムCjへ含めながら関数値[F([a0],…,[aM-1])]を求める。同期部15はすべての秘密分散を使う秘密計算が終了するまで待機する。正当性証明部16は、チェックサムCjに含まれる分散値[f0],…,[fμj-1]の総和に分散値[rj]を乗じた分散値[φj]と、チェックサムCjに含まれる分散値[f0rj],…,[fμj-1rj]の総和である分散値[ψj]とが等しいか否かを検証する。

Description

秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
 この発明は、秘密計算技術に関し、特に秘密計算中の改ざんを検知する技術に関する。
 秘密計算中の改ざんを検知する従来技術として、非特許文献1に記載の方法がある。非特許文献1に記載の秘密改ざん検知方法では、環R上の加算・定数倍・乗算・積和・ランダム置換から構成されるm入力μ出力の関数Fを秘匿性および正当性をもつmaliciousモデル上で計算する。なお、maliciousモデルとは、攻撃者が任意の不正な動作を行うモデルである。対してsemi-honestモデルは、攻撃者の行う処理は正しく、その範疇でデータを盗み見ようとするモデルである。
 非特許文献1では、3つのフェーズで秘密計算中の改ざん検知を行う。ランダム化フェーズでは、分散値を正当性検証可能なランダム化分散値へと変換する。計算フェーズでは、semi-honestの演算により構成されるランダム化分散値用の演算を用いて所望の秘密計算を実行する。このとき、後続の正当性証明フェーズで必要となるチェックサムを収集しながら計算が行われる。正当性証明フェーズでは、計算フェーズで収集されたチェックサムに対して、一括で正当性証明を行う。正当であれば計算フェーズによる計算結果を出力し、正当でなければ計算結果は出力せずに正当でない旨のみを出力する。
五十嵐大、千田浩司、濱田浩気、菊池亮、"非常に高効率なn≧2k-1 malicious モデル上秘密分散ベースマルチパーティ計算の構成法"、SCIS2013、2013年
 非特許文献1に記載の秘密改ざん検知技術では、1つの秘密分散を使用する秘密計算を前提としており、複数の秘密分散を使用する秘密計算には適用することができなかった。
 この発明の目的は、このような点に鑑みて、複数の秘密分散を使用する秘密計算中の改ざんを検知することである。
 上記の課題を解決するために、この発明の秘密改ざん検知方法は、N台の秘密計算装置が、M個の値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]を入力とし、J種類の秘密分散を使う秘密計算を行う関数Fによる関数値[F([a0],…,[aM-1])]を出力とし、秘密計算中の改ざんを検知する秘密改ざん検知方法であって、Nを3以上の整数とし、Mを1以上の整数とし、μを1以上の整数とし、Jを2以上の整数とし、mを0以上M未満の整数とし、jを0以上J未満の整数とし、秘密計算装置の乱数生成部が、J個の乱数r0,…,rJ-1を秘密分散した分散値[r0],…,[rJ-1]を求める乱数生成ステップと、秘密計算装置のランダム化部が、m番目の分散値[am]がj番目の秘密分散の分散値であるとし、分散値[am]と分散値[rj]とを積算した分散値[amrj]を計算し、分散値[am]と分散値[amrj]とを組としたランダム化分散値<am>:=<[am],[amrj]>を生成するランダム化ステップと、秘密計算装置の秘密計算部が、j番目の秘密分散を用いる秘密計算を行う際に、計算対象のランダム化分散値と計算結果のランダム化分散値をチェックサムCjへ含めながら、関数値[F([a0],…,[aM-1])]を求める秘密計算ステップと、秘密計算装置の同期部が、すべての秘密分散を使う秘密計算が終了するまで待機する同期ステップと、秘密計算装置の正当性証明部が、j=0,…,J-1について、μjをj番目のチェックサムCjに含まれるランダム化分散値の総数とし、<f0>,…,<fμj-1>をj番目のチェックサムCjに含まれるランダム化分散値とし、チェックサムCj:=(<f0>,…,<fμj-1>)に含まれる分散値[f0],…,[fμj-1]の総和に分散値[rj]を乗じた分散値[φj]と、チェックサムCj:=(<f0>,…,<fμj-1>)に含まれる分散値[f0rj],…,[fμj-1rj]の総和である分散値[ψj]とが等しいか否かを検証する正当性証明ステップと、を含む。
 この発明の秘密改ざん検知技術によれば、複数の秘密分散を使用する秘密計算中の改ざんを検知できる。
図1は、秘密改ざん検知システムの機能構成を例示する図である。 図2は、秘密計算装置の機能構成を例示する図である。 図3は、秘密改ざん検知方法の処理フローを例示する図である。
 実施形態の説明に先立ち、この明細書における表記方法およびこの発明の基本的な考え方について説明する。
[表記方法]
 この発明で扱う値は、特に断りのない限り環R上の値とする。Aは環R上の結合多元環である。結合多元環とは、結合的な環であって、かつそれと両立するような、何らかの体上の線型空間の構造を備えたものである。結合多元環は、ベクトル空間で扱う値が体ではなく環でよくなったものと言える。
 ベクトルXの第i要素をXi(下付き添字)で参照する。
 [x]は値x∈Rの秘匿文である。秘匿文は値を暗号化や秘密分散などの手段で秘匿化した値である。Xが集合である場合には、[X]は集合Xの各要素を秘匿化した集合である。
 |X|は集合Xの要素数である。
 <x>は値x∈Rのランダム化分散値である。ランダム化分散値とは、値x∈Rの分散値[x]と、値xと乱数r∈Aとの積算値xrの分散値[xr]との組である。したがって、ランダム化分散値は式(1)のように定義できる。
Figure JPOXMLDOC01-appb-M000001
 ランダム化分散値の第0成分(式(1)における[x])はR成分、第1成分(式(1)における[xr])はA成分とも呼ぶ。
 乱数r∈Aをパラメータとするランダム化分散値の空間を<Rr>とする。
[安全性]
 暗号理論の技術分野ではプロトコルの安全性を証明するために利用者・参加者や攻撃者をモデル化する。このようなモデルとして、maliciousモデルやsemi-honestモデルが用いられている。maliciousモデルは攻撃者が任意の不正な動作を行う。semi-honestモデルは攻撃者の行う処理は正しく、その範疇でデータを盗み見ようとする。したがって、maliciousモデルにおいて安全性が証明されたプロトコルの方がより安全性が高いと評価できる。
[発明のポイント]
 従来の秘密改ざん検知技術では、一つの秘密分散を使用する秘密計算しか対応できず、複数の秘密分散を使用する秘密計算では改ざん検知ができなかった。複数の秘密分散を使用する場合、秘密分散ごとに従来の秘密改ざん検知技術を用いて個別に検証すればよいようにも思えるが、そのような実装では安全性の問題がある。この発明では、複数の秘密分散を使用する秘密計算において適切な安全性を確保するために、以下の条件を満たすように構成する。
1.同じ環上の秘密分散ではランダム化分散値を生成する際の乱数の値が一致している。
2.正当性検証を行う前にすべての秘密分散において秘密計算が完了している。
 また、各秘密分散を個別に検証するよりも、可能な限りまとめて検証を行う方が公開される値が少なくなるため秘匿性が向上する。そこで、同じ環上の秘密分散では、チェックサムの秘密分散形式を統一し、まとめて検証を行うように構成する。
[実施形態]
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 図1を参照して、実施形態の秘密改ざん検知システムの構成例を説明する。秘密改ざん検知システムは、N(≧3)台の秘密計算装置11,…,1Nを含む。本形態では、秘密計算装置11,…,1Nはそれぞれ通信網2へ接続される。通信網2は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網2を介してオンラインで通信可能である必要はない。例えば、秘密計算装置11,…,1Nへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置11,…,1Nへオフラインで入力するように構成してもよい。
 図2を参照して、秘密改ざん検知システムに含まれる秘密計算装置1n(n=1,…,N)の構成例を説明する。秘密計算装置1nは、例えば、制御部101、記憶部102、入力部11、乱数生成部12、ランダム化部13、秘密計算部14、同期部15、正当性証明部16、および出力部17を含む。
 秘密計算装置1nは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算装置1nは、例えば、制御部101の制御のもとで各処理を実行する。秘密計算装置1nに入力されたデータや各処理で得られたデータは、例えば、記憶部102に格納され、記憶部102に格納されたデータは必要に応じて制御部101へ読み出されて他の処理に利用される。秘密計算装置1nの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 図3を参照して、実施形態の秘密改ざん検知方法の処理手続きを説明する。
 ステップS11において、秘密計算装置1nの入力部11へM(≧1)個の分散値[a0],…,[aM-1]が入力される。入力された分散値[a0],…,[aM-1]はランダム化部13へ出力される。分散値[am](m=0,…,M-1)は、値amを秘密分散した分散値である。入力される分散値[a0],…,[aM-1]の個数Mは、秘密計算部14で行われる秘密計算の内容により適宜決定される。
 秘密分散の方法は、秘密計算上で所望の演算が可能な秘密分散方式であればどのような秘密分散方式であってもよい。本形態の分散値[a0],…,[aM-1]はJ(≧2)種類の秘密分散による分散値が混在していることを前提とする。また、複数の秘密分散は同一の環上の秘密分散であってもよいし、異なる環上の秘密分散であってもよい。また、同一の環上の複数の秘密分散と異なる環上の秘密分散とが混在していてもよい。なお、分散値[a0],…,[aM-1]が、入力時には1種類の秘密分散による分散値のみであり、秘密計算の中で形式変換を行うなどにより、全体として複数の秘密分散が利用されている場合であっても、この発明の改ざん検知技術は適用可能である。適用可能な秘密分散方法についての詳細は、下記参考文献1などを参照されたい。
〔参考文献1〕千田浩司、濱田浩気、五十嵐大、高橋克己、“軽量検証可能3パーティ秘匿関数計算の再考”、CSS2010、2010年
 ステップS12において、乱数生成部12は、結合多元環Aから選択したJ個の乱数r0,…,rJ-1∈Aの分散値[r0],…,[rJ-1]を生成する。生成した分散値[r0],…,[rJ-1]はランダム化部13に出力される。分散値[r0],…,[rJ-1]の生成は、いずれの秘密計算装置11,…,1Nからも乱数r0,…,rJ-1が秘匿された状態で行われなければならない。
 例えば、秘密改ざん検知システムを構成する秘密計算装置11,…,1Nが協調して乱数rjの分散値[rj]を生成することができる。具体的には、まず、秘密計算装置1nはそれぞれが乱数rnを生成する。次に、上記の参考文献1に記載された秘匿方法により乱数rnの分散値[rn]を生成する。そして、秘密計算装置1nはそれぞれ[rj]=Σn<N[rn]を計算し、乱数rjの分散値[rj]を得る。このように構成すれば、いずれの秘密計算装置11,…,1Nも乱数rjを知ることなく、乱数rjの分散値[rj]を得ることができる。また、事前の乱数共有や疑似乱数の利用を許すことが可能であれば、複製型秘密分散(replicated secret sharing)を利用して乱数rjの分散値[rj]を生成することができる。複製型秘密分散を利用すれば秘密計算装置11,…,1N間での通信なしに乱数rjの分散値[rj]を生成することができる。複製型秘密分散の詳細については、下記参考文献2を参照されたい。
〔参考文献2〕R. Cramer, I. Damgard, and Y. Ishai, “Share conversion, pseudorandom secret-sharing and applications to secure computation”, TCC, Vol. 3378 of Lecture Notes in Computer Science, pp. 342-362, Springer, 2005. 
 J個の秘密分散のうち同一の環上の秘密分散が存在する場合には、一方の秘密分散のための分散値を他方の秘密分散のための分散値に変換することで、乱数の値が同一となるように生成する。この形式変換においても、改ざん検知が可能もしくは改ざんが不可能でなければならない。例えば、j(j=0,…,J-1)番目の秘密分散とj'(j'=0,…,J-1、j≠j')番目の秘密分散が同一の環上の秘密分散である場合には、j番目の秘密分散のための乱数rjを秘密分散した分散値[rj]を生成し、その分散値[rj]を改ざん検知可能もしくは改ざん不可能な方法によりj'番目の秘密分散による分散値[rj']に形式変換する。例えば、複製型秘密分散から線形秘密分散(linear secret sharing)へ変換する改ざん不可能な方法は、上記参考文献2に記載されている。
 ステップS13において、ランダム化部13は、分散値[a0],…,[aM-1]と分散値[r0],…,[rJ-1]とを用いて、ランダム化分散値<a0>,…,<aM-1>を生成する。具体的には、ランダム化部13は、m=0,…,M-1について、m番目の分散値[am]がj番目の秘密分散による分散値であるとして、分散値[am]と分散値[rj]とを用いて、[amrj]=[am]×[rj]を上記参考文献1に記載された秘密計算方法により求め、分散値[am]と分散値[amrj]とを組としてランダム化分散値<am>=([am],[amrj])を生成する。生成したランダム化分散値<a0>,…,<aM-1>は秘密計算部14へ出力される。
 ステップS14において、秘密計算部14は、ランダム化分散値<a0>,…,<aM-1>に対して、J種類の秘密分散を使用する秘密計算を実行する関数Fを計算して秘匿された関数値[F([a0],…,[aM-1])]を求める。この際、使用する秘密分散の種類に対応するJ個のチェックサムへ計算対象のランダム化分散値と計算結果のランダム化分散値を含めながら関数Fを計算する。例えば、j(j=0,…,J-1)番目の秘密分散を用いる演算であれば、計算対象のランダム化分散値と計算結果のランダム化分散値をj番目のチェックサムCj:=<f0>,…,<fμj-1>へ追加する。ここで、<f0>,…,<fμj-1>は計算対象もしくは計算結果の各ランダム化分散値であり、下付き添え字の「μj-1」はμj-1を表しており、μjはチェックサムCjに含まれるランダム化分散値の数である。μjの値は初期値を0としてチェックサムCjにランダム化分散値を新たに含めるたびに加算される。チェックサムに含める対象のランダム化分散値やチェックサムにランダム化分散値を取得するべきタイミングは、秘密計算の演算の種類(例えば、加算・定数倍、乗算、積和、ランダム置換など)によって異なる。これらの詳細は、非特許文献1に記載の秘密改ざん検知方法と同様である。
 ステップS15において、同期部15は、正当性証明を行う前に、すべての秘密分散についてすべての秘密計算が終了するまで待機する同期処理(SYNC)を実行する。同期部15は、すべての秘密分散についてすべての秘密計算が終了したことを検知すると、秘密計算部14により求められた関数値[F([a0],…,[aM-1])]と、J個のチェックサムC0,…,CJ-1を正当性証明部16へ出力する。
 ステップS16において、正当性証明部16は、分散値[r0],…,[rJ-1]を用いてチェックサムC0,…,CJ-1を検証することで、関数値[F([a0],…,[aM-1])]の正当性を証明する。J個のチェックサムC0,…,CJ-1すべてを検証した結果、改ざんがないと判定した場合は関数値[F([a0],…,[aM-1])]を出力部17へ出力する。改ざんがあったと判断した場合はその旨を示す情報(例えば、「⊥」など)を出力部17へ出力する。
 ステップS16において改ざんがないと判定した場合であって、所望の関数を計算するための後続の処理が残されている場合には、再度ステップS14に戻り、秘密計算から正当性証明まで処理を繰り返し実行してもよい。この際、正当性証明が完了するたびに、チェックサムC0,…,CJ-1に含まれるランダム化分散値を破棄してもよい。このような秘密計算と正当性証明の繰り返しは、改ざんされていないことが保証された値を公開し、その値を用いて後続の処理を行うような場合に必要となる。改ざんされた値が公開されることは、秘匿性を損なう原因となる場合があるためである。
 ステップS17において、出力部17は、正当性証明部16から受け取った関数値[F([a0],…,[aM-1])]もしくは改ざんがあった旨を示す情報を出力する。
 j番目のチェックサムCjの検証は、チェックサムCjに含まれるランダム化分散値のR成分[f0],…,[fμj-1]の総和に分散値[rj]を乗じた分散値[φj]と、チェックサムCjに含まれるランダム化分散値のA成分[f0rj],…,[fμj-1rj]の総和である分散値[ψj]とに基づいて行われる。具体的には、正当性証明部16は、例えば、以下のようにしてチェックサムCjを検証する。まず、結合多元環A上のμj個の乱数ρ0,…,ρμj-1の分散値[ρ0],…,[ρμj-1]を生成する。分散値[ρ0],…,[ρμj-1]の生成はいずれの秘密計算装置1nからも乱数ρ0,…,ρμj-1が秘匿された状態で行われなければならない。分散値[ρ0],…,[ρμj-1]の生成は、乱数生成部12と同様の方法により行えばよい。次に、チェックサムCjに含まれるランダム化分散値のR成分[f0],…,[fμj-1]と、乱数ρ0,…,ρμj-1の分散値[ρ0],…,[ρμj-1]と、乱数rjの分散値[rj]とを用いて、以下の式(2)により分散値[φj]を求める。
Figure JPOXMLDOC01-appb-M000002
 また、チェックサムCjに含まれるランダム化分散値のA成分[f0rj],…,[fμj-1rj]と、乱数ρ0,…,ρμj-1の分散値[ρ0],…,[ρμj-1]とを用いて、以下の式(3)により分散値[ψj]を求める。
Figure JPOXMLDOC01-appb-M000003
 そして、分散値[φj]と分散値[ψj]とを減算した分散値[δj]=[φj]-[ψj]を復元する。復元の方法は、各分散値に対応する秘密分散方式の復元操作で行えばよいが、この際、maliciousモデルで正当性を保証する。具体的にはすべての秘密計算装置1n(n=0,…,N-1)が互いに分散値[δj]を他の秘密計算装置1n'(n'=0,…,N-1、n≠n')へ送信し、分散値の一貫性を確認することで完全な正当性を保証する。この場合、秘密計算装置1nの総数をNとして、総通信量はN(N-1)である。分散値のデータ量が大きいとき、確率的な方法を用いれば、復元に必要な秘密計算装置1nの数をKとして、総通信量をN(K-1)とすることができる。なお、秘密計算には正当性を保証しない復元を含むsemi-honest演算もあるが、秘密計算の構成要素として正当性を保証しない復元が含まれていても、秘密計算全体の安全性には影響しない。
 すべての秘密計算装置11,…,1Nにおいて復元した値δ0,…,δJ-1が0であれば、秘密計算全体を通して改ざんがなかったものと判定する。いずれかの秘密計算装置1jにおいて復元した値δjが0以外であれば、秘密計算において改ざんがあったものと判定する。
 J種類の秘密分散のうち同一の環上の秘密分散が存在する場合には、可能な限りまとめて正当性証明を行うと、公開される値の数が少なくなるため、より秘匿性を向上することができる。例えば、j(j=0,…,J-1)番目の秘密分散とj'(j'=0,…,J-1、j≠j')番目の秘密分散が同一の環上の秘密分散である場合には、以下のように正当性証明を行う。まず、チェックサムCjから上述のように算出した分散値[φj]と、チェックサムCjから上述のように算出した分散値[ψj]とをそれぞれj'番目の秘密分散へ変換する。そして、変換後の分散値[φj]とチェックサムCj'から算出した分散値[φj']とを合算した分散値[φjj']と、変換後の分散値[ψj]とj'番目のチェックサムCj'から算出した分散値[ψj']とを合算した分散値[ψjj']とが等しいか否かを検証する。すなわち、すべての同じ環上の秘密分散の組み合わせについて、[δ]=([φj]+[φj'])-([ψj]+[ψj’])を計算し、復元値δが0であれば、j番目の秘密分散とj'番目の秘密分散を用いる秘密計算は全体を通して改ざんがなかったものと判定する。[δ]=([φj]+[φj'])-([ψj]+[ψj’])を計算し、復元値δが0以外であれば、j番目の秘密分散とj'番目の秘密分散を用いる秘密計算のいずれかの演算において改ざんがあったものと判定する。このようにして、すべての同一の環上の秘密分散の組み合わせについて検証し、秘密計算全体で改ざんがなかったことを検証する。本形態では2個の秘密分散が同一の環上の秘密分散である例を説明したが、3個以上の秘密分散が同一の環上の秘密分散である場合でも、同様の方法により正当性証明を行うことができる。
 正当性証明の基本的な考え方を説明する。チェックサムの検証は、ランダム化分散値<fi>それぞれに着目すると、[fi][rj]-[firj]=0であるかを検証することである。ここで、分散値[fi]と分散値[firj]がいずれも改ざんされ、[fi+x]と[firj+y]とされた場合を考えると、検証により得られる値は式(4)となる。
Figure JPOXMLDOC01-appb-M000004
 攻撃者はこのxrj-yの値を0となるように辻褄を合わせて[fi]と[firj]を操作しなければならないが、攻撃者は乱数rj∈Aを知らないため、これを満たすようにすることができる確率は、1/|A|となる。ただし、本形態では乱数ρ0,…,ρμj-1を乗じているため全体の改ざん成功確率は高々2/|A|となる。
 このようにして、本形態の秘密改ざん検知システムは、複数の秘密分散を用いる秘密計算においても改ざん検知が可能となる。
 この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM、USBメモリ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (7)

  1.  N台の秘密計算装置が、M個の値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]を入力とし、J種類の秘密分散を使う秘密計算を行う関数Fによる関数値[F([a0],…,[aM-1])]を出力とし、秘密計算中の改ざんを検知する秘密改ざん検知方法であって、
     Nを3以上の整数とし、Mを1以上の整数とし、μを1以上の整数とし、Jを2以上の整数とし、mを0以上M未満の整数とし、jを0以上J未満の整数とし、
     上記秘密計算装置の乱数生成部が、J個の乱数r0,…,rJ-1を秘密分散した分散値[r0],…,[rJ-1]を求める乱数生成ステップと、
     上記秘密計算装置のランダム化部が、m番目の分散値[am]がj番目の秘密分散の分散値であるとし、上記分散値[am]と上記分散値[rj]とを積算した分散値[amrj]を計算し、上記分散値[am]と上記分散値[amrj]とを組としたランダム化分散値<am>:=<[am],[amrj]>を生成するランダム化ステップと、
     上記秘密計算装置の秘密計算部が、j番目の秘密分散を用いる秘密計算を行う際に、計算対象のランダム化分散値と計算結果のランダム化分散値をチェックサムCjへ含めながら、上記関数値[F([a0],…,[aM-1])]を求める秘密計算ステップと、
     上記秘密計算装置の同期部が、すべての秘密分散を使う秘密計算が終了するまで待機する同期ステップと、
     上記秘密計算装置の正当性証明部が、j=0,…,J-1について、μjをj番目のチェックサムCjに含まれるランダム化分散値の総数とし、<f0>,…,<fμj-1>をj番目のチェックサムCjに含まれるランダム化分散値とし、上記チェックサムCj:=(<f0>,…,<fμj-1>)に含まれる分散値[f0],…,[fμj-1]の総和に上記分散値[rj]を乗じた分散値[φj]と、上記チェックサムCj:=(<f0>,…,<fμj-1>)に含まれる分散値[f0rj],…,[fμj-1rj]の総和である分散値[ψj]とが等しいか否かを検証する正当性証明ステップと、
     を含む秘密改ざん検知方法。
  2.  請求項1に記載の秘密改ざん検知方法であって、
     j'を0以上J未満の整数とし、j≠j'とし、j番目の秘密分散とj'番目の秘密分散とが同一の環上の秘密分散であるとし、j番目の秘密分散からj'番目の秘密分散へ改ざん検知可能もしくは改ざん不可能な方式により変換可能であるとし、
     上記乱数生成ステップは、乱数rjをj番目の秘密分散により秘密分散した分散値[rj]を生成し、上記分散値[rj]をj'番目の秘密分散へ変換して分散値[rj']を生成するものである
     秘密改ざん検知方法。
  3.  請求項2に記載の秘密改ざん検知方法であって、
     上記正当性証明ステップは、j番目のチェックサムCjから算出した上記分散値[φj]と上記チェックサムCjから算出した上記分散値[ψj]とをそれぞれj'番目の秘密分散へ変換し、上記分散値[φj]とj'番目のチェックサムCj'から算出した上記分散値[φj']とを合算した分散値[φjj']と、上記分散値[ψj]とj'番目のチェックサムCj'から算出した上記分散値[ψj']とを合算した分散値[ψjj']とが等しいか否かを検証するものである
     秘密改ざん検知方法。
  4.  請求項1から3のいずれかに記載の秘密改ざん検知方法であって、
     上記秘密計算ステップと上記同期ステップと上記正当性証明ステップとを複数回繰り返し実行する
     秘密改ざん検知方法。
  5.  N台の秘密計算装置が、M個の値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]を入力とし、J種類の秘密分散を使う秘密計算を行う関数Fによる関数値[F([a0],…,[aM-1])]を出力とし、秘密計算中の改ざんを検知する秘密改ざん検知システムであって、
     Nを3以上の整数とし、Mを1以上の整数とし、μを1以上の整数とし、Jを2以上の整数とし、mを0以上M未満の整数とし、jを0以上J未満の整数とし、
     上記秘密計算装置は、
      J個の乱数r0,…,rJ-1を秘密分散した分散値[r0],…,[rJ-1]を求める乱数生成部と、
      m番目の分散値[am]がj番目の秘密分散の分散値であるとし、上記分散値[am]と上記分散値[rj]とを積算した分散値[amrj]を計算し、上記分散値[am]と上記分散値[amrj]とを組としたランダム化分散値<am>:=<[am],[amrj]>を生成するランダム化部と、
      j番目の秘密分散を用いる秘密計算を行う際に、計算対象のランダム化分散値と計算結果のランダム化分散値をチェックサムCjへ含めながら、上記関数値[F([a0],…,[aM-1])]を求める秘密計算部と、
      すべての秘密分散を使う秘密計算が終了するまで待機する同期部と、
      j=0,…,J-1について、μjをj番目のチェックサムCjに含まれるランダム化分散値の総数とし、<f0>,…,<fμj-1>をj番目のチェックサムCjに含まれるランダム化分散値とし、上記チェックサムCj:=(<f0>,…,<fμj-1>)に含まれる分散値[f0],…,[fμj-1]の総和に上記分散値[rj]を乗じた分散値[φj]と、上記チェックサムCj:=(<f0>,…,<fμj-1>)に含まれる分散値[f0rj],…,[fμj-1rj]の総和である分散値[ψj]とが等しいか否かを検証する正当性証明部と、
     を含む秘密改ざん検知システム。
  6.  M個の値a0,…,aM-1を秘密分散した分散値[a0],…,[aM-1]を入力とし、J種類の秘密分散を使う秘密計算を行う関数Fによる関数値[F([a0],…,[aM-1])]を出力とし、秘密計算中の改ざんを検知する秘密計算装置であって、
     Nを3以上の整数とし、Mを1以上の整数とし、μを1以上の整数とし、Jを2以上の整数とし、mを0以上M未満の整数とし、jを0以上J未満の整数とし、
     J個の乱数r0,…,rJ-1を秘密分散した分散値[r0],…,[rJ-1]を求める乱数生成部と、
     m番目の分散値[am]がj番目の秘密分散の分散値であるとし、上記分散値[am]と上記分散値[rj]とを積算した分散値[amrj]を計算し、上記分散値[am]と上記分散値[amrj]とを組としたランダム化分散値<am>:=<[am],[amrj]>を生成するランダム化部と、
     j番目の秘密分散を用いる秘密計算を行う際に、計算対象のランダム化分散値と計算結果のランダム化分散値をチェックサムCjへ含めながら、上記関数値[F([a0],…,[aM-1])]を求める秘密計算部と、
     すべての秘密分散を使う秘密計算が終了するまで待機する同期部と、
     j=0,…,J-1について、μjをj番目のチェックサムCjに含まれるランダム化分散値の総数とし、<f0>,…,<fμj-1>をj番目のチェックサムCjに含まれるランダム化分散値とし、上記チェックサムCj:=(<f0>,…,<fμj-1>)に含まれる分散値[f0],…,[fμj-1]の総和に上記分散値[rj]を乗じた分散値[φj]と、上記チェックサムCj:=(<f0>,…,<fμj-1>)に含まれる分散値[f0rj],…,[fμj-1rj]の総和である分散値[ψj]とが等しいか否かを検証する正当性証明部と、
     を含む秘密計算装置。
  7.  請求項6に記載の秘密計算装置としてコンピュータを機能させるためのプログラム。
PCT/JP2015/085774 2014-12-26 2015-12-22 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム WO2016104476A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US15/535,638 US10950144B2 (en) 2014-12-26 2015-12-22 Secret falsification detecting system, secret computation apparatus, secret falsification detecting method, and program
EP15873044.0A EP3239963B1 (en) 2014-12-26 2015-12-22 Secret falsification detection system, secret computation apparatus, secret falsification detecting method, and program
CN201580068181.4A CN107111965B (zh) 2014-12-26 2015-12-22 秘密篡改检测系统和方法、秘密计算装置、以及记录介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-264439 2014-12-26
JP2014264439 2014-12-26

Publications (1)

Publication Number Publication Date
WO2016104476A1 true WO2016104476A1 (ja) 2016-06-30

Family

ID=56150494

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/085774 WO2016104476A1 (ja) 2014-12-26 2015-12-22 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム

Country Status (4)

Country Link
US (1) US10950144B2 (ja)
EP (1) EP3239963B1 (ja)
CN (1) CN107111965B (ja)
WO (1) WO2016104476A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018135511A1 (ja) * 2017-01-18 2018-07-26 日本電信電話株式会社 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム
WO2019039381A1 (ja) 2017-08-22 2019-02-28 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018211676A1 (en) 2017-05-18 2018-11-22 Nec Corporation Multiparty computation method, apparatus and program
CN110800034B (zh) * 2017-07-05 2023-05-02 日本电信电话株式会社 秘密计算系统、秘密计算装置、秘密计算方法、程序以及记录介质
WO2019176520A1 (ja) * 2018-03-12 2019-09-19 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体
WO2021249816A1 (en) 2020-06-08 2021-12-16 F. Hoffmann-La Roche Ag Method of single-cell analysis of multiple samples

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013009245A (ja) * 2011-06-27 2013-01-10 Nec Corp 秘密情報分散システム及び秘密情報分散方法並びに秘密情報生成プログラム及び秘密情報復元プログラム
WO2014112548A1 (ja) * 2013-01-17 2014-07-24 日本電信電話株式会社 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP2014137474A (ja) * 2013-01-17 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 改ざん検知装置、改ざん検知方法、およびプログラム
JP2014138349A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011013428A (ja) * 2009-07-01 2011-01-20 Nec Corp 情報処理装置、コード生成方法、コード検証方法およびプログラム
JP5573041B2 (ja) * 2009-08-05 2014-08-20 日本電気株式会社 情報処理装置、コード生成方法、コード検証方法およびプログラム
JP5957095B2 (ja) * 2013-01-17 2016-07-27 日本電信電話株式会社 改ざん検知装置、改ざん検知方法、およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013009245A (ja) * 2011-06-27 2013-01-10 Nec Corp 秘密情報分散システム及び秘密情報分散方法並びに秘密情報生成プログラム及び秘密情報復元プログラム
WO2014112548A1 (ja) * 2013-01-17 2014-07-24 日本電信電話株式会社 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP2014137474A (ja) * 2013-01-17 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 改ざん検知装置、改ざん検知方法、およびプログラム
JP2014138349A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DAI IKARASHI: "Hijo ni Kokoritsu na n?2k-1 malicious Model-jo Himitsu Bunsan Base Multi Party Keisan no Koseiho", 2013 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY GAIYOSHU, 22 January 2013 (2013-01-22), pages 1 - 8, XP009504170 *
IKARASHI,DAI ET AL.: "Actively Private and Correct MPC Scheme in t<n/2 from Passively Secure Schemes with Small Overhead", CRYPTOLOGY, 30 April 2014 (2014-04-30), XP061015887, Retrieved from the Internet <URL:https://eprint.iacr.org/2014/304/20140430:210051> [retrieved on 20160317] *
RYO KIKUCHI ET AL.: "Himitsu Keisan ni Tekishita Himitsu Bunsan to Compact na Himitsu Bunsan tono Sogo Henkan Protocol", 2014 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY GAIYOSHU, 21 January 2014 (2014-01-21), pages 1 - 8, XP009504169 *
See also references of EP3239963A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018135511A1 (ja) * 2017-01-18 2018-07-26 日本電信電話株式会社 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム
EP3573041A4 (en) * 2017-01-18 2020-06-03 Nippon Telegraph And Telephone Corporation METHOD FOR SAFE CALCULATION, SYSTEM FOR SAFE CALCULATION, DEVICE FOR SAFE CALCULATION AND PROGRAM
US11646880B2 (en) 2017-01-18 2023-05-09 Nippon Telegraph And Telephone Corporation Secret computation method, secret computation system, secret computation apparatus, and program
WO2019039381A1 (ja) 2017-08-22 2019-02-28 日本電信電話株式会社 秘密計算装置、秘密計算方法、プログラム、および記録媒体
US11515998B2 (en) 2017-08-22 2022-11-29 Nippon Telegraph And Telephone Corporation Secure computation device, secure computation method, program, and recording medium

Also Published As

Publication number Publication date
EP3239963A1 (en) 2017-11-01
US10950144B2 (en) 2021-03-16
US20170365192A1 (en) 2017-12-21
EP3239963B1 (en) 2020-07-22
CN107111965B (zh) 2020-11-10
CN107111965A (zh) 2017-08-29
EP3239963A4 (en) 2018-08-15

Similar Documents

Publication Publication Date Title
WO2016104476A1 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
JP5860556B1 (ja) 不整合検知方法、不整合検知システム、不整合検知装置、およびプログラム
US11481786B2 (en) Genuine instance of digital goods
JP6016948B2 (ja) 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
JP6009697B2 (ja) 秘密計算方法、秘密計算システム、ソート装置及びプログラム
Guo et al. Outsourced dynamic provable data possession with batch update for secure cloud storage
JP5957095B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP6040320B2 (ja) 秘密並列処理装置、秘密並列処理方法、プログラム
JP6053238B2 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
CN112600675B (zh) 基于群签名的电子投票方法及装置、电子设备、存储介质
WO2017065123A1 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
Tu et al. Privacy-preserving outsourced auditing scheme for dynamic data storage in cloud
JP6777816B2 (ja) 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP6585846B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
CN111758127B (zh) 秘密计算装置及其方法、秘密计算认证系统以及记录介质
JP6467063B2 (ja) 秘密認証符号付加装置、秘密認証符号付加方法、およびプログラム
Ganorkar et al. An information security scheme for cloud based environment using 3DES encryption algorithm
CN114026586A (zh) 用于授予对加密资产的访问权的零知识或有支付协议
JP6059160B2 (ja) シェア変換システム、シェア変換方法、プログラム
Kulkarni et al. An improved privacy-preserving public auditing for secure cloud storage
Zhou et al. A dynamic multiple digital watermarking model based on temporal series
Anjali et al. Preserving privacy in public auditing for shared cloud data
Ganorkar Achieve Date Integrity and Security on Cloud Storage using 3DES Encryption Algorithm

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: 15873044

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15535638

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015873044

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE