WO2015114947A1 - 秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム - Google Patents

秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム Download PDF

Info

Publication number
WO2015114947A1
WO2015114947A1 PCT/JP2014/082220 JP2014082220W WO2015114947A1 WO 2015114947 A1 WO2015114947 A1 WO 2015114947A1 JP 2014082220 W JP2014082220 W JP 2014082220W WO 2015114947 A1 WO2015114947 A1 WO 2015114947A1
Authority
WO
WIPO (PCT)
Prior art keywords
secret calculation
password
secret
distribution value
data
Prior art date
Application number
PCT/JP2014/082220
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 CN201480074049.XA priority Critical patent/CN105981088B/zh
Priority to US15/110,645 priority patent/US10218495B2/en
Priority to EP14881321.5A priority patent/EP3101645B1/en
Priority to JP2015559767A priority patent/JP6321049B2/ja
Publication of WO2015114947A1 publication Critical patent/WO2015114947A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Definitions

  • the present invention relates to a cryptographic application technique, and more particularly to a secret calculation technique for performing function calculation and statistical processing without revealing input data.
  • an approach that physically isolates the database containing the personal information and handles access to the necessary information can be considered. For example, deleting items related to personal information from the database, encrypting when storing data, decrypting into plain text when processing, performing access control limited to system administrators etc. by operation, masking personal information so that individuals cannot be identified, Such a method can be considered.
  • Non-Patent Documents 1 to 9 include, for example, techniques aimed at performing function calculation and statistical processing while keeping private information secret by the above approach.
  • An object of the present invention is to provide a secret calculation technique capable of performing various data processing without restoring personal information contained in data while keeping it secret.
  • the secret calculation method of the present invention is such that n and k are integers of 2 or more, n ⁇ k, and information providers are registered in storage units of n secret calculation servers.
  • the registered password distribution value with n passwords secretly distributed and the use password distribution value with the information analyst's password secretly distributed with n passwords are stored, and the information provider inputs the authentication request part of the registrant terminal.
  • the registration input request that distributes the registered input password to n secrets to the n secret calculation servers and the authentication execution unit of at least k secret calculation servers at the time of registration Using the input password distribution value and the registered password distribution value, the registration authentication execution step for verifying whether or not the registration password and the input password for registration match, and the secret distribution unit of the registrant terminal
  • a registration request for the registration request unit of the registrant terminal to distribute the data distribution value to n secret sharing servers A registration execution step in which the registration execution unit of the n secret calculation servers stores the data distribution value in the storage unit, and an authentication requesting unit in the user terminal sets the input password entered by the information analyst to n
  • various data processing can be performed without restoring the personal information contained in the data while keeping it secret.
  • FIG. 1 is a diagram illustrating a functional configuration of a secret calculation system.
  • FIG. 2 is a diagram illustrating a functional configuration of the secret calculation server.
  • FIG. 3 is a diagram illustrating a functional configuration of the registrant terminal.
  • FIG. 4 is a diagram illustrating a functional configuration of the user terminal.
  • FIG. 5 is a diagram illustrating a processing flow of the secret calculation method.
  • FIG. 6 is a diagram illustrating a processing flow of the secret calculation method.
  • Secret sharing is a technology that converts data into a number of distributed values and restores the original data by using more than a certain number of distributed values, and makes it impossible to restore the original data from less than a certain number of distributed values.
  • K, n secret sharing is a kind of secret sharing. The distributed value obtained by dividing the input plaintext into n parts is distributed to n calculation subjects, and if any k distributed values are aligned, The secret sharing is such that plaintext can be restored and no information about the plaintext can be obtained from less than k shared values.
  • n and k are integers of 1 or more, and n ⁇ k.
  • a typical example of (k, n) -secret sharing is “A. Shamir,“ How to share a secret ”, Communications of the ACM, Volume 22 Issue 11, pp. 612-613, 1979. ) ”, Shamir secret sharing.
  • the secret sharing used in the present invention may be any method as long as secret calculation and secret calculation authentication described later can be used.
  • Secret calculation technology In the secret calculation, the data to be calculated is secretly distributed and stored in multiple calculation entities, and the function data distribution value of the original data is calculated in cooperation with other calculation entities without restoring the original data.
  • Technology. Secret calculation uses secret sharing as an elemental technology.
  • secret calculation authentication In secret calculation authentication, authentication information such as logins and passwords is secretly distributed and stored in multiple calculation entities, and the authentication information entered by the user in cooperation with other calculation entities without restoring the authentication information. This is a technique for verifying whether or not it is correct.
  • any secret calculation authentication method can be used.
  • the secret calculation system includes n ( ⁇ 2) secret calculation servers 1 1 ,..., 1 n , at least one registrant terminal 2, at least one user terminal 3, and a network 9.
  • the secret calculation servers 1 1 ,..., 1 n , the registrant terminal 2 and the user terminal 3 are connected to the network 9.
  • Network 9 is, use secure computing server 1 1, ..., 1 n between each secure computing server 1 1, ..., 1 n between the registrant terminal 2, respectively, secure computing server 1 1, ..., 1 n, respectively It suffices if the user terminals 3 are configured so as to be able to communicate with each other. It is desirable that the communication path between each of the secret calculation servers 1 1 ,..., 1 n realizes highly confidential communication using encryption technology or the like. Further, the secret calculation servers 1 1 ,..., 1 n , the registrant terminal 2 and the user terminal 3 do not necessarily need to be able to communicate online via the network 9. For example, information output from the registrant terminal 2 is stored in a portable recording medium such as a USB memory, and is input offline from the portable recording medium to any one of the secret calculation servers 1 i (1 ⁇ i ⁇ n). You may comprise.
  • a portable recording medium such as a USB memory
  • the secret calculation server 1 i includes an authentication execution unit 10, a registration execution unit 12, a secret calculation unit 14, and a storage unit 16.
  • the secret calculation server 1 i is configured, for example, by loading a special program into a known or dedicated computer having a central processing unit (CPU), a main storage device (Random Access Memory, RAM), and the like. It is a special device.
  • the secret calculation server 1 i executes each process under the control of the central processing unit.
  • the data input to the secret calculation server 1 i and the data obtained in each process are stored, for example, in the main storage device, and the data stored in the main storage device is read out as necessary for other processing. Used.
  • the storage unit 16 is, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device including a semiconductor memory element such as a hard disk, an optical disk, or a flash memory, or a relational database or a key-value store.
  • the middleware can be configured.
  • the registrant terminal 2 includes an authentication request unit 20, a data input unit 22, a secret sharing unit 24, and a registration request unit 26.
  • the registrant terminal 2 is, for example, a special program configured by reading a special program into a known or dedicated computer having a central processing unit (CPU), a main storage device (Random access memory, RAM), and the like. Device.
  • the registrant terminal 2 executes each process under the control of the central processing unit.
  • the data input to the registrant terminal 2 and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out as necessary and used for other processing. Is done.
  • the registrant terminal 2 is specifically a desktop or laptop personal computer, a mobile phone, a smartphone, a tablet terminal, or the like.
  • the user terminal 3 includes an authentication request unit 30, a calculation input unit 32, a calculation request unit 34, and a result restoration unit 36.
  • the user terminal 3 has a special configuration in which a special program is read by a known or dedicated computer having a central processing unit (CPU), a main memory (Random Access Memory, RAM), and the like. Device.
  • the user terminal 3 executes each process under the control of the central processing unit.
  • the data input to the user terminal 3 and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out as necessary and used for other processing. Is done.
  • the user terminal 3 is a desktop or laptop personal computer, a mobile phone, a smartphone, a tablet terminal, or the like.
  • FIG. 5 shows a procedure in which the registrant terminal 2 registers data to be processed with the secret calculation servers 1 1 ,..., 1 n .
  • the i-th distributed value is stored among n distributed values.
  • the information provider's password is referred to as a registered password
  • a distributed value in which the registered password is distributed into n is referred to as a registered password distributed value.
  • the information analyst's password is called a usage password
  • a distributed value obtained by distributing the usage passwords into n is called a usage password distribution value.
  • the method for secretly sharing a password needs to be a secret sharing method that can use the above-described secret calculation authentication technique. For example, the secret sharing method described in Reference 5 can be applied.
  • step S20a the authentication request unit 20 of the registrant terminal 2 distributes the distributed value obtained by secretly sharing the password input by the information provider into n secret values to the n secret calculation servers 1 1 ,..., 1 n .
  • a password input by an information provider is referred to as a registration input password
  • a distributed value obtained by distributing n registration passwords is referred to as a registration input password distribution value.
  • Distribution means that the i-th registered password distribution value is transmitted to the i-th secret calculation server 1 i via a communication path, where i is an integer between 1 and n.
  • step S ⁇ b> 10 a the authentication execution unit 10 of the secret calculation server 1 i uses the registration input password distribution value received from the registrant terminal 2 and the registered password distribution value stored in the storage unit 16, Verify whether the password entered during registration matches.
  • Step S10a may be executed in cooperation with at least k out of the n secret calculation servers 1 1 ,..., 1 n . See Reference 4 above for a specific method of verifying the password.
  • step S10b the authentication execution unit 10 of the secret calculation server 1 i transmits an authentication result indicating successful authentication to the registrant terminal 2 when determining that the registration password matches the registration input password. If it is determined that the registration password does not match the registration input password, an authentication result indicating an authentication failure is transmitted to the registrant terminal 2.
  • step S20b the authentication request unit 20 of the registrant terminal 2 ends the process when the authentication result received from the secret calculation server 1 i indicates an authentication failure. If the authentication result received from the secret calculation server 1 i indicates successful authentication, the process proceeds to step S22.
  • the authentication result is received from at least k secret calculation servers 1, but it is determined that the authentication has failed unless all the authentication results indicate successful authentication.
  • processing target data to be subjected to data processing is input to the data input unit 22 of the registrant terminal 2.
  • the processing target data includes personal information that can identify an individual.
  • the personal information is information representing individual attributes such as name, address, date of birth, and sex. Necessary items are set according to the purpose of data processing for information other than personal information in the processing target data.
  • step S24 the secret sharing unit 24 of the registrant terminal 2 secretly distributes the processing target data to n pieces, and generates a data distribution value.
  • the method of secret sharing the processing target data needs to be a secret sharing method that can use the above-described secret calculation technique. For example, the secret sharing method described in any one of the above references 2 to 4 can be applied.
  • items corresponding to the personal information included in the processing target data and items other than the personal information are collected and secretly distributed as the entire processing target data.
  • step S26 the registration request unit 26 of the registrant terminal 2 distributes the data distribution value to the n secret sharing servers 1 1 ,..., 1 n .
  • Distribution means that the i-th data distribution value is transmitted to the i-th secret calculation server 1 i via a communication path, where i is an integer of 1 to n.
  • step S12 the registration execution unit 12 of the secret calculation servers 1 1 ,..., 1 n stores the data distribution value received from the registrant terminal 2 in the storage unit 16.
  • step S30a the authentication requesting unit 30 of the user terminal 3 distributes the distributed value obtained by secretly sharing the password input by the information analyst into n passwords to n secret calculation servers 1 1 ,..., 1 n .
  • a password input by an information analyst is referred to as a use-time input password
  • a distributed value obtained by secretly sharing n use-time input passwords is referred to as a use-time input password distribution value.
  • Distribution means that the i-th input password distribution value is transmitted to the i-th secret calculation server 1 i via a communication path, where i is an integer between 1 and n.
  • step S ⁇ b> 10 c the authentication execution unit 10 of the secret calculation server 1 i uses the use password distribution value received from the user terminal 3 and the use password distribution value stored in the storage unit 16, It is verified whether or not the input password matches.
  • Step S10c may be executed in cooperation with at least k out of the n secret calculation servers 1 1 ,..., 1 n . See Reference 5 above for a specific method of verifying the password.
  • step S ⁇ b> 10 d if the authentication execution unit 10 of the secret calculation server 1 i determines that the usage password matches the usage input password, the authentication execution unit 10 transmits an authentication result indicating successful authentication to the user terminal 3. If it is determined that the usage password does not match the usage password, an authentication result indicating an authentication failure is transmitted to the user terminal 3.
  • step S30b the authentication request unit 30 of the user terminal 3 ends the process when the authentication result received from the secret calculation server 1 i indicates an authentication failure. If the authentication result received from the secret calculation server 1 i indicates successful authentication, the process proceeds to step S32.
  • the authentication result is received from at least k secret calculation servers 1, but it is determined that the authentication has failed unless all the authentication results indicate successful authentication.
  • a data processing request describing the contents of the data processing for the processing target data is input to the calculation input unit 32 of the user terminal 3.
  • the data processing request is, for example, a script described in a predetermined programming language.
  • R language developed in an open source project for statistical analysis can be used.
  • the data processing request may include a sorting process for aligning the processing target data and a matching process for extracting data matching the conditions from the processing target data.
  • step S34 the calculation requesting unit 34 of the user terminal 3 transmits a data processing request to the n secret calculation servers 1 1 ,..., 1 n .
  • the transmission path may be any path as long as all n secret calculation servers 1 1 ,..., 1 n can receive the data processing request.
  • step S14a the secret calculation unit 14 of the secret calculation server 1 i performs secret calculation on the data distribution value stored in the storage unit 16 in accordance with the data processing request received from the user terminal 3, and the processing target A distributed value is generated by distributing the processing result of executing the data processing request to the data into n pieces.
  • a dispersion value obtained by dispersing the processing results into n is called a processing result dispersion value.
  • Step S14a may be executed in cooperation with at least k out of the n secret calculation servers 1 1 ,..., 1 n .
  • step S ⁇ b> 14 b the secret calculation unit 14 of the secret calculation server 1 i transmits the processing result distribution value to the user terminal 3.
  • step S36 the result restoration unit 36 of the user terminal 3 restores the processing result distribution value received from the secret calculation server 1 i to obtain a processing result.
  • the processing result distribution values do not need to be received from all n secret calculation servers 1 1 ,..., 1 n , and if at least k processing result distribution values are received from k secret calculation servers 1, The processing result can be restored.
  • the personal information is concealed with respect to the distributed value in which the entire processing target data is secretly distributed by the registrant terminal after being securely authenticated by the secret calculation authentication.
  • Data processing such as statistical analysis and search is performed as it is, and the distributed value of the processing result is returned to the user terminal.
  • various data processing can be performed on the secret calculation server without restoring the processing target data and the personal information included in the processing result while keeping it secret.
  • Non-Patent Document 1 cannot perform sort processing necessary for statistical analysis, uses a special language compiler, has low information processing extensibility, and has a fixed number of calculation nodes. There are challenges. According to the secret calculation technique of the present invention, sort processing can be used while keeping information secret, a general-purpose programming language can be used, and the number of calculation nodes is variable.
  • the secret calculation technique described in Non-Patent Document 2 has problems such as low basic operation performance, inability to perform sort processing, and inability to extend programs.
  • the sort process can be used while the information is kept secret, and a general-purpose programming language can be used.
  • the basic calculation performance is as low as 80,000 multiplications per second, but the secret calculation technique of the present invention has a high basic calculation performance as one million multiplications per second.
  • Non-Patent Document 3 implements sorting in an encrypted state by using a plurality of ciphers in a hierarchical manner, the types of operations that can be processed are limited. In addition, there is a problem that it is possible to infer the order relationship as the processing is repeated. According to the secret calculation technique of the present invention, various operations such as a sort process and a matching process are possible, and since the sort process can be performed while the information is kept secret by secret sharing, safety is high.
  • Non-Patent Document 4 can perform arbitrary operations in a state encrypted using a completely homomorphic encryption, but has a slow execution time and low practicality. As described above, the secret calculation technique of the present invention has high basic calculation performance.
  • the secret calculation technique described in Non-Patent Document 5 encrypts the database, but it is necessary to restore the encrypted data for data processing.
  • the secret calculation technique of the present invention can be executed without restoring all information while keeping the information secret.
  • Non-Patent Document 6 can search without decrypting data, it is necessary to share a secret key between data providing entities, and confidentiality is not ensured.
  • the secret calculation technique of the present invention is highly secure because information is concealed by secret sharing without using a secret key.
  • Non-Patent Document 7 can mask personal information and confidential information while maintaining the meaning of the data. However, since personal information other than personal information is handled in plain text, it is sensitive in the medical and administrative fields. It is difficult to use in specific fields that handle data. Since the secret calculation technique of the present invention performs processing of secret sharing as a whole by processing data including non-personal information, it is difficult to guess an individual from other than personal information even when the number of data to be processed is small. It is.
  • the secret calculation technique described in Non-Patent Document 8 can perform statistical processing such as an average value, standard deviation, and sum by logical operation by one server, but cannot perform sorting processing, so even if statistical processing, the maximum value The minimum value, median value, etc. cannot be obtained, and the expandability is low. There is also a problem that the basic arithmetic performance is low. According to the secret calculation technique of the present invention, since the sorting process can be used while the information is kept secret, the maximum value, the minimum value, the median value, and the like can be obtained. In addition, the secret calculation technique of the present invention has high basic calculation performance as described above.
  • Non-Patent Document 9 can process data with the relational database encrypted, some operations need to be executed on the client side. In addition, there is a problem that the scalability of information processing is low because the encryption method is different for each computation.
  • the secret calculation technique of the present invention performs a secret calculation only between secret calculation servers, and a user terminal or the like is not involved in data processing. In addition, since all operations are performed using shared values that are secret-shared by a specific secret sharing technique, the degree of freedom in designing data processing contents is high.
  • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Algebra (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 個人情報を秘匿したままデータ処理を行う。登録者端末2は、登録時入力パスワードを秘密分散して秘密計算サーバ1へ分配する。秘密計算サーバ1は、パスワードが一致するか否かを検証する。登録者端末2は、処理対象データを秘密分散して秘密分散サーバ1へ分配する。秘密計算サーバ1は、データ分散値を記憶する。利用者端末3は、利用時入力パスワードを秘密分散して秘密計算サーバ1へ分配する。秘密計算サーバ1は、パスワードが一致するか否かを検証する。利用者端末3は、データ処理要求を秘密計算サーバ1へ送信する。秘密計算サーバ1は、データ分散値に対して秘密計算を実行し、処理結果の分散値を生成する。利用者端末3は、処理結果分散値を復元して処理結果を得る。

Description

秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム
 この発明は、暗号応用技術に関し、特に、入力データを明かすことなく関数計算や統計処理を行う秘密計算技術に関する。
 近年、個人情報保護法の遵守などによるプライバシ保護の重要性が高まっている。そのため、例えば、ビッグデータを利用したデータマイニング、希少症例の処方新薬開発、国家計画のような国勢調査情報の利活用などの統計分析では、個人情報を秘匿したままデータ処理する要望が高まっている。しかしながら、蓄積された貴重なデータは機密管理されている場合が多く、要望の高い市場分析や計画策定のための統計分析には十分に対処できておらず、データの蓄積にとどまり、記録の域を出ていないと言える。
 個人情報を秘匿したままの情報利活用には、個人情報を含むデータベースを物理的に隔離し、必要な情報へのアクセスを運用で対処するアプローチが考えられる。例えば、データベースから個人情報に関する項目を削除する、データ保存時に暗号化し加工時には平文に復号する、運用によりシステム管理者等に限定したアクセス制御を行う、個人が特定できないように個人情報をマスキングする、等の手法が考えられる。
 上記のようなアプローチにより個人情報を秘匿したまま関数計算や統計処理を行うことを目的とした技術には、例えば、非特許文献1から9に挙げるものが存在する。
Dan Bogdanov, Margus Niitsoo, Tomas Toft, Jan Willemson, "High-performance secure multi-party computation for data mining applications", International Journal of Information Security, vol. 11, issue 6, pp 403-418, 2012 Martin Burkhart, Mario Strasser, Dilip Many, Xenofontas Dimitropoulos, "SEPIA: Privacy-Preserving Aggregation of Multi-Domain Network Events and Statistics", USENIX Security, 2010 Raluca Ada Popa, Catherine M. S. Redfield, Nickolai Zeldovich, Hari Balakrishnan, "CryptDB: Protecting Confidentiality with Encrypted Query Processing", SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, pp. 85-100, 2011 Craig Gentry, "Fully Homomorphic Encryption Using Ideal Lattices", STOC '09 Proceedings of the 41st annual ACM symposium on Theory of computing, pp. 169-178, 2009 日本オラクル株式会社、"Oracle Advanced Security"、[online]、[平成26年1月24日検索]、インターネット<URL:http://www.oracle.com/technetwork/jp/database/enterprise-edition/ds-security-advanced-security-11gr2-134506-ja.pdf> 三菱電機株式会社、"秘匿検索基盤ソフトウェア"、[online]、[平成26年1月24日検索]、インターネット<URL:http://www.mitsubishielectric.co.jp/news/2013/pdf/0703-a.pdf> 日本アイ・ビー・エム株式会社、"IBM InfoSphere Optim Data Masking Solution for Oracle E-Business Suite"、[online]、[平成26年1月24日検索]、インターネット<URL:http://www-06.ibm.com/software/jp/data/optim/solutionbrief/IMS14011_JPJA_01.pdf> 株式会社富士通研究所、"世界初!暗号化したまま統計計算や生体認証などを可能にする準同型暗号の高速化技術を開発"、[online]、[平成26年1月24日検索]、インターネット<URL:http://pr.fujitsu.com/jp/news/2013/08/28.html> 日本電気株式会社、"NEC、世界初、データベースの情報を暗号化したまま処理できる秘匿計算技術を開発"、[online]、[平成26年1月24日検索]、インターネット<URL:http://jpn.nec.com/press/201311/20131106_01.html>
 従来のアプローチによる個人情報を秘匿した情報利活用には以下のような課題がある。データベースから個人情報を削除する手法では、例えば、希少症例の分析などデータの全体数が少ない場合には、個人情報以外の値から個人を類推することが可能であり、安全性が担保されない。データを保存時に暗号化する手法では、データの加工時に平文に復号する必要があり、情報漏洩の危険性は排除できない。運用によりアクセス制御する手法では、内部からの不正アクセスにより情報漏洩する危険性がある。データをマスキングする手法では、一度マスキングすると元に戻すことができず、様々な統計分析要望に対応できるだけの柔軟性に欠ける。
 この発明の目的は、データに含まれる個人情報を秘匿したまま復元することなく様々なデータ処理を行うことができる秘密計算技術を提供することである。
 上記の課題を解決するために、この発明の秘密計算方法は、n,kは2以上の整数であり、n≧kであり、n台の秘密計算サーバの記憶部に、情報提供者の登録パスワードをn個に秘密分散した登録パスワード分散値及び情報分析者の利用パスワードをn個に秘密分散した利用パスワード分散値が記憶されており、登録者端末の認証要求部が、情報提供者が入力した登録時入力パスワードをn個に秘密分散した登録時入力パスワード分散値をn台の秘密計算サーバへ分配する登録時認証要求ステップと、少なくともk台の秘密計算サーバの認証実行部が、登録時入力パスワード分散値と登録パスワード分散値とを用いて、登録パスワードと登録時入力パスワードとが一致するか否かを検証する登録時認証実行ステップと、登録者端末の秘密分散部が、情報提供者が入力した処理対象データをn個に秘密分散してデータ分散値を生成する秘密分散ステップと、登録者端末の登録要求部が、データ分散値をn台の秘密分散サーバへ分配する登録要求ステップと、n台の秘密計算サーバの登録実行部が、データ分散値を記憶部へ記憶する登録実行ステップと、利用者端末の認証要求部が、情報分析者が入力した利用時入力パスワードをn個に秘密分散した利用時入力パスワード分散値をn台の秘密計算サーバへ分配する利用時認証要求ステップと、少なくともk台の秘密計算サーバの認証実行部が、利用時入力パスワード分散値と利用パスワード分散値とを用いて、利用パスワードと利用時入力パスワードとが一致するか否かを検証する利用時認証実行ステップと、利用者端末の演算要求部が、処理対象データに対するデータ処理要求をn台の秘密計算サーバへ送信する演算要求ステップと、少なくともk台の秘密計算サーバの秘密計算部が、データ処理要求に従って、データ分散値に対して秘密計算を実行し、処理対象データに対してデータ処理要求を実行した処理結果をn個に秘密分散した処理結果分散値を生成する秘密計算ステップと、利用者端末の結果復元部が、処理結果分散値のうち、秘密計算サーバから受信した少なくともk個の処理結果分散値を復元して処理結果を得る結果復元ステップと、を含む。
 この発明によれば、データに含まれる個人情報を秘匿したまま復元することなく様々なデータ処理を行うことができる。
図1は、秘密計算システムの機能構成を例示する図である。 図2は、秘密計算サーバの機能構成を例示する図である。 図3は、登録者端末の機能構成を例示する図である。 図4は、利用者端末の機能構成を例示する図である。 図5は、秘密計算方法の処理フローを例示する図である。 図6は、秘密計算方法の処理フローを例示する図である。
 実施形態の説明に先立ち、この発明で利用する基本的な技術概念を説明する。
[秘密分散技術]
 秘密分散とは、データを複数の分散値に変換し、一定個数以上の分散値を用いれば元のデータを復元でき、一定個数未満の分散値からは元のデータを一切復元できなくする技術である。秘密分散の一種である(k,n)-秘密分散は、入力された平文をn個に分割した分散値をn個の計算主体に分散しておき、任意のk個の分散値が揃えば平文を復元でき、k個未満の分散値からは平文に関する一切の情報を得られないような秘密分散である。このとき、n,kは1以上の整数であり、n≧kである。(k,n)-秘密分散の代表的な例は、「A.Shamir, “How to share a secret”, Communications of the ACM, Volume 22 Issue 11, pp. 612-613, 1979.(参考文献1)」に記載されている、Shamir秘密分散である。この発明で利用する秘密分散は、後述の秘密計算及び秘密計算認証が利用可能な方法であればどのようなものであってもよい。
[秘密計算技術]
 秘密計算は、複数の計算主体に計算対象のデータを秘密分散して保存しておき、元のデータを復元することなく他の計算主体と協力して元のデータの関数値の分散値を計算する技術である。秘密計算では要素技術として秘密分散を利用する。
 この発明で利用する秘密計算は、所望のデータ処理に必要な各種演算が特定の秘密分散方法による分散値に対して可能なものを適宜利用すればよい。秘密分散値に対して加算や乗算等の基本演算を行う秘密計算技術は、例えば、「千田浩司、濱田浩気、五十嵐大、高橋克己、“軽量検証可能3パーティ秘匿関数計算の再考”、コンピュータセキュリティシンポジウム2010、2010年(参考文献2)」に記載されている。データ列の秘密分散値から情報を秘匿したまま検索を行う秘密マッチング技術は、例えば、「千田浩司、寺田雅之、山口高康、五十嵐大、濱田浩気、高橋克巳、“統計的開示制御を考慮したセキュアマッチングプロトコル”、情報処理学会研究報告、2011-CSEC-52(12)、2011年(参考文献3)」に記載されている。データ列の秘密分散値を秘匿したまま整列する秘密ソート技術は、例えば、「濱田浩気、五十嵐大、千田浩司、高橋克巳、“秘匿関数計算上の線形時間ソート”、コンピュータセキュリティシンポジウム2011、2011年(参考文献4)」に記載されている。
[秘密計算認証技術]
 秘密計算認証は、複数の計算主体にログインやパスワードなどの認証情報を秘密分散して保存しておき、認証情報を復元することなく他の計算主体と協力して利用者が入力した認証情報が正しいか否かを検証する技術である。
 この発明では、任意の秘密計算認証方法を利用することができる。例えば、「菊池亮、五十嵐大、千田浩司、濱田浩気、“無条件秘匿性を持つマルチパーティシステム用パスワード認証方式”、コンピュータセキュリティシンポジウム2013、2013年(参考文献5)」に記載の秘密計算認証方法を利用することができる。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[実施形態]
 図1を参照して、実施形態に係る秘密計算システムの構成例を説明する。秘密計算システムは、n(≧2)台の秘密計算サーバ11,…,1n、少なくとも1台の登録者端末2、少なくとも1台の利用者端末3及びネットワーク9を含む。秘密計算サーバ11,…,1n、登録者端末2及び利用者端末3はネットワーク9にそれぞれ接続される。ネットワーク9は、秘密計算サーバ11,…,1nそれぞれの間、秘密計算サーバ11,…,1nそれぞれと登録者端末2の間、秘密計算サーバ11,…,1nそれぞれと利用者端末3の間が相互に通信可能なように構成されていればよく、例えばインターネットやLAN、WANなどで構成することができる。秘密計算サーバ11,…,1nそれぞれの間の通信路は、暗号技術などにより秘匿性の高い通信が実現されていることが望ましい。また、秘密計算サーバ11,…,1n、登録者端末2及び利用者端末3は必ずしもネットワーク9を介してオンラインで通信可能である必要はない。例えば、登録者端末2が出力する情報をUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からいずれかの秘密計算サーバ1i(1≦i≦n)へオフラインで入力するように構成してもよい。
 図2を参照して、秘密計算システムに含まれる秘密計算サーバ1i(i=1,…,n)の構成例を説明する。秘密計算サーバ1iは、認証実行部10、登録実行部12、秘密計算部14及び記憶部16を含む。秘密計算サーバ1iは、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算サーバ1iは、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密計算サーバ1iに入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。記憶部16は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
 図3を参照して、秘密計算システムに含まれる登録者端末2の構成例を説明する。登録者端末2は、認証要求部20、データ入力部22、秘密分散部24及び登録要求部26を含む。登録者端末2は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。登録者端末2は、例えば、中央演算処理装置の制御のもとで各処理を実行する。登録者端末2に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。登録者端末2は、具体的には、デスクトップ型もしくはラップトップ型のパーソナル・コンピュータや携帯電話、スマートフォン、タブレット端末などである。
 図4を参照して、秘密計算システムに含まれる利用者端末3の構成例を説明する。利用者端末3は、認証要求部30、演算入力部32、演算要求部34及び結果復元部36を含む。利用者端末3は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。利用者端末3は、例えば、中央演算処理装置の制御のもとで各処理を実行する。利用者端末3に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。利用者端末3は、具体的には、デスクトップ型もしくはラップトップ型のパーソナル・コンピュータや携帯電話、スマートフォン、タブレット端末などである。
 図5、6を参照しながら、実施形態に係る秘密計算システムが実行する秘密計算方法の処理フローの一例を、手続きの順に従って説明する。図5は、登録者端末2がデータ処理の対象とするデータを秘密計算サーバ11,…,1nへ登録する手順である。
 秘密計算サーバ1i(i=1,…,n)の記憶部16には、登録者端末2を利用する情報提供者もしくは利用者端末3を利用する情報分析者に個々に設定されたパスワードをn個に秘密分散した分散値のうち、i番目の分散値が記憶されている。以下、情報提供者のパスワードを登録パスワードと呼び、登録パスワードをn個に分散した分散値を登録パスワード分散値と呼ぶ。また、情報分析者のパスワードを利用パスワードと呼び、利用パスワードをn個に分散した分散値を利用パスワード分散値と呼ぶ。パスワードを秘密分散する方法は、上述の秘密計算認証技術を利用可能な秘密分散方法である必要がある。例えば、参考文献5に記載の秘密分散方法を適用することができる。
 ステップS20aにおいて、登録者端末2の認証要求部20は、情報提供者が入力したパスワードをn個に秘密分散した分散値をn台の秘密計算サーバ11,…,1nへ分配する。以下、情報提供者が入力したパスワードを登録時入力パスワードと呼び、登録時入力パスワードをn個に分散した分散値を登録時入力パスワード分散値と呼ぶ。分配とは、iを1以上n以下の各整数として、i番目の登録時入力パスワード分散値を、i番目の秘密計算サーバ1iへ通信路を介して送信することである。
 ステップS10aにおいて、秘密計算サーバ1iの認証実行部10は、登録者端末2から受信した登録時入力パスワード分散値と記憶部16に記憶されている登録パスワード分散値とを用いて、登録パスワードと登録時入力パスワードとが一致するか否かを検証する。ステップS10aは、n台の秘密計算サーバ11,…,1nのうち、少なくともk台が協調して実行すればよい。パスワードを検証する具体的な方法は、上記の参考文献4を参照されたい。
 ステップS10bにおいて、秘密計算サーバ1iの認証実行部10は、登録パスワードと登録時入力パスワードとが一致すると判定した場合には、認証成功を示す認証結果を登録者端末2へ送信する。登録パスワードと登録時入力パスワードとが一致しないと判定した場合には、認証失敗を示す認証結果を登録者端末2へ送信する。
 ステップS20bにおいて、登録者端末2の認証要求部20は、秘密計算サーバ1iから受信した認証結果が認証失敗を示す場合には処理を終了する。秘密計算サーバ1iから受信した認証結果が認証成功を示す場合にはステップS22へ処理を進める。認証結果は少なくともk台の秘密計算サーバ1から受信することになるが、すべての認証結果が認証成功を示していない限りは、認証失敗と判定する。
 ステップS22において、登録者端末2のデータ入力部22には、データ処理の対象となる処理対象データが入力される。処理対象データには、個人を特定することが可能な個人情報が含まれている。個人情報は、例えば、氏名や住所、生年月日、性別のような個人の属性を表す情報である。処理対象データのうち個人情報以外の情報はデータ処理の目的に応じて必要な項目が設定される。
 ステップS24において、登録者端末2の秘密分散部24は、処理対象データをn個に秘密分散してデータ分散値を生成する。処理対象データを秘密分散する方法は、上述の秘密計算技術を利用可能な秘密分散方法である必要がある。例えば、上記の参考文献2から4のいずれかに記載の秘密分散方法を適用することができる。このとき、処理対象データに含まれる個人情報に該当する項目と個人情報以外の項目とをまとめて、処理対象データ全体として秘密分散する。
 ステップS26において、登録者端末2の登録要求部26は、データ分散値をn台の秘密分散サーバ11,…,1nへ分配する。分配とは、iを1以上n以下の各整数として、i番目のデータ分散値を、i番目の秘密計算サーバ1iへ通信路を介して送信することである。
 ステップS12において、秘密計算サーバ11,…,1nの登録実行部12は、登録者端末2から受信したデータ分散値を記憶部16へ記憶する。
 図6を参照して、秘密計算サーバ11,…,1nへ登録された処理対象データの分散値を用いて、利用者端末3の要求するデータ処理を行う手順を説明する。
 ステップS30aにおいて、利用者端末3の認証要求部30は、情報分析者が入力したパスワードをn個に秘密分散した分散値をn台の秘密計算サーバ11,…,1nへ分配する。以下、情報分析者が入力したパスワードを利用時入力パスワードと呼び、利用時入力パスワードをn個に秘密分散した分散値を利用時入力パスワード分散値と呼ぶ。分配とは、iを1以上n以下の各整数として、i番目の利用時入力パスワード分散値を、i番目の秘密計算サーバ1iへ通信路を介して送信することである。
 ステップS10cにおいて、秘密計算サーバ1iの認証実行部10は、利用者端末3から受信した利用時入力パスワード分散値と記憶部16に記憶されている利用パスワード分散値とを用いて、利用パスワードと利用時入力パスワードとが一致するか否かを検証する。ステップS10cは、n台の秘密計算サーバ11,…,1nのうち、少なくともk台が協調して実行すればよい。パスワードを検証する具体的な方法は、上記の参考文献5を参照されたい。
 ステップS10dにおいて、秘密計算サーバ1iの認証実行部10は、利用パスワードと利用時入力パスワードとが一致すると判定した場合には、認証成功を示す認証結果を利用者端末3へ送信する。利用パスワードと利用時入力パスワードとが一致しないと判定した場合には、認証失敗を示す認証結果を利用者端末3へ送信する。
 ステップS30bにおいて、利用者端末3の認証要求部30は、秘密計算サーバ1iから受信した認証結果が認証失敗を示す場合には処理を終了する。秘密計算サーバ1iから受信した認証結果が認証成功を示す場合にはステップS32へ処理を進める。認証結果は少なくともk台の秘密計算サーバ1から受信することになるが、すべての認証結果が認証成功を示していない限りは、認証失敗と判定する。
 ステップS32において、利用者端末3の演算入力部32には、処理対象データに対するデータ処理の内容を記述したデータ処理要求が入力される。データ処理要求は、例えば、あらかじめ定めたプログラミング言語で記述されたスクリプトである。具体的には、統計解析向けにオープンソースプロジェクトで開発されているR言語などが利用できる。R言語についての詳細は、「The R Project、“The R Project for Statistical Computing”、[online]、[平成26年1月14日検索]、インターネット<URL:http://www.r-project.org/index.html>(参考文献6)」を参照されたい。データ処理要求には、加算や乗算等の基本演算に加えて、処理対象データを整列するソート処理や処理対象データから条件に合致するデータを抽出するマッチング処理が含まれていてもよい。
 ステップS34において、利用者端末3の演算要求部34は、データ処理要求を、n台の秘密計算サーバ11,…,1nへ送信する。送信経路はn台の秘密計算サーバ11,…,1nすべてがデータ処理要求を受信できればどのようなものでもよい。例えば、利用者端末3がn台の秘密計算サーバ11,…,1nすべてに対して個別に送信してもよいし、利用者端末3からいずれか1台の秘密計算サーバ1iに送信し、秘密計算サーバ1iから他の秘密計算サーバ1j(j=1,…,n、i≠j)に転送してもよい。
 ステップS14aにおいて、秘密計算サーバ1iの秘密計算部14は、利用者端末3から受信したデータ処理要求に従って、記憶部16に記憶されているデータ分散値に対して秘密計算を実行し、処理対象データに対してデータ処理要求を実行した処理結果をn個に分散した分散値を生成する。以下、処理結果をn個に分散した分散値を処理結果分散値と呼ぶ。ステップS14aは、n台の秘密計算サーバ11,…,1nのうち、少なくともk台が協調して実行すればよい。
 ステップS14bにおいて、秘密計算サーバ1iの秘密計算部14は、処理結果分散値を利用者端末3へ送信する。
 ステップS36において、利用者端末3の結果復元部36は、秘密計算サーバ1iから受信した処理結果分散値を復元して処理結果を得る。処理結果分散値はn台の秘密計算サーバ11,…,1nすべてから受信する必要はなく、少なくともk台の秘密計算サーバ1からk個以上の処理結果分散値を受信していれば、処理結果を復元することができる。
 このように、この発明の秘密計算技術によれば、秘密計算認証により安全に認証を経た上で、登録者端末により処理対象データ全体が秘密分散された分散値に対して、個人情報を秘匿したまま統計分析や検索などのデータ処理を行い、処理結果の分散値を利用者端末へ返却する。これにより、秘密計算サーバに対して、処理対象データ及び処理結果に含まれる個人情報を秘匿したまま復元することなく様々なデータ処理を行うことができる。
[従来技術との比較]
 非特許文献1に記載の秘密計算技術には、統計分析に必要なソート処理が行えない、特殊な言語コンパイラを利用するため情報処理の拡張性が低い、計算ノード数が固定である、などの課題がある。この発明の秘密計算技術によれば、情報を秘匿したままソート処理が利用でき、汎用的なプログラミング言語が利用でき、計算ノード数は可変である。
 非特許文献2に記載の秘密計算技術では、基本演算性能が低い、ソート処理が行えない、プログラム拡張が行えない、などの課題がある。この発明の秘密計算技術によれば、情報を秘匿したままソート処理が利用でき、汎用的なプログラミング言語が利用できる。また、非特許文献2に記載の秘密計算技術では、基本演算性能が秒間8万回乗算と低いが、この発明の秘密計算技術は、秒間100万回乗算と高い基本演算性能を持つ。
 非特許文献3に記載の秘密計算技術は、複数の暗号を階層的に利用することにより暗号化した状態でのソートを実現しているが、処理できる演算の種類が制限される。また、処理を重ねるに従って順序関係などの推測が可能であるという課題がある。この発明の秘密計算技術によれば、ソート処理やマッチング処理などの様々な演算が可能であり、秘密分散により情報を秘匿したままソート処理ができるため、安全性が高い。
 非特許文献4に記載の秘密計算技術は、完全準同型暗号を利用して暗号化した状態で任意の演算が可能であるが、実行時間が遅く実用性が低い。この発明の秘密計算技術は、上記のとおり、基本演算性能が高い。
 非特許文献5に記載の秘密計算技術は、データベースを暗号化するが、データ処理のために暗号化データの復元が必要である。この発明の秘密計算技術は、すべての演算が情報を秘匿したまま復元することなく実行可能である。
 非特許文献6に記載の秘密計算技術は、データを復号せずに検索が可能であるが、データ提供主体の間で秘密鍵を共有する必要があり、秘匿性が担保されない。この発明の秘密計算技術は、秘密鍵を利用しない秘密分散により情報の秘匿を行うため、安全性が高い。
 非特許文献7に記載の秘密計算技術は、個人情報や機密情報をデータの意味を維持しながらマスキングすることができるが、個人情報以外は平文で扱われるため医療や行政の分野のような機微データを扱う特定分野では利用が難しい。この発明の秘密計算技術は、個人情報以外を含めて処理対象データをまとめて全体として秘密分散を行うため、処理対象データ数が少ない場合であっても個人情報以外から個人を推測することが困難である。
 非特許文献8に記載の秘密計算技術は、一台のサーバによる論理演算により平均値、標準偏差、合計などの統計処理が可能であるが、ソート処理ができないため統計処理であっても最大値、最小値、中央値などを求めることができず拡張性が低い。また、基本演算性能が低いという課題もある。この発明の秘密計算技術によれば、情報を秘匿したままソート処理が利用できるため、最大値、最小値、中央値などを求めることができる。また、この発明の秘密計算技術は、上記のとおり、基本演算性能が高い。
 非特許文献9に記載の秘密計算技術は、リレーショナルデータベースを暗号化したままデータ処理が可能であるが、一部の演算はクライアント側で実行する必要がある。また、演算毎に暗号化方式が異なるため情報処理の拡張性が低い、などの課題がある。この発明の秘密計算技術は秘密計算サーバ間のみで秘密演算を行い、データ処理に利用者端末等が関与することはない。また、すべての演算が特定の秘密分散技術で秘密分散した分散値を用いて行われるため、データ処理内容の設計の自由度が高い。
 この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (8)

  1.  n,kは2以上の整数であり、n≧kであり、
     n台の秘密計算サーバの記憶部に、情報提供者の登録パスワードをn個に秘密分散した登録パスワード分散値及び情報分析者の利用パスワードをn個に秘密分散した利用パスワード分散値が記憶されており、
     登録者端末の認証要求部が、上記情報提供者が入力した登録時入力パスワードをn個に秘密分散した登録時入力パスワード分散値をn台の上記秘密計算サーバへ分配する登録時認証要求ステップと、
     少なくともk台の上記秘密計算サーバの認証実行部が、上記登録時入力パスワード分散値と上記登録パスワード分散値とを用いて、上記登録パスワードと上記登録時入力パスワードとが一致するか否かを検証する登録時認証実行ステップと、
     上記登録者端末の秘密分散部が、上記情報提供者が入力した処理対象データをn個に秘密分散してデータ分散値を生成する秘密分散ステップと、
     上記登録者端末の登録要求部が、上記データ分散値をn台の上記秘密分散サーバへ分配する登録要求ステップと、
     n台の上記秘密計算サーバの登録実行部が、上記データ分散値を上記記憶部へ記憶する登録実行ステップと、
     利用者端末の認証要求部が、上記情報分析者が入力した利用時入力パスワードをn個に秘密分散した利用時入力パスワード分散値をn台の上記秘密計算サーバへ分配する利用時認証要求ステップと、
     少なくともk台の上記秘密計算サーバの認証実行部が、上記利用時入力パスワード分散値と上記利用パスワード分散値とを用いて、上記利用パスワードと上記利用時入力パスワードとが一致するか否かを検証する利用時認証実行ステップと、
     上記利用者端末の演算要求部が、上記処理対象データに対するデータ処理要求をn台の上記秘密計算サーバへ送信する演算要求ステップと、
     少なくともk台の上記秘密計算サーバの秘密計算部が、上記データ処理要求に従って、上記データ分散値に対して秘密計算を実行し、上記処理対象データに対して上記データ処理要求を実行した処理結果をn個に秘密分散した処理結果分散値を生成する秘密計算ステップと、
     上記利用者端末の結果復元部が、上記処理結果分散値のうち、上記秘密計算サーバから受信した少なくともk個の上記処理結果分散値を復元して上記処理結果を得る結果復元ステップと、
     を含む秘密計算方法。
  2.  請求項1に記載の秘密計算方法であって、
     上記処理対象データは、個人を特定することが可能な個人情報を含むものであり、
     上記秘密分散ステップは、上記処理対象データ全体をまとめて秘密分散することで上記データ分散値を生成するものである
     秘密計算方法。
  3.  請求項1又は2に記載の秘密計算方法であって、
     上記データ処理要求は、上記処理対象データを整列するソート処理及び/又は上記処理対象データから条件に合致するデータを抽出するマッチング処理を含むものであり、
     上記秘密計算ステップは、上記データ分散値に対して秘密ソート計算及び/又は秘密マッチング計算を実行することで、上記処理結果分散値を生成するものである
     秘密計算方法。
  4.  n,kは2以上の整数であり、n≧kであり、
     n台の秘密計算サーバ、少なくとも1台の登録者端末及び少なくとも1台の利用者端末を含む秘密計算システムであって、
     上記登録者端末は、
      情報提供者が入力した登録時入力パスワードをn個に秘密分散した登録時入力パスワード分散値をn台の上記秘密計算サーバへ分配する認証要求部と、
      上記情報提供者が入力した処理対象データをn個に秘密分散してデータ分散値を生成する秘密分散部と、
      上記データ分散値をn台の上記秘密分散サーバへ分配する登録要求部と、
     を含み、
     上記利用者端末は、
      情報分析者が入力した利用時入力パスワードをn個に秘密分散した利用時入力パスワード分散値をn台の上記秘密計算サーバへ分配する認証要求部と、
      上記処理対象データに対するデータ処理要求をn台の上記秘密計算サーバへ送信する演算要求部と、
      上記処理対象データに対して上記データ処理要求を実行した処理結果をn個に秘密分散した処理結果分散値のうち、上記秘密計算サーバから受信した少なくともk個の処理結果分散値を復元して処理結果を得る結果復元部と、
     を含み、
     上記秘密計算サーバは、
      上記情報提供者の登録パスワードをn個に秘密分散した登録パスワード分散値及び上記情報分析者の利用パスワードをn個に秘密分散した利用パスワード分散値を記憶する記憶部と、
      上記登録時入力パスワード分散値を受信したときは、上記登録時入力パスワード分散値と上記登録パスワード分散値とを用いて、上記登録パスワードと上記登録時入力パスワードとが一致するか否かを検証し、上記利用時入力パスワード分散値を受信したときは、上記利用時入力パスワード分散値と上記利用パスワード分散値とを用いて、上記利用パスワードと上記利用時入力パスワードとが一致するか否かを検証する認証実行部と、
      上記データ分散値を上記記憶部へ記憶する登録実行部と、
      上記データ処理要求に従って、上記データ分散値に対して秘密計算を実行し、上記処理結果分散値を生成する秘密計算部と、
     を含む秘密計算システム。
  5.  n,kは2以上の整数であり、n≧kであり、
     情報提供者の登録パスワードをn個に秘密分散した登録パスワード分散値及び情報分析者の利用パスワードをn個に秘密分散した利用パスワード分散値を記憶する記憶部と、
     上記情報提供者が入力した登録時入力パスワードをn個に秘密分散した登録時入力パスワード分散値を受信したときは、上記登録時入力パスワード分散値と上記登録パスワード分散値とを用いて、上記登録パスワードと上記登録時入力パスワードとが一致するか否かを検証し、上記情報分析者が入力した利用時入力パスワードをn個に秘密分散した利用時入力パスワード分散値を受信したときは、上記利用時入力パスワード分散値と上記利用パスワード分散値とを用いて、上記利用パスワードと上記利用時入力パスワードとが一致するか否かを検証する認証実行部と、
     上記情報提供者が入力した処理対象データをn個に秘密分散したデータ分散値を上記記憶部へ記憶する登録実行部と、
     上記処理対象データに対するデータ処理要求に従って、上記データ分散値に対して秘密計算を実行し、上記処理対象データに対して上記データ処理要求を実行した処理結果をn個に秘密分散した処理結果分散値を生成する秘密計算部と、
     を含む秘密計算サーバ。
  6.  n,kは2以上の整数であり、n≧kであり、
     情報提供者が入力した登録時入力パスワードをn個に秘密分散した登録時入力パスワード分散値をn台の秘密計算サーバへ分配する認証要求部と、
     上記情報提供者が入力した処理対象データをn個に秘密分散してデータ分散値を生成する秘密分散部と、
     上記データ分散値をn台の上記秘密分散サーバへ分配する登録要求部と、
     を含む登録者端末。
  7.  n,kは2以上の整数であり、n≧kであり、
     情報分析者が入力した利用時入力パスワードをn個に秘密分散した利用時入力パスワード分散値をn台の秘密計算サーバへ分配する認証要求部と、
     上記情報分析者が入力した処理対象データに対するデータ処理要求をn台の上記秘密計算サーバへ送信する演算要求部と、
     上記処理対象データに対して上記データ処理要求を実行した処理結果をn個に秘密分散した処理結果分散値のうち、上記秘密計算サーバから受信した少なくともk個の処理結果分散値を復元して上記処理結果を得る結果復元部と、
     を含む利用者端末。
  8.  請求項5に記載の秘密計算サーバ、請求項6に記載の登録者端末又は請求項7に記載の利用者端末としてコンピュータを機能させるためのプログラム。
PCT/JP2014/082220 2014-01-28 2014-12-05 秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム WO2015114947A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201480074049.XA CN105981088B (zh) 2014-01-28 2014-12-05 秘密计算方法、秘密计算系统、注册者终端以及记录介质
US15/110,645 US10218495B2 (en) 2014-01-28 2014-12-05 Secure computation method, secure computation system, secure computation server, registrant terminal, user terminal and program
EP14881321.5A EP3101645B1 (en) 2014-01-28 2014-12-05 Secure computation method, secure computation system, secure computation server, registrant terminal, user terminal and program
JP2015559767A JP6321049B2 (ja) 2014-01-28 2014-12-05 秘密計算方法、秘密計算システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014013081 2014-01-28
JP2014-013081 2014-01-28

Publications (1)

Publication Number Publication Date
WO2015114947A1 true WO2015114947A1 (ja) 2015-08-06

Family

ID=53756541

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/082220 WO2015114947A1 (ja) 2014-01-28 2014-12-05 秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム

Country Status (5)

Country Link
US (1) US10218495B2 (ja)
EP (1) EP3101645B1 (ja)
JP (1) JP6321049B2 (ja)
CN (1) CN105981088B (ja)
WO (1) WO2015114947A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016056473A1 (ja) * 2014-10-07 2016-04-14 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
WO2017033442A1 (ja) * 2015-08-26 2017-03-02 日本電気株式会社 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体
WO2017195886A1 (ja) * 2016-05-13 2017-11-16 日本電気株式会社 認証システム、認証方法およびプログラム
JP2017207839A (ja) * 2016-05-17 2017-11-24 日本電信電話株式会社 ニューラルネットワークシステム、シェア計算装置、ニューラルネットワークの学習方法、プログラム
JPWO2020084751A1 (ja) * 2018-10-26 2021-09-24 日本電気株式会社 秘密計算サーバ、システム、秘密計算方法及びプログラム
US11435988B2 (en) 2018-09-20 2022-09-06 Nec Corporation Conversion apparatus, conversion method and program

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112548A1 (ja) * 2013-01-17 2014-07-24 日本電信電話株式会社 秘匿計算システム、演算装置、秘匿計算方法、およびプログラム
WO2016129259A1 (ja) * 2015-02-09 2016-08-18 日本電気株式会社 サーバ装置、データ検索システム、検索方法および記録媒体
US11164484B2 (en) * 2017-01-20 2021-11-02 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation device, secure computation method, and program
JP6821516B2 (ja) 2017-06-09 2021-01-27 株式会社日立製作所 計算機システム、秘密情報の検証方法、及び計算機
AU2018338249B2 (en) * 2017-09-21 2020-11-26 Nippon Telegraph And Telephone Corporation Secure reading apparatus, secure writing apparatus, method thereof, and program
WO2019133858A1 (en) * 2017-12-29 2019-07-04 Bonnie Berger Leighton Realizing private and practical pharmacological collaboration
US10897357B2 (en) * 2018-04-04 2021-01-19 International Business Machines Corporation Computation using lattice-based cryptography
US10664612B2 (en) * 2018-10-09 2020-05-26 Unboun Tech Ltd. System and method for controlling operations performed on personal information
KR102211698B1 (ko) * 2019-06-26 2021-02-03 넷마블 주식회사 글로벌 인증 계정 시스템
EP3916592A1 (en) * 2020-05-28 2021-12-01 I4P-Informatikai Kft. Distributed data processing with systems comprising hsm, se and other secure storage elements

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959394B1 (en) * 2000-09-29 2005-10-25 Intel Corporation Splitting knowledge of a password
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
JP4901311B2 (ja) * 2006-06-01 2012-03-21 株式会社東芝 データ処理装置、データ処理方法、およびデータ処理プログラム
WO2012046692A1 (ja) * 2010-10-06 2012-04-12 日本電信電話株式会社 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム

Non-Patent Citations (16)

* 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
DAN BOGDANOV; MARGUS NIITSOO; TOMAS TOFT; JAN WILLEMSON: "High-performance secure multi-party computation for data mining applications", INTERNATIONAL JOURNAL OF INFORMATION SECURITY, vol. 11, no. 6, 2012, pages 403 - 418
FUJITSU DEVELOPS WORLD'S FIRST HOMOMORPHIC ENCRYPTION TECHNOLOGY THAT ENABLES STATISTICAL CALCULATIONS AND BIOMETRIC AUTHENTICATION, 24 January 2014 (2014-01-24), Retrieved from the Internet <URL:http://pr.fujitsu.com/ip/news/2013/08/28.html>
GENBU MOROHASHI ET AL.: "Statistical Analysis System for Clinical Study Using Secure Multi-party Computation", COMPUTER SECURITY SYMPOSIUM 2012 RONBUNSHU, 23 October 2012 (2012-10-23), pages 533 - 538, XP055355836 *
IBM INFOSPHERE OPTIM DATA MASKING SOLUTION FOR ORACLE E-BUSINESS SUITE, 24 January 2014 (2014-01-24), Retrieved from the Internet <URL:http://www-06.ibm.com/software/jp/data/optim/solutionbrief/IMS 14011 JPJA 01 .pdf>
KOJI CHIDA; KOKI HAMADA; DAI IKARASHI; KATSUMI TAKAHASHI: "A Three-Party Secure Function Evaluation with Lightweight Verifiability Revisited", COMPUTER SECURITY SYMPOSIUM, 2010
KOJI CHIDA; MASAYUKI TERADA; TAKAYASU YAMAGUCHI; DAI IKARASHI; KOKI HAMADA; KATSUMI TAKAHASHI: "A Secure Matching Protocol with Statistical Disclosure Control", IPSJ SIG TECHNICAL REPORT, vol. CSEC-52, no. 12, 2011
KOKI HAMADA ET AL.: "Privacy preserving medical data analysis using a secure function evaluation system", IEICE TECHNICAL REPORT, vol. 111, no. 470, 1 March 2012 (2012-03-01), pages 177 - 181, XP008183901 *
KOKI HAMADA; DAI IKARASHI; KOJI CHIDA; KATSUMI TAKAHASHI: "A linear time sorting algorithm on secure function evaluation", COMPUTER SECURITY SYMPOSIUM, 2011
MARTIN BURKHART; MARIO STRASSER; DILIP MANY; XENOFONTAS DIMITROPOULOS: "SEPIA: Privacy-Preserving Aggregation of Multi-Domain Network Events and Statistics", USENIX SECURITY, 2010
NEC DEVELOPS WORLD'S FIRST SECRET COMPUTATION TECHNOLOGY THAT ENABLES SEARCH OVER ENCRYPTED DATABASES, 24 January 2014 (2014-01-24), Retrieved from the Internet <URL:http://jpn.nec.com/press/201311/20131106_01 .html>
ORACLE ADVANCED SECURITY, 24 January 2014 (2014-01-24), Retrieved from the Internet <URL:http://www.oracle.com/technetwork/ip/database/enterprise-edition/ds-security-advanced-security-11 gr2-134506 i a.pdf>
RALUCA ADA POPA; CATHERINE M. S; REDFIELD, NICKOLAI ZELDOVICH; HARI BALAKRISHNAN: "CryptDB: Protecting Confidentiality with Encrypted Query Processing", SOSP '11 PROCEEDINGS OF THE TWENTY-THIRD ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, pages 85 - 100
SEARCHABLE ENCRYPTION PLATFORM SOFTWARE, 24 January 2014 (2014-01-24), Retrieved from the Internet <URL:http://www.mitsubishielectric.co.ip/news/2013/pdf/0703-a.pdf>
STOC '09 PROCEEDINGS OF THE 41ST ANNUAL ACM SYMPOSIUM ON THEORY OF COMPUTING, 2009, pages 169 - 178
THE R PROJECT FOR STATISTICAL COMPUTING, 14 January 2014 (2014-01-14), Retrieved from the Internet <URL:http://www.r-proiect.org/index.html>

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2016056473A1 (ja) * 2014-10-07 2017-08-17 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
WO2016056473A1 (ja) * 2014-10-07 2016-04-14 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
JPWO2017033442A1 (ja) * 2015-08-26 2018-07-05 日本電気株式会社 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム
WO2017033442A1 (ja) * 2015-08-26 2017-03-02 日本電気株式会社 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体
US11050745B2 (en) 2015-08-26 2021-06-29 Nec Corporation Information processing apparatus, authentication method, and recording medium for recording computer program
JPWO2017195886A1 (ja) * 2016-05-13 2019-03-14 日本電気株式会社 認証システム、認証方法およびプログラム
WO2017195886A1 (ja) * 2016-05-13 2017-11-16 日本電気株式会社 認証システム、認証方法およびプログラム
US11063941B2 (en) 2016-05-13 2021-07-13 Nec Corporation Authentication system, authentication method, and program
JP2022009960A (ja) * 2016-05-13 2022-01-14 日本電気株式会社 認証システム、認証方法およびプログラム
JP2017207839A (ja) * 2016-05-17 2017-11-24 日本電信電話株式会社 ニューラルネットワークシステム、シェア計算装置、ニューラルネットワークの学習方法、プログラム
US11435988B2 (en) 2018-09-20 2022-09-06 Nec Corporation Conversion apparatus, conversion method and program
JPWO2020084751A1 (ja) * 2018-10-26 2021-09-24 日本電気株式会社 秘密計算サーバ、システム、秘密計算方法及びプログラム
JP7140202B2 (ja) 2018-10-26 2022-09-21 日本電気株式会社 秘密計算サーバ、システム、秘密計算方法及びプログラム
US11985232B2 (en) 2018-10-26 2024-05-14 Nec Corporation Secure computing server, system, secure computing method, and program

Also Published As

Publication number Publication date
EP3101645A4 (en) 2017-10-11
US20160330018A1 (en) 2016-11-10
CN105981088A (zh) 2016-09-28
JPWO2015114947A1 (ja) 2017-03-23
CN105981088B (zh) 2019-05-03
EP3101645A1 (en) 2016-12-07
EP3101645B1 (en) 2019-09-04
JP6321049B2 (ja) 2018-05-09
US10218495B2 (en) 2019-02-26

Similar Documents

Publication Publication Date Title
JP6321049B2 (ja) 秘密計算方法、秘密計算システム
Archer et al. From keys to databases—real-world applications of secure multi-party computation
Fabian et al. Collaborative and secure sharing of healthcare data in multi-clouds
Kaaniche et al. Data security and privacy preservation in cloud storage environments based on cryptographic mechanisms
Dauterman et al. {DORY}: An encrypted search system with distributed trust
EP2396922B1 (en) Trusted cloud computing and services framework
JP2013524352A (ja) 移動中のデータをセキュア化するためのシステムおよび方法
González-Manzano et al. ase-PoW: A proof of ownership mechanism for cloud deduplication in hierarchical environments
Srisakthi et al. Towards the design of a secure and fault tolerant cloud storage in a multi-cloud environment
Bhukya et al. Data security in cloud computing and outsourced databases
Ghori et al. Review of access control mechanisms in cloud computing
Yasmin et al. Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds
Park Secure chip based encrypted search protocol in mobile office environments
Ganorkar et al. An information security scheme for cloud based environment using 3DES encryption algorithm
Raja et al. An enhanced study on cloud data services using security technologies
Patel et al. A Survey: Secure Cloud Data Storage and Access Control System Using Blockchain
Bandanadam et al. A methodical literature survey on block chain-based public auditing in cloud: analysis on performance and door towards future scope
Chandran et al. Data management issues in cloud integrated computing: A big picture
Mishra et al. Improved cloud security approach with threshold cryptography
Saxena et al. Protecting data storage on cloud to enhance security level and processing of the data by using Hadoop
Asesh Encryption technique for a trusted cloud computing environment
Zhang et al. Achieving proof of shared ownership for the shared file in collaborative cloud applications
Pol et al. Secured cloud data sharing using auditable aggregate key
Branco et al. A New Mechanism to Preserving Data Confidentiality in Cloud Database Scenarios
Baby et al. COBBS: a multicloud architecture for better business solutions

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015559767

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2014881321

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2014881321

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15110645

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE