WO2014112550A1 - 改ざん検知装置、改ざん検知方法、およびプログラム - Google Patents

改ざん検知装置、改ざん検知方法、およびプログラム Download PDF

Info

Publication number
WO2014112550A1
WO2014112550A1 PCT/JP2014/050651 JP2014050651W WO2014112550A1 WO 2014112550 A1 WO2014112550 A1 WO 2014112550A1 JP 2014050651 W JP2014050651 W JP 2014050651W WO 2014112550 A1 WO2014112550 A1 WO 2014112550A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
checksum
value
values
detection device
Prior art date
Application number
PCT/JP2014/050651
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 CN201480005189.1A priority Critical patent/CN104919754B/zh
Priority to US14/759,352 priority patent/US10523422B2/en
Priority to JP2014557491A priority patent/JP5957095B2/ja
Priority to EP14740216.8A priority patent/EP2947814B1/en
Publication of WO2014112550A1 publication Critical patent/WO2014112550A1/ja

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Definitions

  • Non-Patent Document 1 generates a checksum c of values a 0 ,..., A N-1 ⁇ F with F as a field, using the random number r ⁇ F, by the following equation (1) To do.
  • Non-Patent Document 1 the checksum c is verified by the following equation (2).
  • An object of the present invention is to provide a falsification detection technique that can be efficiently applied to a secret calculation and can set a lower probability of falsification success.
  • the falsification detection device of the present invention uniformly supports ring R to ring R q with N and q being integers of 2 or more and ⁇ being the smallest integer of N / q or more.
  • a generation unit that generates a checksum c including addition and multiplication, a vector multiplication as a function f, and a value vector A 0 ,.
  • a verification unit that verifies whether any of the values a 0 ,..., A N ⁇ 1 has been altered by comparing the verification value generated using A ⁇ 1 with the checksum c.
  • alteration detection technology of the present invention it can be efficiently applied to the secret calculation, and the success rate of alteration can be set lower.
  • the first embodiment of the present invention is an embodiment applied to a checksum consisting of addition and multiplication described in Non-Patent Document 1.
  • the parameter storage unit 19 is, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory, middleware such as a relational database or a key value store, and the like. Can be configured.
  • a main storage device such as a RAM (Random Access Memory)
  • an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory
  • middleware such as a relational database or a key value store, and the like. Can be configured.
  • N and q are integers of 2 or more
  • is the smallest integer of N / q or more
  • R is a ring.
  • the parameters ⁇ i, j, k can be obtained by determining the ring R and the order q. There can be multiple types of parameters ⁇ i, j, k, but taking into account the ease of calculation, etc., q 3 values included in parameter ⁇ i, j, k are the ones that contain the most 0. It is desirable to select the parameters ⁇ i, j, k . For example, if parameters ⁇ i, j, k are determined so that R is a body and R q is an expanded body of body R, tampering detection can be efficiently performed.
  • N values a 0 ,..., A N ⁇ 1 ⁇ R are input to the input unit 11 provided in the tampering detection apparatus 1 (step S11a).
  • the input values a 0 ,..., A N ⁇ 1 are input to the dividing unit 12.
  • the values a 0 ,..., A N-1 may be any information, but may be ciphertexts of homomorphic encryption or shared values of secret sharing, for example.
  • the homomorphic encryption is an encryption method having homomorphism, and is an encryption method capable of calculating the sum or product of the original plaintext while being encrypted from the ciphertext.
  • An example of homomorphic encryption is ElGamal encryption. For details on ElGamal ciphers, see “T.
  • N values a 0 ,..., A N ⁇ 1 ⁇ R, a random number r ⁇ R, and a checksum c are input to the input unit 11 provided in the tampering detection apparatus 1 (step S11b).
  • the input values a 0 ,..., A N ⁇ 1 are input to the dividing unit 12.
  • the input random number r and checksum c are input to the verification unit 15.
  • the dividing unit 12 divides the values a 0 ,..., A N-1 into q pieces from the top to generate value vectors A 0 ,..., A ⁇ -1 (step S12b).
  • the dividing method is the same as the processing of the dividing unit 12 in the checksum generation processing. Further, by configuring so as to store the value vectors A 0 ,..., A ⁇ 1 generated in the checksum generation process, the process in step S12b can be omitted.
  • Verifying section 15 value vector A 0, ..., by using the A [rho-1 and the random number r and checksum c, value a 0, ..., verification result indicating whether or not one of a N-1 has been tampered Is generated (step S15).
  • the verification result is input to the output unit 16.
  • vector multiplication is calculated using the function f defined by equations (4) and (5), as in the checksum generation process.
  • the output unit 16 outputs the verification result (step S16b).
  • the checksum of the first embodiment can be calculated by using the value vectors A 0 ,..., A ⁇ 1 ⁇ R q as a unit, so that the probability of falsification success can be kept low.
  • Z is an integer ring
  • p is a prime number
  • q is an integer of 2 or more
  • ring R is a prime field, that is, Z / pZ
  • the success probability of alteration can be about N / p q . Therefore, an arbitrary low alteration success probability can be obtained by an arbitrarily set expansion order q.
  • the second embodiment of the present invention is an embodiment applied to a checksum in which the success rate of falsification can be suppressed lower than the checksum described in Non-Patent Document 1.
  • the tampering detection apparatus 2 includes a control unit 101, a memory 102, an input unit 11, a division unit 12, a selection unit 23, a generation unit 24, a verification unit 25, an output unit 16, and a parameter storage unit 19.
  • the tampering detection device 2 is a special device configured by reading a special program into a known or dedicated computer having, for example, a CPU (Central Processing Unit), a RAM (Random Access Memory), and the like.
  • the tampering detection apparatus 2 executes each process under the control of the control unit 101. Data input to the falsification detection device 2 and data obtained in each process are stored in the memory 102, and the data stored in the memory 102 is read out as necessary and used for other processes.
  • M, N, and q are integers of 2 or more
  • M ⁇ N, ⁇ is the smallest integer of N / q or more
  • R is a ring.
  • step S11a to step S12a Since the processing from step S11a to step S12a is the same as that of the first embodiment, description thereof is omitted here.
  • the selection unit 23 of this embodiment selects M random numbers r 0 ,..., R M ⁇ 1 ⁇ R (step S23).
  • the selected random numbers r 0 ,..., R M ⁇ 1 are input to the generation unit 24.
  • the selection unit 23 may select M random numbers r 0 ,..., R M ⁇ 1 at random one by one, or M according to a predetermined rule from a plurality of values generated in advance and stored in the memory 102. Random numbers r 0 ,..., R M ⁇ 1 may be selected.
  • vector multiplication is calculated using the function f defined by the equations (4) and (5) as in the first embodiment.
  • the function d (i, j) is a function for determining the order of the j-th random number r j with respect to the i-th value a i .
  • i, i ′ is a natural number, i ⁇ i ′, and any j (where j ⁇ M) satisfies d (i, j) ⁇ d (i ′, j). That is, the combinations of the orders of the random numbers r 0 ,..., R M ⁇ 1 must be combinations that do not overlap every A i .
  • step S11b to step S12b Since the processing from step S11b to step S12b is the same as that of the first embodiment, description thereof is omitted here.
  • the verification unit 25 evaluates the following formula (8). If the expression (8) is true, it is determined that none of the values a 0 ,..., A N ⁇ 1 has been tampered with. If the expression (8) is false, it is determined that at least one of the values a 0 ,..., A N ⁇ 1 has been tampered with.
  • function d (i, j) is the same function as function d (i, j) in equation (7).
  • the output unit 16 outputs the verification result (step S16b).
  • the checksum of the second embodiment can be calculated by using the value vectors A 0 ,..., A ⁇ 1 ⁇ R q as a unit, so that the falsification success probability can be kept low.
  • Z is an integer ring
  • p is a prime number
  • q is an integer of 2 or more
  • ring R is a prime field, that is, Z / pZ
  • the success probability of falsification can be about logN / p q . Therefore, an arbitrary low alteration success probability can be obtained by an arbitrarily set expansion order q.
  • the tampering detection technology of the present invention can be used in various ways. For example, there may be a case in which ciphertext based on homomorphic encryption or distributed data based on secret sharing is deposited in a server managed by a third party. In such a case, when a malicious attacker enters the server and alters the data, or when the server itself alters the data that has been deposited maliciously, the server is infected with malware and the data is altered. Risks such as when to do. By generating and assigning the checksum according to the present invention to the data to be deposited, the server can process data while keeping it secret, and also prevent data tampering. can do.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium 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 by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM 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-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition. It is good.
  • 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)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

 秘匿計算に効率よく適用でき、改ざん成功確率をより低く設定できる。改ざん検知装置は、環Rから環Rqへ一様に対応させるためのパラメタαi,j,k(i=0,…,q-1; j=0,…,q-1; k=0,…,q-1)を記憶するパラメタ記憶部と、N個の値a0,…,aN-1を先頭からq個ずつに分割して値ベクトルA0,…,Aρ-1を生成する分割部12と、値ベクトルA0,…,Aρ-1を用いて、ベクトルの乗算を下記の式で定義される関数fとして、加算と乗算からなるチェックサムcを生成する生成部13と、ベクトルの乗算を下記の式で定義される関数fとして、値ベクトルA0,…,Aρ-1を用いて生成した検証値とチェックサムcとを比較することで値a0,…,aN-1のいずれかが改ざんされたか否かを検証する検証部とを含む。ただし、N,qを2以上の整数とし、ρをN/q以上の最小の整数とする。

Description

改ざん検知装置、改ざん検知方法、およびプログラム
 この発明は、データを秘匿しつつデータ処理を行う秘匿計算においてデータ改ざんを検知するための改ざん検知技術に関する。
 従来の改ざん検知に使用するチェックサムとして非特許文献1に記載の技術がある。非特許文献1に記載のチェックサムは加算と乗算から構成されており秘匿計算に効率よく適用できる。
 非特許文献1に記載のチェックサムは、Fを体として、値a0,…,aN-1∈Fのチェックサムcを、乱数r∈Fを用いて、以下の式(1)により生成する。
Figure JPOXMLDOC01-appb-M000007
 非特許文献1では、以下の式(2)によりチェックサムcを検証する。
Figure JPOXMLDOC01-appb-M000008
 式(2)が0であれば、値a0,…,aN-1はいずれも改ざんされていないと判断する。式(2)が0以外であれば、値a0,…,aN-1は少なくとも1個が改ざんされていると判断する。
S. Obana and T. Araki, "Almost optimum secret sharing schemes secure against cheating for arbitrary secret distribution", ASIACRYPT, Vol. 4284 of Lecture Notes in Computer Science, pp. 364-379, 2006.
 非特許文献1に記載の改ざん検知技術では、体Fが予め決定されている際の改ざん成功確率はN/|F|である。ここで、Nはチェックサム生成の対象データ数を表し、|・|は・の要素数を表す。このように、改ざん成功確率がデータ数Nに比例してしまうため、チェックサムを生成する対象データが大きいほど改ざん成功確率が大きくなってしまう。
 この発明の目的は、秘匿計算に効率よく適用でき、改ざん成功確率をより低く設定できる改ざん検知技術を提供することである。
 上記の課題を解決するために、この発明の改ざん検知装置は、N,qを2以上の整数とし、ρをN/q以上の最小の整数とし、環Rから環Rqへ一様に対応させるためのパラメタαi,j,k(i=0,…,q-1; j=0,…,q-1; k=0,…,q-1)を記憶するパラメタ記憶部と、N個の値a0,…,aN-1を先頭からq個ずつに分割して値ベクトルA0,…,Aρ-1を生成する分割部と、値ベクトルA0,…,Aρ-1を用いて、ベクトルの乗算を下記の式で定義される関数fとして、加算と乗算からなるチェックサムcを生成する生成部と、ベクトルの乗算を関数fとして、値ベクトルA0,…,Aρ-1を用いて生成した検証値とチェックサムcとを比較することで値a0,…,aN-1のいずれかが改ざんされたか否かを検証する検証部とを含む。
Figure JPOXMLDOC01-appb-M000009
 この発明の改ざん検知技術によれば、秘匿計算に効率よく適用でき、改ざん成功確率をより低く設定できる。
改ざん検知装置の機能構成を例示する図である。 チェックサム生成の処理フローを例示する図である。 チェックサム検証の処理フローを例示する図である。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[第一実施形態]
 この発明の第一実施形態は、非特許文献1に記載の加算と乗算からなるチェックサムに適用した実施形態である。
<構成>
 図1を参照して、この実施形態の改ざん検知装置1の構成例を説明する。改ざん検知装置1は、制御部101、メモリ102、入力部11、分割部12、選択部13、生成部14、検証部15、出力部16、パラメタ記憶部19を備える。改ざん検知装置1は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。改ざん検知装置1は制御部101の制御のもとで各処理を実行する。改ざん検知装置1に入力されたデータや各処理で得られたデータはメモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。パラメタ記憶部19は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリなどの半導体メモリ素子により構成される補助記憶装置、リレーショナルデータベースやキーバリューストアなどのミドルウェア、などにより構成することができる。
<チェックサム生成処理>
 図2を参照して、この実施形態の改ざん検知装置1が実行するチェックサム生成処理の動作例について手続きの順に従って詳細に説明する。以降の説明では、N,qを2以上の整数とし、ρをN/q以上の最小の整数とし、Rを環とする。
 パラメタ記憶部19には、予め環Rから環Rqへ一様に対応させるためのパラメタαi,j,k(i=0,…,q-1; j=0,…,q-1; k=0,…,q-1)が記憶されている。パラメタαi,j,kは環Rと次数qを決定することで求めることができる。パラメタαi,j,kは複数の種類があり得るが、計算の容易さなどを考慮して、パラメタαi,j,kに含まれるq3個の値に0が最も多く含まれるものをパラメタαi,j,kとして選択することが望ましい。例えば、Rが体であり、Rqが体Rの拡大体となるようにパラメタαi,j,kを決定すれば、効率的に改ざん検知が可能となる。
 改ざん検知装置1の備える入力部11へN個の値a0,…,aN-1∈Rが入力される(ステップS11a)。入力された値a0,…,aN-1は分割部12へ入力される。値a0,…,aN-1はどのような情報であってもよいが、例えば準同型暗号の暗号文もしくは秘密分散の分散値などとすることができる。準同型暗号とは準同型性を有するような暗号方式であり、暗号文から暗号化されたままで元の平文の和または積を計算できる暗号方式である。準同型暗号の一例はElGamal暗号である。ElGamal暗号についての詳細は「T. ElGamal, “A public key cryptosystem and a signature scheme based on discrete logarithms”, IEEE Transactions on Information Theory, vol.31, no.4, pp.469-472, 1985.」などに記載されている。秘密分散とは秘匿したいデータを複数の分散値に変換し、一定個数以上の分散値を用いれば元のデータを復元でき、一定個数未満の分散値からは元のデータを一切復元できなくする技術である。秘密分散の一例はShamir秘密分散である。Shamir秘密分散についての詳細は「A. Shamir, “How to share a secret”, Communications of the ACM, vol.22, issue 11, pp. 612-613, 1979.」などに記載されている。
 分割部12は、N個の値a0,…,aN-1を先頭からq個ずつに分割してρ個の値ベクトルA0,…,Aρ-1を生成する(ステップS12a)。生成した値ベクトルA0,…,Aρ-1は生成部14へ入力される。分割した際に最後の値ベクトルAρ-1の要素数がqとならない場合には、要素数がqとなるように任意の値でパディングする。例えば、0でパディングするものとして、N=11,q=2とした場合には、a0,…,a10をA0:=(a0,a1), A1:=(a2,a3), A2:=(a4,a5),…, A5:=(a10,0)のように分割すればよい。
 選択部13は乱数r∈Rを選択する(ステップS13)。選択した乱数rは生成部14へ入力される。選択部13は、逐一ランダムに乱数rを選択してもよいし、事前に生成されメモリ102に格納されている複数個の値から所定の規則に従って乱数rを選択してもよい。また、乱数rは真の乱数ではなく任意の暗号方式やハッシュ関数などから生成される疑似乱数であってもよい。
 生成部14は値ベクトルA0,…,Aρ-1と乱数rを用いてチェックサムcを生成する(ステップS14)。生成したチェックサムcと乱数rは出力部16へ入力される。具体的には生成部14は、以下の式(3)によりチェックサムcを計算する。
Figure JPOXMLDOC01-appb-M000010
 この際、ベクトルの乗算は、式(4)(5)で定義される関数fを用いて計算する。
Figure JPOXMLDOC01-appb-M000011
 出力部16はチェックサムcと乱数rを出力する(ステップS16a)。
<チェックサム検証処理>
 図3を参照して、この実施形態の改ざん検知装置1が実行するチェックサム検証処理の動作例について手続きの順に従って詳細に説明する。
 改ざん検知装置1の備える入力部11へN個の値a0,…,aN-1∈Rと乱数r∈Rとチェックサムcが入力される(ステップS11b)。入力された値a0,…,aN-1は分割部12へ入力される。入力された乱数rとチェックサムcは検証部15へ入力される。
 分割部12は、値a0,…,aN-1を先頭からq個ずつに分割して値ベクトルA0,…,Aρ-1を生成する(ステップS12b)。分割の方法はチェックサム生成処理における分割部12の処理と同様である。また、チェックサム生成処理において生成した値ベクトルA0,…,Aρ-1を記憶しておくように構成することで、ステップS12bの処理は省略することができる。
 検証部15は値ベクトルA0,…,Aρ-1と乱数rとチェックサムcとを用いて、値a0,…,aN-1のいずれかが改ざんされたか否かを示す検証結果を生成する(ステップS15)。検証結果は出力部16へ入力される。
 具体的には検証部15は以下の式(6)を評価する。式(6)が0であれば値a0,…,aN-1のいずれも改ざんされていないと判断する。式(6)が0以外であれば値a0,…,aN-1の少なくとも1個が改ざんされていると判断する。
Figure JPOXMLDOC01-appb-M000012
 この際、ベクトルの乗算は、チェックサム生成処理と同様に、式(4)(5)で定義される関数fを用いて計算する。
 出力部16は検証結果を出力する(ステップS16b)。
<効果>
 非特許文献1に記載のチェックサムは、チェックサム生成対象のデータ数がN、環Rの要素数がpとして、改ざん成功確率が高々N/pである。環Rが固定であり、例えばp=2とすると、改ざん検知はほとんど無力と言ってよい。
 第一実施形態のチェックサムは、値ベクトルA0,…,Aρ-1∈Rqを単位に計算することで、改ざん成功確率を低く抑えることができる。例えば、Zを整数環、pを素数、qを2以上の整数として、環Rを素体すなわちZ/pZとしたとき、改ざん成功確率はN/pq程度とすることができる。したがって、任意に設定できる拡大次数qにより、任意の低い改ざん成功確率を得ることができる。
[第二実施形態]
 この発明の第二実施形態は、非特許文献1に記載のチェックサムよりも改ざん成功確率を低く抑えることができるチェックサムに適用した実施形態である。
<構成>
 図1を参照して、この実施形態の改ざん検知装置2の構成例を説明する。第二実施形態の改ざん検知装置2の構成は、第一実施形態の改ざん検知装置1と同様であるが、選択部と生成部と検証部の処理が異なる。改ざん検知装置2は、制御部101、メモリ102、入力部11、分割部12、選択部23、生成部24、検証部25、出力部16、パラメタ記憶部19を備える。改ざん検知装置2は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。改ざん検知装置2は制御部101の制御のもとで各処理を実行する。改ざん検知装置2に入力されたデータや各処理で得られたデータはメモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。
<チェックサム生成処理>
 図2を参照して、この実施形態の改ざん検知装置2が実行するチェックサム生成処理の動作例について手続きの順に従って詳細に説明する。以降の説明では、M,N,qを2以上の整数とし、M<Nとし、ρをN/q以上の最小の整数とし、Rを環とする。
 ステップS11aからステップS12aまでの処理は第一実施形態と同様であるので、ここでは説明を省略する。
 この実施形態の選択部23はM個の乱数r0,…,rM-1∈Rを選択する(ステップS23)。選択した乱数r0,…,rM-1は生成部24へ入力される。選択部23は、逐一ランダムにM個の乱数r0,…,rM-1を選択してもよいし、事前に生成されメモリ102に格納されている複数個の値から所定の規則に従ってM個の乱数r0,…,rM-1を選択してもよい。
 この実施形態の生成部24は値ベクトルA0,…,Aρ-1と乱数r0,…,rM-1を用いてチェックサムcを生成する(ステップS24)。生成したチェックサムcと乱数r0,…,rM-1は出力部16へ入力される。具体的には生成部24は、以下の式(7)によりチェックサムcを計算する。
Figure JPOXMLDOC01-appb-M000013
 この際、ベクトルの乗算は、第一実施形態と同様に、式(4)(5)で定義される関数fを用いて計算する。
 式(7)において、関数d(i,j)はi番目の値aiに対するj番目の乱数rjの次数を決定する関数である。ただし、i,i’を自然数とし、i≠i’として、いずれかのj(ただしj<M)でd(i,j)≠d(i’,j)を満たすものとする。すなわち、乱数r0,…,rM-1の次数の組み合わせがAi毎に重複しない組み合わせとなっていなければならない。
 例えば、ρ=3,M=2とした場合であれば、c=A0r0+A1r1+A2r0r1のように計算すればよい。また、ρ=4,M=2とした場合であれば、c=A0r0+A1r1+A2r0r1+A3r0 2r1のように計算してもよいし、c=A0r0 2r1+A1r0r1+A2r1+A3r0のように計算してもよい。
 Mは2以上ρ未満であればどのような値であってもよいが、log2ρを超える最少の整数とすれば、乱数r0,…,rM-1に対するすべての次数を1以下にすることができるため、最も効率がよい。例えば、ρ=7,M=3とした場合であれば、c=A0r0+A1r1+A2r0r1+A3r2+A4r0r2+A5r1r2+A6r0r1r2のようにすることができ、すべての乱数の次数を1以下とすることができる。
 出力部16はチェックサムcと乱数r0,…,rM-1を出力する(ステップS16a)。
<チェックサム検証処理>
 図3を参照して、この実施形態の改ざん検知装置2が実行するチェックサム検証処理の動作例について手続きの順に従って詳細に説明する。
 ステップS11bからステップS12bまでの処理は第一実施形態と同様であるので、ここでは説明を省略する。
 検証部25は値ベクトルA0,…,Aρ-1と乱数r0,…,rM-1とチェックサムcとを用いて、値a0,…,aN-1のいずれかが改ざんされたか否かを示す検証結果を生成する(ステップS25)。検証結果は出力部16へ入力される。
 具体的には検証部25は以下の式(8)を評価する。式(8)が真であれば値a0,…,aN-1のいずれも改ざんされていないと判断する。式(8)が偽であれば値a0,…,aN-1の少なくとも1個が改ざんされていると判断する。
Figure JPOXMLDOC01-appb-M000014
 この際、ベクトルの乗算は、チェックサム生成処理と同様に、式(4)(5)で定義される関数fを用いて計算する。
 式(8)において、関数d(i,j)は式(7)の関数d(i,j)と同じ関数である。
 出力部16は検証結果を出力する(ステップS16b)。
<効果>
 第二実施形態のチェックサムは、値a0,…,aN-1∈Rを単位に計算した場合には、チェックサム生成対象のデータ数がN、環Rの要素数がpとして、改ざん成功確率が高々logN/pである。非特許文献1に記載のチェックサムよりも低いながら、それでも環Rが固定であり、例えばp=2とすると改ざん検知はほとんど無力と言ってよい。
 第二実施形態のチェックサムは、値ベクトルA0,…,Aρ-1∈Rqを単位に計算することで、改ざん成功確率を低く抑えることができる。例えば、Zを整数環、pを素数、qを2以上の整数として、環Rを素体すなわちZ/pZとしたとき、改ざん成功確率はlogN/pq程度とすることができる。したがって、任意に設定できる拡大次数qにより、任意の低い改ざん成功確率を得ることができる。
[応用例]
 この発明の改ざん検知技術は様々な利用方法が考えられる。例えば、準同型暗号による暗号文や秘密分散による分散データを第三者の管理するサーバに預託する場合が考えられる。このような場合には、サーバに対して悪意ある攻撃者が侵入しデータを改ざんする場合、サーバ自体が悪意を持って預託されたデータを改ざんする場合、サーバがマルウェアに感染してデータを改ざんする場合などのリスクが考えられる。預託するデータに対して、この発明によるチェックサムを生成して付与しておくことで、サーバは秘匿されたデータに対して秘匿されたままデータ処理を行うことができ、さらに、データ改ざんも防止することができる。
[プログラム、記録媒体]
 この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (5)

  1.  N,qを2以上の整数とし、ρをN/q以上の最小の整数とし、
     環Rから環Rqへ一様に対応させるためのパラメタαi,j,k(i=0,…,q-1; j=0,…,q-1; k=0,…,q-1)を記憶するパラメタ記憶部と、
     N個の値a0,…,aN-1を先頭からq個ずつに分割して値ベクトルA0,…,Aρ-1を生成する分割部と、
     前記値ベクトルA0,…,Aρ-1を用いて、ベクトルの乗算を下記の式で定義される関数fとして、加算と乗算からなるチェックサムcを生成する生成部と、
    Figure JPOXMLDOC01-appb-M000001

     ベクトルの乗算を上記関数fとして、前記値ベクトルA0,…,Aρ-1を用いて生成した検証値と前記チェックサムcとを比較することで前記値a0,…,aN-1のいずれかが改ざんされたか否かを検証する検証部と、
     を含む改ざん検知装置。
  2.  請求項1に記載の改ざん検知装置であって、
     乱数rを選択する選択部を含み、
     前記生成部は、以下の式を計算することで前記チェックサムcを生成し、
    Figure JPOXMLDOC01-appb-M000002

     前記検証部は、以下の式が0であれば前記値a0,…,aN-1のいずれも改ざんされていないと判断し、以下の式が0以外であれば前記値a0,…,aN-1の少なくとも1個が改ざんされていると判断する
    Figure JPOXMLDOC01-appb-M000003

     ことを特徴とする改ざん検知装置。
  3.  請求項1に記載の改ざん検知装置であって、
     Mを2以上の整数とし、M<Nとし、i,i’を自然数とし、i≠i’とし、j<Mとし、いずれかのjでd(i,j)をd(i,j)≠d(i’,j)である関数とし、
     M個の乱数r0,…,rM-1を選択する選択部を含み、
     前記生成部は、以下の式を計算することで前記チェックサムcを生成し、
    Figure JPOXMLDOC01-appb-M000004

     前記検証部は、以下の式が真であれば前記値a0,…,aN-1のいずれも改ざんされていないと判断し、以下の式が偽であれば前記値a0,…,aN-1の少なくとも1個が改ざんされていると判断する
    Figure JPOXMLDOC01-appb-M000005

     ことを特徴とする改ざん検知装置。
  4.  N,qを2以上の整数とし、ρをN/q以上の最小の整数とし、αi,j,k(i=0,…,q-1; j=0,…,q-1; k=0,…,q-1)を環Rから環Rqへ一様に対応させるためのパラメタとし、
     分割部が、N個の値a0,…,aN-1を先頭からq個ずつに分割して値ベクトルA0,…,Aρ-1を生成する分割ステップと、
     生成部が、前記値ベクトルA0,…,Aρ-1を用いて、ベクトルの乗算を下記の式で定義される関数fとして、加算と乗算からなるチェックサムcを生成する生成ステップと、
    Figure JPOXMLDOC01-appb-M000006

     検証部が、ベクトルの乗算を上記関数fとして、前記値ベクトルA0,…,Aρ-1を用いて生成した検証値と前記チェックサムcとを比較することで前記値a0,…,aN-1のいずれかが改ざんされたか否かを検証する検証ステップと、
     を含む改ざん検知方法。
  5.  請求項1から3のいずれかに記載の改ざん検知装置としてコンピュータを機能させるためのプログラム。
PCT/JP2014/050651 2013-01-17 2014-01-16 改ざん検知装置、改ざん検知方法、およびプログラム WO2014112550A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201480005189.1A CN104919754B (zh) 2013-01-17 2014-01-16 篡改检测装置、篡改检测方法、以及程序
US14/759,352 US10523422B2 (en) 2013-01-17 2014-01-16 Tampering detection device, tampering detection method and program
JP2014557491A JP5957095B2 (ja) 2013-01-17 2014-01-16 改ざん検知装置、改ざん検知方法、およびプログラム
EP14740216.8A EP2947814B1 (en) 2013-01-17 2014-01-16 Tampering detection device, tampering detection method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-006692 2013-01-17
JP2013006692 2013-01-17

Publications (1)

Publication Number Publication Date
WO2014112550A1 true WO2014112550A1 (ja) 2014-07-24

Family

ID=51209639

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/050651 WO2014112550A1 (ja) 2013-01-17 2014-01-16 改ざん検知装置、改ざん検知方法、およびプログラム

Country Status (5)

Country Link
US (1) US10523422B2 (ja)
EP (1) EP2947814B1 (ja)
JP (1) JP5957095B2 (ja)
CN (1) CN104919754B (ja)
WO (1) WO2014112550A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107111965A (zh) * 2014-12-26 2017-08-29 日本电信电话株式会社 秘密篡改检测系统、秘密计算装置、秘密篡改检测方法、以及程序
WO2018216512A1 (ja) 2017-05-25 2018-11-29 日本電信電話株式会社 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10972251B2 (en) 2017-01-20 2021-04-06 Enveil, Inc. Secure web browsing via homomorphic encryption
US11196541B2 (en) 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US10873568B2 (en) 2017-01-20 2020-12-22 Enveil, Inc. Secure analytics using homomorphic and injective format-preserving encryption and an encrypted analytics matrix
WO2018136804A1 (en) 2017-01-20 2018-07-26 Enveil, Inc. End-to-end secure operations from a natural language expression
US11507683B2 (en) 2017-01-20 2022-11-22 Enveil, Inc. Query processing with adaptive risk decisioning
US10902133B2 (en) 2018-10-25 2021-01-26 Enveil, Inc. Computational operations in enclave computing environments
US10817262B2 (en) 2018-11-08 2020-10-27 Enveil, Inc. Reduced and pipelined hardware architecture for Montgomery Modular Multiplication
US20220138338A1 (en) * 2019-03-11 2022-05-05 Nippon Telegraph And Telephone Corporation Data replacement apparatus, data replacement method, and program
US11601258B2 (en) 2020-10-08 2023-03-07 Enveil, Inc. Selector derived encryption systems and methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008001628A1 (fr) * 2006-06-30 2008-01-03 Nec Corporation Générateur et dispositif de restauration d'information distribuée

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210260A1 (en) * 2004-03-17 2005-09-22 Ramarathnam Venkatesan Unimodular matrix-based message authentication codes (MAC)
US7743253B2 (en) * 2005-11-04 2010-06-22 Microsoft Corporation Digital signature for network coding
US7841010B2 (en) * 2007-01-08 2010-11-23 Apple Inc. Software or other information integrity verification using variable block length and selection
US8752032B2 (en) * 2007-02-23 2014-06-10 Irdeto Canada Corporation System and method of interlocking to protect software-mediated program and device behaviours
US8515058B1 (en) * 2009-11-10 2013-08-20 The Board Of Trustees Of The Leland Stanford Junior University Bootstrappable homomorphic encryption method, computer program and apparatus
WO2012056656A1 (ja) * 2010-10-28 2012-05-03 パナソニック株式会社 改ざん監視システム、保護制御モジュール及び検知モジュール
DE102011009008A1 (de) * 2011-01-20 2012-07-26 Rohde & Schwarz Gmbh & Co. Kg Authentifizierung von verschlüsselten Datenblöcken
US8837715B2 (en) * 2011-02-17 2014-09-16 Gradiant, Centro Tecnolóxico de Telecomunicacións de Galica Method and apparatus for secure iterative processing and adaptive filtering
WO2012121333A1 (ja) * 2011-03-10 2012-09-13 日本電信電話株式会社 秘匿積和結合システム、計算装置、秘匿積和結合方法、及びそれらのプログラム
US9515830B2 (en) * 2012-07-18 2016-12-06 Nec Corporation Universal hash function computing device, method and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008001628A1 (fr) * 2006-06-30 2008-01-03 Nec Corporation Générateur et dispositif de restauration d'information distribuée

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A. SHAMIR: "How to share a secret", COMMUNICATIONS OF THE ACM, vol. 22, no. 11, 1979, pages 612 - 613, XP000565227, DOI: doi:10.1145/359168.359176
S. OBANA; T. ARAKI: "Almost optimum secret sharing schemes secure against cheating for arbitrary secret distribution", ASIACRYPT, vol. 4284, 2006, pages 364 - 379
T. ELGAMAL: "A public key cryptosystem and signature scheme based on discrete logarithms", IEEE TRANSACTIONS ON INFORMATION THEORY, vol. 31, no. 4, 1985, pages 469 - 472, XP000565224, DOI: doi:10.1109/TIT.1985.1057074
TOSHINORI ARAKI ET AL.: "Universal Hash Kansu ni Motozuku Koritsu no Yoi Fusei Kenshutsu Kano na Himitsu Bunsanho", 2007 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY KOEN RONBUNSHU, 23 January 2007 (2007-01-23), pages 1 - 6, XP008180068 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107111965A (zh) * 2014-12-26 2017-08-29 日本电信电话株式会社 秘密篡改检测系统、秘密计算装置、秘密篡改检测方法、以及程序
WO2018216512A1 (ja) 2017-05-25 2018-11-29 日本電信電話株式会社 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
AU2018271515B2 (en) * 2017-05-25 2020-09-10 Nippon Telegraph And Telephone Corporation Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program
US11157612B2 (en) 2017-05-25 2021-10-26 Nippon Telegraph And Telephone Corporation Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program

Also Published As

Publication number Publication date
JPWO2014112550A1 (ja) 2017-01-19
US20150358152A1 (en) 2015-12-10
CN104919754A (zh) 2015-09-16
CN104919754B (zh) 2018-01-16
EP2947814B1 (en) 2018-03-14
EP2947814A4 (en) 2016-11-09
JP5957095B2 (ja) 2016-07-27
EP2947814A1 (en) 2015-11-25
US10523422B2 (en) 2019-12-31

Similar Documents

Publication Publication Date Title
JP5957095B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
Wang et al. Oruta: Privacy-preserving public auditing for shared data in the cloud
Wang et al. Privacy-preserving public auditing for data storage security in cloud computing
Yu et al. Remote data possession checking with enhanced security for cloud storage
EP2947812B1 (en) Segmented secret-key storage system, segment storage apparatus segmented secret-key storage method
Sookhak et al. Towards dynamic remote data auditing in computational clouds
Varalakshmi et al. Integrity checking for cloud environment using encryption algorithm
JP6451938B2 (ja) 暗号文照合システム、方法、およびプログラム
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
KR20190143196A (ko) 양자 난수열 기반의 암호 장치
Ying et al. Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing
Hwang et al. Data error locations reported by public auditing in cloud storage service
Li et al. IPOR: An efficient IDA-based proof of retrievability scheme for cloud storage systems
Abo-Alian et al. Auditing-as-a-service for cloud storage
Chakraborty et al. Integrity checking using third party auditor in cloud storage
KR102132685B1 (ko) 순서 노출 암호화를 위한 장치 및 방법
US8036378B2 (en) System and method of authentication
Gohel et al. A new data integrity checking protocol with public verifiability in cloud storage
JP5970193B2 (ja) 検索システム、検索方法および検索プログラム
Jabbar et al. Design and Implementation of Hybrid EC-RSA Security Algorithm Based on TPA for Cloud Storage
Yarava et al. Efficient and Secure Cloud Storage Auditing Based on the Diffie-Hellman Key Exchange.
Blömer et al. Cloud architectures for searchable encryption
Barsoum Provable data possession in single cloud server: A survey, classification and comparative study
Fu et al. Cryptanalysis of remote data integrity checking protocol proposed by L. Chen for cloud storage
Abraham et al. Proving possession and retrievability within a cloud environment: A comparative survey

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014557491

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14759352

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2014740216

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE